Kùzu 是一款可嵌入、可扩展且极速的图数据库。 采用宽松的 MIT 许可证,源代码可在此处查看。
Kùzu 的主要特点:
- 性能与可扩展性:实现了现代最先进的图连接算法。
- 易用性:无需服务器(嵌入式架构),设置和上手非常简便。
- 互操作性:可方便地从外部列式格式、CSV、JSON 和关系型数据库中扫描和复制数据。
- 结构化属性图模型:实现了属性图模型,并增加了结构化特性。
- Cypher 支持:支持使用声明式查询语言 Cypher 对图进行便捷查询。
访问 Kùzu 的文档开始使用。
配置
Kùzu 是一个嵌入式数据库(在进程内运行),因此无需管理服务器。安装以下依赖项即可开始:创建 KuzuGraph
Kùzu 与 LangChain 的集成使得从非结构化文本创建和更新图变得非常方便,同时也可以通过利用 LangChain LLM 链能力的 Text2Cypher 管道来查询图。首先,我们创建一个 KuzuGraph 对象,将上面创建的数据库对象与 KuzuGraph 构造函数结合使用。
LLMGraphTransformer,借助 LLM 从文本中提取节点和关系。为了使图更有用,我们将定义如下 schema,使 LLM 只提取符合 schema 的节点和关系。
LLMGraphTransformer 类提供了一种将文本转换为图文档列表的便捷方式。
KuzuGraph 对象的 add_graph_documents 方法,将图文档导入 Kùzu 数据库。
include_source 参数设置为 True,以便同时创建每个实体节点与其来源文档之间的关系。
创建 KuzuQAChain
要通过 Text2Cypher 管道查询图,可以定义一个 KuzuQAChain 对象。然后,通过连接到上面 test_db 目录中存储的现有数据库,使用查询调用该链。
刷新图 schema
如果你修改或更新了图,可以查看 Text2Cypher chain 用于生成 Cypher 语句的已刷新 schema 信息。 调用链时会自动调用refresh_schema(),无需每次手动调用。
分别使用不同的 LLM 生成 Cypher 和答案
你可以分别指定cypher_llm 和 qa_llm,以使用不同的 LLM 来生成 Cypher 语句和答案。
将这些文档连接到 Claude、VSCode 等工具,通过 MCP 获取实时答案。

