lightRAG知识图谱使用和工作流集成
lightRAG知识图谱使用和工作流集成
lightRAG知识图谱使用和工作流集成
lightRAG简介
LightRAG,知识图谱,简单且快速的检索增强生成(RAG)框架。
lightRAG部署
没有提供配置用的UI界面,所有配置都位于.env文件内。
docker部署
1
2
3
4
5
git clone https://github.com/HKUDS/LightRAG.git
cd LightRAG
cp env.example .env # 使用你的LLM和Embedding模型访问参数更新.env文件
# modify LLM and Embedding settings in .env
docker compose up
docker compose配置参考,为LightRAG配置嵌入模型。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
services:
lightrag:
container_name: lightrag
image: ghcr.io/hkuds/lightrag:latest
build:
context: .
dockerfile: Dockerfile
tags:
- ghcr.io/hkuds/lightrag:latest
ports:
- "${PORT:-9621}:9621"
volumes:
- ./data/rag_storage:/app/data/rag_storage
- ./data/inputs:/app/data/inputs
- ./config.ini:/app/config.ini
- ./.env:/app/.env
env_file:
- .env
restart: unless-stopped
extra_hosts:
- "host.docker.internal:host-gateway"
networks:
- lightrag_net
lightrag-m3e:
container_name: lightrag-m3e
image: stawky/m3e-large-api:latest
restart: always
ports:
- 23338:6008
networks:
- lightrag_net
networks:
lightrag_net:
driver: bridge
模型接入配置
在.env文件内配置和接入LLM模型、嵌入模型。
## LLM模型接入配置
LLM_BINDING=openai
LLM_MODEL=deepseek-chat
LLM_BINDING_HOST=https://api.deepseek.com/v1
LLM_BINDING_API_KEY=XXX
## 本地嵌入模型配置。使用docker compose内的嵌入模型容器id,使用openai协议方式接口访问
## 注意EMBEDDING_DIM向量维数配置,不同嵌入模型的维数不同,否则会报错
EMBEDDING_BINDING=openai
EMBEDDING_MODEL=m3e
EMBEDDING_DIM=1536
EMBEDDING_SEND_DIM=false
EMBEDDING_TOKEN_LIMIT=8192
EMBEDDING_BINDING_HOST=http://lightrag-m3e:6008/v1
EMBEDDING_BINDING_API_KEY=sk-aaabbbcccdddeeefffggghhhiiijjjkkk
lightRAG使用
- 可视化界面 浏览器访问
http://ip:9621/webui/ - 节点编辑 界面不支持对节点编辑,增加删除边的连线关系,需要接口调用方式。
- 对话 需要在右侧参数的
附加输出提示词栏位添加提升词。在webui上返回的对话,不支持返回携带引用文档块id,想要的话需要使用/query/data接口查看。
lightRAG外挂集成到工作流
多知识库分区
按业务划分多个子知识库,实现更精准的知识检索。
- 使用lightRAG workspace工作区概念划分文档。
- 部署多lightRAG实例隔离。
工作流内引用集成
在工作流节点,使用/query/data接口。只返回检索到的知识数据和引用信息,不提交给LLM生成对话。
接口入参示例
1
2
3
4
5
6
7
8
{
"query": "物资装备保障和附件",
"mode": "local",
"only_need_context": true,
"only_need_prompt": true,
"include_references": true,
"include_chunk_content": false
}
接口响应示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
{
"status": "success",
"message": "Query processed successfully",
"data": {
"entities": [
{
"entity_name": "附件",
"entity_type": "content",
"description": "预案的组成部分,包含生产经营单位概况、风险评估报告、联系方式、物资清单、图纸等相关支持性文件。",
"source_id": "chunk-108b5536a7630c66fcd6de0668657ef4",
"file_path": "XX预案.docx",
"created_at": 1765363693
}
],
"relationships": [
{
"src_id": "XX公司",
"tgt_id": "设备厂家",
"description": "设备厂家作为外部单位,可为公司提供应急时的技术保障。",
"keywords": "技术支持,设备供应",
"weight": 1.0,
"source_id": "chunk-108b5536a7630c66fcd6de0668657ef4",
"file_path": "XX预案.docx",
"created_at": 1765363869
}
],
"chunks": [
{
"reference_id": "1",
"content": "XXX内容",
"file_path": "XX预案.docx",
"chunk_id": "chunk-1bae37cfbc3f6719217a5c5a12ebf8ea"
}
],
"references": [
{
"reference_id": "1",
"file_path": "XX预案.docx"
}
]
},
"metadata": {
"query_mode": "local",
"keywords": {
"high_level": [
"物资装备保障",
"后勤管理",
"装备支援"
],
"low_level": [
"附件",
"配件",
"备件"
]
},
"processing_info": {
"total_entities_found": 40,
"total_relations_found": 48,
"entities_after_truncation": 40,
"relations_after_truncation": 48,
"merged_chunks_count": 10,
"final_chunks_count": 10
}
}
}
获取到数据后,需要改造原有的/getQuoteData等引用回显预览接口,如在块id前缀附加lightRAG标记,后端api根据id标识自动适配是本知识库的还是外挂的lightRAG图谱数据来返回对应文档块内容。
本文由作者按照 CC BY 4.0 进行授权
