文档 1.3 版本已不再积极维护,你当前浏览的是一份归档快照。 最新文档请参阅 最新版本。
HugeGraph-Ai Quick Start (Beta)
1 HugeGraph-Ai 概述
hugegraph-ai 旨在探索 HugeGraph 与人工智能(AI)的融合,包括与大模型结合的应用,与图机器学习组件的集成等,为开发者在项目中利用 HugeGraph 的 AI 能力提供全面支持。
2 环境要求
- python 3.8+
- hugegraph 1.0.0+
3 准备工作
- 启动 HugeGraph 数据库,你可以通过 Docker 来实现。请参考这个链接获取指引。
- 启动 gradio 交互式 demo,你可以通过以下命令启动,启动后打开 http://127.0.0.1:8001
- 配置 HugeGraph 数据库连接信息和 LLM 模型信息,可以通过两种方式配置:
- 配置
./hugegraph-llm/src/config/config.ini文件 - 在 gradio 中,分别完成 LLM 和 HugeGraph 的配置后,点击
Initialize configs,将返回初始化后的完整配置文件。如图所示:
- 配置
- 离线下载 NLTK stopwords
4 使用说明
4.1 通过 LLM 在 HugeGraph 中构建知识图谱
4.1.1 通过 gradio 交互式界面构建知识图谱
- 参数说明:
- Text: 输入的文本。
- Schema:接受以下两种类型的文本:
- 用户定义的 JSON 格式模式。
- 指定 HugeGraph 图实例的名称,它将自动提取图的模式。
- Disambiguate word sense:是否进行词义消除歧义。
- Commit to hugegraph:是否将构建的知识图谱提交到 HugeGraph 服务器

4.1.2 通过代码构建知识图谱
- 完整代码
- 时序图

- 初始化: 初始化 LLMs 实例,获取 LLM,然后创建图谱构建的任务实例
KgBuilder,KgBuilder 中定义了多个 operator,用户可以根据需求自由组合达到目的 。(tip:print_result()可以在控制台打印每一步输出的结果,不影响整体执行逻辑)
- 导入 Schema:使用
import_schema方法导入, 支持三种模式:- 从 HugeGraph 实例导入,指定 HugeGraph 图实例的名称,它将自动提取图的模式。
- 从用户定义的模式导入,接受用户定义的 JSON 格式模式。
- 从提取结果导入(即将发布)
- 提取三元组:使用
extract_triples方法从文本中提取三元组。
- 消除词义歧义:使用
disambiguate_word_sense方法消除词义歧义。
- 提交到 HugeGraph:使用
commit_to_hugegraph方法提交构建的知识图谱到 HugeGraph 实例。
- 运行:使用
run方法执行上述操作。
4.2 基于 HugeGraph 的检索增强生成(RAG)
4.1.1 通过 gradio 交互问答
- 首先点击
Initialize HugeGraph test data按钮,初始化 HugeGraph 数据。
- 然后点击
Retrieval augmented generation按钮,生成问题的答案。
4.1.2 通过代码构建 Graph RAG
- 完整代码
- extract_keyword: 提取关键词, 并进行近义词扩展
- query_graph_for_rag: 从 HugeGraph 中检索对应的关键词,及其多度的关联关系
- max_deep: hugegraph 检索的最大深度
- max_items: hugegraph 最大返回结果数
- synthesize_answer: 针对提问,汇总结果,组织语言回答问题。
- run: 执行上述操作。