初试LightRAG

186 阅读3分钟

公司的一个新项目,甲方的要求很多,想要实现的功能也很多。在沟通的过程中,甲方一直强调实现全局意图识别,实现专家经验和具体非结构化数据的融合查询。

甲方张张嘴,牛马跑断腿。我是个后端小白,目前对大模型相关的内容还不太了解。

没办法,干中学!!

解决思路

其实也没什么思路,主要就是跟甲方聊,看他们的具体需求是什么样子。甲方的意思是想让我们使用知识图谱来做这件事(这特么在合同中也没写要构建知识图谱啊),然后说了GraphRAG,想让我们尝试一下这个工具。

经过同事的尝试,使用GraphRAG工具来构建知识图谱的时间非常长,一篇小说构建时间超过5小时,这其实满足不了我们的需求,我是个急性子,就接受不了等,必须得整个快一点儿的。

后来发现大家总把LightRAG和GraphRGA进行对比,于是,我就来尝试一下使用LightRAG。

安装运行

LightRAG网站中,写了几种部署的方式,分类两大类:

  • 安装LightRAG服务器:提供了WebUI页面和API支持,比较适合我这种新手操作。
  • 安装LightRAG Core:我理解的只包含了一些基础的功能,我看官网上的例子都是代码写的,我喜欢可视化的东西,能不写代码就不写代码。

LightRAG服务器安装官网也提供了两种方式:

  • Docker运行:本来我首选的方式是这种,本地使用WSL启动一个Docker,贼舒服,但下载镜像超级慢,我放弃了;
  • 源码安装:本地使用pip安装组件还是比较快的,最终使用这种方式来运行

开始搞

下载源码,安装依赖包

git clone https://github.com/HKUDS/LightRAG.git
cd LightRAG
# 创建虚拟环境
conda create -n LightRAG python=3.11
# 切换虚拟环境
conda activate LightRAG
# 以可编辑模式安装并支持API
pip install -e ".[api]"

配置基本信息

# 复制配置文件
cp env.example .env

# 修改配置信息
vi .env

修改LLM模型和Embedding模型的配置信息,这段官网写的比较详细,列出了几种配置

image.png

启动服务

# 简单高效的 Uvicorn 模式
lightrag-server

# 多进程 Gunicorn + Uvicorn 模式(生产模式,不支持 Windows 环境)
lightrag-gunicorn --workers 4

访问服务:http://0.0.0.0:9621

开始执行构建

我下载了一个小说:一生一世美人骨.txt 第一次上传的时候,页面上显示上传成功,但是如何刷新也刷不出来,后来看了一下后端,显示上传的文件不是UTF-8编码的。文件转换为UTF-8编码就正常了。

image.png 我这个截图是已经转换完毕的,这个小说的转换时间大概是1个小时左右,主要看使用的模型的速度。(我用的线上DeepSeek和本地Ollam的嵌入模型)

图谱展示

image.png

知识问答

image.png

我询问了好多个问题,检索的效果还是不错的。

待补充。。。 1、查询模式有好多种,都是啥含义?效果有啥不同? 2、知识图谱展示页面有可以编辑修改图谱的位置,尝试一下