公司的一个新项目,甲方的要求很多,想要实现的功能也很多。在沟通的过程中,甲方一直强调实现全局意图识别,实现专家经验和具体非结构化数据的融合查询。
甲方张张嘴,牛马跑断腿。我是个后端小白,目前对大模型相关的内容还不太了解。
没办法,干中学!!
解决思路
其实也没什么思路,主要就是跟甲方聊,看他们的具体需求是什么样子。甲方的意思是想让我们使用知识图谱来做这件事(这特么在合同中也没写要构建知识图谱啊),然后说了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模型的配置信息,这段官网写的比较详细,列出了几种配置
启动服务
# 简单高效的 Uvicorn 模式
lightrag-server
# 多进程 Gunicorn + Uvicorn 模式(生产模式,不支持 Windows 环境)
lightrag-gunicorn --workers 4
访问服务:http://0.0.0.0:9621
开始执行构建
我下载了一个小说:一生一世美人骨.txt 第一次上传的时候,页面上显示上传成功,但是如何刷新也刷不出来,后来看了一下后端,显示上传的文件不是UTF-8编码的。文件转换为UTF-8编码就正常了。
我这个截图是已经转换完毕的,这个小说的转换时间大概是1个小时左右,主要看使用的模型的速度。(我用的线上DeepSeek和本地Ollam的嵌入模型)
图谱展示
知识问答
我询问了好多个问题,检索的效果还是不错的。
待补充。。。 1、查询模式有好多种,都是啥含义?效果有啥不同? 2、知识图谱展示页面有可以编辑修改图谱的位置,尝试一下