我之前一直有测试和使用微软 GraphRAG,微软的 GraphRAG 目前已经更新到 1.0.1,从 0.3.0 之后基本都是重构代码,仍然不支持多文件格式,距离生产依然很遥远。
DB-GPT 是蚂蚁金服开源的一款 AI 原生数据应用开发框架,具有 AWEL(Agentic Workflow Expression Language)和智能体功能,旨在通过开发多模型管理(SMMF)、Text2SQL 效果优化、RAG 框架及优化、多智能体框架协作、AWEL(智能体工作流编排)等多种技术能力,在大模型领域构建基础设施。目标是在在数据 3.0 时代,企业和开发者可以基于模型和数据库,用更少的代码构建定制化应用程序。
介绍就不过多展开了,请看下图框架。这是个什么东西啊?大杂烩吗?好全啊,什么都有,这确定是一个代码仓库能干的事情?我不敢相信这是蚂蚁金服这样的公司开源的框架,在我看来这就是个 demo,除了那张可视化图是生产级别。吐槽完毕,让我们看看 DB-GPT 中 GraphRAG。
conda create -n dbgpt python=3.10
conda activate dbgpt
gitclonehttps://github.com/eosphoros-ai/DB-GPT.git
cdDB-GPT
pipinstall-e".[default]"pipinstall-e".[openai]"pipinstall"dbgpt[graph_rag]>=0.6.1"
这里会安装特别多的东西,什么 torch transformer,依赖就装了 1.9G。
dockerpulltugraph/tugraph-runtime-arm64v8-centos7:4.5.1:latestdockerrun-d-p7070:7070-p7687:7687-p9090:9090--nametugraph_demotugraph/tugraph-runtime-arm64v8-centos7:4.5.1:latestlgraph_server-drun--enable_plugintrue
注意这里要根据自己的电脑架构去 Dockerhub 下载 tugraph,我是 Apple M1 Arm 的芯片。
cdDB-GPTmkdirmodelsandcdmodelsgitclonehttps://huggingface.co/GanymedeNil/text2vec-large-chinese
不能理解,启动一个框架要先下载嵌入是什么操作?
cp.env.template.env
我想配置为线上的免费 glm-4-flash,并且使用本地 LM Studio 的 Embedding,改了一圈.env 中的配置。启动都是报错,人都麻了。直接修改代码:
- dbgpt/model/proxy/llms/chatgpt.py
设置模型为glm-4-flash
并且配置环境变量
OPENAI_API_KEY=your api key
OPENAI_BASE_URL=https://open.bigmodel.cn/api/paas/v4
python dbgpt/app/dbgpt_server.py
可能报缺少 httpx[socket]之类的包,照着提示安装就是了。
启动过程中,还是可能看到什么 OPENAI_BASE_URL 没配置的问题,忽略。
打开网页:http://localhost:5670/,然后我们在应用管理-知识库中点击创建知识库。
在弹框中存储类型选择知识图谱,其他输入后点击下一步。
在知识库类型中选择文档,它会自动跳转到第 3 步上传。
上传这里选择上传官方文档中的 3 个文件:tugraph.md[1]、dbgpt.md[2]、osgraph.md[3].
在第四步中默认选择,点击切片处理即可,这里要等待很久,界面也不会推出,还能点击切片处理,不知道咋想的。
跑不通报错,给 neo4j 上 leiden 插件失败了,然后似乎把整个二进制 so 打印出来了,命令行界面因此都会卡起来。
这可能是系统的问题,或者不知道的原因。总之切片这里看起来是初始化图谱社区就失败了,我们在页面执行同步,在日志中将能够看到 DB-GPT 的 GraphRAG 采用的 Prompt 很简单,提取的就是典型的三元组,大约 287 个 Token,而微软的实体提取 Prompt 是 2037 个 Token。
此外,微软的 GraphRAG 提取的不是常规的三元组,他是提取的实体和关系描述,因此它的输出也会大。因此,蚂蚁的 GraphRAG 能够节约 1 倍的 Token 来源,并不是流程上的优化,而是 Prompt 的缩减。
本次解析就到这里了。虽然没能跑通,但是基本的东西已经看到了。我的观点是这个东西也只是个 Demo,而且如果你只是想用 GraphRAG,DB-GPT 不只是一个 RAG,不是一个软件,他是一个堆栈,你懂堆栈的意思吧?所以如果你只是想用 GraphRAG,我建议你直接用微软的。当然不可否认,那个可视化图确实漂亮,希望能够借鉴。
| 欢迎光临 链载Ai (https://www.lianzai.com/) | Powered by Discuz! X3.5 |