文档 1.5 版本已不再积极维护,你当前浏览的是一份归档快照。
最新文档请参阅 最新版本 。
HugeGraph-LLM 本文为中文翻译版本,内容基于英文版进行,我们欢迎您随时提出修改建议。我们推荐您阅读 AI 仓库 README 以获取最新信息,官网会定期同步更新。
连接图数据库与大语言模型的桥梁
AI 总结项目文档:Ask DeepWiki
🎯 概述 HugeGraph-LLM 是一个功能强大的工具包,它融合了图数据库和大型语言模型的优势,实现了 HugeGraph 与 LLM 之间的无缝集成,助力开发者构建智能应用。
核心功能 🏗️ 知识图谱构建 :利用 LLM 和 HugeGraph 自动构建知识图谱。 🗣️ 自然语言查询 :通过自然语言(Gremlin/Cypher)操作图数据库。 🔍 图增强 RAG :借助知识图谱提升问答准确性(GraphRAG 和 Graph Agent)。 更多源码文档,请访问我们的 DeepWiki 页面(推荐)。
📋 环境要求 重要
Python :3.10+(未在 3.12 版本测试)HugeGraph Server :1.3+(推荐 1.5+)UV 包管理器 :0.7+🚀 快速开始 请选择您偏好的部署方式:
方案一:Docker Compose(推荐) 这是同时启动 HugeGraph Server 和 RAG 服务的最快方法:
1 # 1. 设置环境
2 cp docker/env.template docker/.env
3 # 编辑 docker/.env,将 PROJECT_PATH 设置为您的实际项目路径
4
5 # 2. 部署服务
6 cd docker
7 docker-compose -f docker-compose-network.yml up -d
8
9 # 3. 验证部署
10 docker-compose -f docker-compose-network.yml ps
11
12 # 4. 访问服务
13 # HugeGraph Server: http://localhost:8080
14 # RAG 服务: http://localhost:8001 方案二:独立 Docker 容器 如果您希望对各组件进行更精细的控制:
可用镜像 hugegraph/rag :开发镜像,可访问源代码hugegraph/rag-bin :生产优化的二进制文件(使用 Nuitka 编译)
1 # 1. 创建网络
2 docker network create -d bridge hugegraph-net
3
4 # 2. 启动 HugeGraph Server
5 docker run -itd --name= server -p 8080:8080 --network hugegraph-net hugegraph/hugegraph
6
7 # 3. 启动 RAG 服务
8 docker pull hugegraph/rag:latest
9 docker run -itd --name rag \
10 -v /path/to/your/hugegraph-llm/.env:/home/work/hugegraph-llm/.env \
11 -p 8001:8001 --network hugegraph-net hugegraph/rag
12
13 # 4. 监控日志
14 docker logs -f rag 方案三:从源码构建 适用于开发和自定义场景:
1 # 1. 启动 HugeGraph Server
2 docker run -itd --name= server -p 8080:8080 hugegraph/hugegraph
3
4 # 2. 安装 UV 包管理器
5 curl -LsSf https://astral.sh/uv/install.sh | sh
6
7 # 3. 克隆并设置项目
8 git clone https://github.com/apache/incubator-hugegraph-ai.git
9 cd incubator-hugegraph-ai/hugegraph-llm
10
11 # 4. 创建虚拟环境并安装依赖
12 uv venv && source .venv/bin/activate
13 uv pip install -e .
14
15 # 5. 启动 RAG 演示
16 python -m hugegraph_llm.demo.rag_demo.app
17 # 访问: http://127.0.0.1:8001
18
19 # 6. (可选) 自定义主机/端口
20 python -m hugegraph_llm.demo.rag_demo.app --host 127.0.0.1 --port 18001 额外设置(可选)
1 # 下载 NLTK 停用词以优化文本处理
2 python ./hugegraph_llm/operators/common_op/nltk_helper.py
3
4 # 更新配置文件
5 python -m hugegraph_llm.config.generate --update 💡 用法示例 知识图谱构建 交互式 Web 界面 使用 Gradio 界面进行可视化知识图谱构建:
输入选项:
文本 :直接输入文本用于 RAG 索引创建文件 :上传 TXT 或 DOCX 文件(支持多选)Schema 配置:
自定义 Schema :遵循我们模板 的 JSON 格式HugeGraph Schema :使用现有图实例的 Schema(例如,“hugegraph”)代码构建 使用 KgBuilder 类通过代码构建知识图谱:
1 from hugegraph_llm.models.llms.init_llm import LLMs
2 from hugegraph_llm.operators.kg_construction_task import KgBuilder
3
4 # 初始化并链式操作
5 TEXT = "在此处输入您的文本内容..."
6 builder = KgBuilder ( LLMs () . get_chat_llm ())
7
8 (
9 builder
10 . import_schema ( from_hugegraph = "talent_graph" ) . print_result ()
11 . chunk_split ( TEXT ) . print_result ()
12 . extract_info ( extract_type = "property_graph" ) . print_result ()
13 . commit_to_hugegraph ()
14 . run ()
15 ) 工作流:
graph LR
A[导入 Schema] --> B[文本分块]
B --> C[提取信息]
C --> D[提交到 HugeGraph]
D --> E[执行工作流]
style A fill:#fff2cc
style B fill:#d5e8d4
style C fill:#dae8fc
style D fill:#f8cecc
style E fill:#e1d5e7放大图表
图增强 RAG 利用 HugeGraph 进行检索增强生成:
1 from hugegraph_llm.operators.graph_rag_task import RAGPipeline
2
3 # 初始化 RAG 工作流
4 graph_rag = RAGPipeline ()
5
6 # 执行 RAG 工作流
7 (
8 graph_rag
9 . extract_keywords ( text = "给我讲讲 Al Pacino 的故事。" )
10 . keywords_to_vid ()
11 . query_graphdb ( max_deep = 2 , max_graph_items = 30 )
12 . merge_dedup_rerank ()
13 . synthesize_answer ( vector_only_answer = False , graph_only_answer = True )
14 . run ( verbose = True )
15 ) RAG 工作流:
graph TD
A[用户查询] --> B[提取关键词]
B --> C[匹配图节点]
C --> D[检索图上下文]
D --> E[重排序结果]
E --> F[生成答案]
style A fill:#e3f2fd
style B fill:#f3e5f5
style C fill:#e8f5e8
style D fill:#fff3e0
style E fill:#fce4ec
style F fill:#e0f2f1放大图表
🔧 配置 运行演示后,将自动生成配置文件:
环境 :hugegraph-llm/.env提示 :hugegraph-llm/src/hugegraph_llm/resources/demo/config_prompt.yaml说明
使用 Web 界面时,配置更改会自动保存。对于手动更改,刷新页面即可加载更新。
LLM 提供商支持 :本项目使用 LiteLLM 实现多提供商 LLM 支持。
📚 其他资源 图可视化 :使用 HugeGraph Hubble 进行数据分析和 Schema 管理API 文档 :浏览我们的 REST API 端点以进行集成社区 :加入我们的讨论并为项目做出贡献许可证 :Apache License 2.0 | 社区 :Apache HugeGraph