LightRAG知识图谱使用和工作流集成

LightRAG知识图谱使用和工作流集成


全文链接:LightRAG知识图谱使用和工作流集成


lightRAG简介

LightRAG,知识图谱,简单且快速的检索增强生成(RAG)框架。

lightRAG部署

没有提供配置用的UI界面,所有配置都位于.env文件内。

docker部署

sh 复制代码
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配置嵌入模型。

yaml 复制代码
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模型、嵌入模型。

env 复制代码
## 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生成对话。

接口入参示例

json 复制代码
{
  "query": "物资装备保障和附件",
  "mode": "local",
  "only_need_context": true,
  "only_need_prompt": true,
  "include_references": true,
  "include_chunk_content": false
}

接口响应示例

json 复制代码
{
    "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图谱数据来返回对应文档块内容。

相关推荐
Java后端的Ai之路6 小时前
【AIAgent项目-AI生成PPT-09】灵活排版
前端·vue.js·人工智能·python·powerpoint
Mininglamp_27186 小时前
Human-AI Co-Writing With Full Accept/Reject Control on Every Edit
人工智能
X54先生(人文科技)6 小时前
ELR-SELLM_硅基伙伴通过对话碰撞个性涌现的推理架构_v10
人工智能·深度学习·架构·零知识证明
CV爱数码6 小时前
论文精读|RED-CNN:残差编解码网络,低剂量 CT 去噪的经典基线
网络·人工智能·算法·cnn·ct·重建·x-ray
Sailing6 小时前
【封闭结束3】ReAct 循环:从一次 Function Call 到多步 Agent
人工智能·面试·agent
Magicdata大数据6 小时前
AI辅助教学:调用大模型从教材中生成习题,方便学员练习
java·spring boot·大模型·知识图谱·neo4j·ai辅助教学
AIyy8666 小时前
AI任务在关机后继续运行的三种实现思路
人工智能
万粉变现经纪人6 小时前
如何解决 pip install 安装报错 检测到 yanked 版本需更换可用版本 问题
人工智能·python·scrapy·numpy·pandas·pyqt·pip
mudtools6 小时前
一份声明,多份产物:飞书 SDK 的 AI 工具面是怎么生成的
人工智能·.net·ai编程
xifangge20256 小时前
把 DeepSeek 搬回自己电脑:Ollama+OpenWebUI+AnythingLLM 本地私有部署(含离线一键包)
人工智能·deepseek