Neo4jVectorStore 设置与使用教程
本节将引导您完成Neo4jVectorStore的配置和使用,以便存储文档嵌入并对它们执行相似性搜索。
Neo4j 是一个开源的NoSQL图形数据库,具备完全事务处理能力(ACID),其数据以节点和关系构成的图形式存储。这种设计灵感来源于现实世界的结构,使得在处理复杂数据时能实现高效的查询性能,同时保持对开发者友好的直观易用性。
Neo4j 的向量搜索功能允许用户从大型数据集中检索向量嵌入。向量嵌入是诸如文本、图像、音频或文档等数据对象的数值表示形式。这些嵌入可以存储在节点属性中,并通过db.index.vector.queryNodes()函数进行查询。该索引利用Lucene构建的分层可导航小世界图(HNSW)算法,在向量字段上执行k近似最近邻(k-ANN)查询。
前提条件
-
运行中的Neo4j实例(版本5.15+),可通过以下方式获取:
- Docker镜像
- Neo4j Desktop
- Neo4j Aura
- Neo4j Server实例
-
如需生成存储于Neo4jVectorStore中的嵌入,则需要相应的EmbeddingClient API密钥(例如OpenAI)。
依赖项
在您的项目中添加Neo4j Vector Store依赖: