用途:在 Neo4j 上用 neo4j-graphrag Python 包构建 GraphRAG 检索管道,包括检索器选型、编写 retrieval_query 图增强上下文、把检索器与 LLM 组合成管道、用 ToolsRetriever 做 LLM 路由多检索器、排查检索质量低的问题,以及与 LangChain、LlamaIndex、Haystack 集成。
主要能力:提供检索器选型表——有全文索引用 Hybrid 变体,否则用 Vector 变体;需要向量查找后做图遍历用 Cypher 变体;自然语言转 Cypher 用 Text2CypherRetriever;LLM 路由多检索器用 ToolsRetriever;向量存外部库用 Weaviate/Pinecone/Qdrant 检索器。支持 filters 预过滤、query_params 参数化、order_by、自定义提示模板、消息历史、return_context 与 response_fallback。
使用方式:安装如 pip install neo4j-graphrag[openai],要求 Python >= 3.10、neo4j >= 5.17.0。先用 Cypher 创建向量索引与全文索引并确认 state = 'ONLINE',再实例化检索器与 LLM,通过 GraphRAG.search 查询。retrieval_query 会自动注入 node 与 score,必须包含 RETURN 且 score 需出现在 RETURN 中,不可重新声明。
限制:Text2CypherRetriever 自 v1.16.0 起对生成的 Cypher 先执行 EXPLAIN,写操作会抛 Text2CypherRetrievalError。v1.19 起组件移出 experimental 命名空间,旧导入会告警并在 2.0 移除;SimpleKGPipeline 仍在 experimental.pipeline.kg_builder。neo4j_graphrag.pipeline 是 v1.21+ 的新数据流 DSL,与 SimpleKGPipeline 无关。文档列出常见错误与修复,如索引未 ONLINE、维度不匹配、缺少 score 等。具体价格与平台支持暂未提供。