大家好,我是袋鼠帝
一直以来我写了不少AI知识库相关的分享。
但是很多朋友可能都面临一个痛点:
就是满怀期待的把资料“投喂”进知识库后,以为大模型能把所有资料完整“消化吸收”了。结果一测试发现问答效果不尽如人意。
咱们得先明白,RAG它不是银弹,不是全能的,它也有局限性,并不适合所有场景。
RAG的原理其实网上已经有非常多的资料了,这里就不详细赘述了。
下面这个图,形象的展示了RAG的工作原理
1.文件分片:文件分片本身不是局限性,但是分片导致原本连贯的内容被分割,就会导致后期检索到的内容信息缺失。
2.检索不精确:因为RAG是使用向量比对的方式(数学的维度)来查询语义相近的内容,但是这也会导致有时候匹配的内容可能并不是我们想要的信息。
3.没有全局概念:由于知识库里面的文件都是分片存储,每次回答只会检索部分内容,
所以,很难准确回答一些全局性的问题(或者说统计型的问题),比如知识库中的老师一共有多少位,一季度有多少个订单等等。
第一个问题(文件分片导致上下文丢失)其实在我之前的一篇文章里面已经给出了一个解决方案。
就是大力出奇迹:使用超长上下文的模型,把相关的不相关的内容出来都检索丢进去,给大模型自己判别,所以这个模型还必须有超强的"大海捞针"能力。
感兴趣的朋友可以看看。
超长上下文开源模型minimax-01,支持400万tokens
袋鼠帝,公众号:袋鼠帝AI客栈dify v1.1.0接入这个开源LLM,知识库效果直接起飞,真可以封神了!【喂饭级教程】
那么剩下的两个问题,可以搭配传统的数据库来解决。
其实一个月前就有朋友给我提过这个方案。
但是,那时候,我觉得这个方案还没有很成熟,而且操作起来较为繁琐,所以就一直没有分享。
直到最近MCP的大火,至少让AI大模型接入数据库的门槛又降低不少。
以及我平时最最喜欢用的字节旗下的AI IDE神器:Trae,终于终于支持MCP了!
国内版Trae下载地址:
https://www.trae.com.cn/
海外版Trae下载地址(需要科学上网):
https://www.trae.ai/
它直接就内置了数据库的MCP-Server,这意味着我们可以通过MCP把数据库一键接入大模型。
本期将主要以PostgreSQL这个简单、轻量的关系型数据库为例,带大家接入(同时它应该也能满足大部分的使用场景了)。
声明,数据库方案更适合表格类型的数据,文本建议参考“大力出奇迹方案“
另外使用Trae的MCP能力,也需要先在本地安装Python环境、Node环境(这块网上资料很多),也可以问AI~
好了,接下来我们开始喂饭。
一、安装PostgreSQL
PostgreSQL官网下载地址:
https://www.postgresql.org/download/
自行选择合适的平台下载即可(跟着流程点点点)
然后我们在安装一个图形化界面,方便操作数据库。
我们选择这个免费的dbeaver
下载地址:https://dbeaver.io/download/
打开dbeaver,点击右上角的小+号,选中PostgreSQL添加
其他 默认配置即可,在下图,我们只需要填上安装PostgreSQL过程中的自己设置的密码,点击完成
添加好本地的PostgreSQL之后,左边会出现一个小图标,双击一下连接数据库。
可能会要求安装连接数据库的相关驱动,跟着步骤安装即可
驱动安装成功之后,可以看到数据库大象图标那里有个小勾。
Trae中配置PostgreSQL MCP
打开Trae,按照下图方式,如果第一次没有MCP,会提示需要添加MCP
接着就进入到MCP市场了,添加PostgreSQL
这里特别注意
上面复制的PostgreSQL url不能直接粘贴使用,需要参考它给出的格式调整一下
postgresql://postgres:密码@127.0.0.1:5432/postgres
其他的都一样,大家把连接中的密码改成自己的就行
上一步,点击确认后
使用mac的朋友如果报这种错,说明相关路径没有权限
可以在终端运行一下这个命令:
sudochown-R $(whoami) ~/.npm
PS:其他任何报错都可以丢给Trae,让AI帮你解决
直到PostgreSQL MCP变为可使用状态,就代表配置好了
并且,为了安全,只提供了查询功能,无法进行增、删、改。
测试PostgreSQL MCP效果
接下来我们需要把测试数据导入PostgreSQL中
我准备了一个Excel表格
是我之前在某宝爬取的一些内存条商品信息,一共135行
咱们直接用前两天刚刚发布的「扣子空间」,让它把这个表格转为可直接导入PostgreSQL的sql文件。
提示词:
我想把这个Excel导入PostgreSQL(表需要新建),根据这个Excel的内容,帮我生成导入所需的sql文件,
记得把列名翻译成英文,考虑字段的字符串长度是否够等因素,生成后供我下载。
说实话,扣子空间真挺好用的,半分钟不到就搞定了
如果是在以前,估计得写代码,或者用Excel表达式吭哧吭哧搞半天
直接把生成的sql文件下载下来
按照下图的步骤,把数据导入PostgreSQL数据库中
可以按下图方式查看导入成功的数据
然后我们就可以开始在Trae中测试了
注意:由于大模型并不知道表格的结构和信息,我们需要把表格结构连同问题一起发过去(如果是智能体就可以把表格结构放到系统提示词中)
表格结构在之前生成的sql文件里面可以找到(如下图红框中这段)
查询结果完全正确~
这个方案是由大模型写sql语句来进行查询,所以,查询精度是可以保证的。
亲测,Claude3.7还是比新版DeepSeek好用。。。至少sql语句写的更符合要求。
这个方案还可以结合RAG一起用:比如做一个工作流,搞一个大模型在最前面判断,用户问题如果是全局,或者统计性质的,就走数据库。
否则就走RAG,这样结合起来,将会极大的提升整个知识库的检索精度。
写到这里,我不经想起当年刚做程序员的时候,有几个月每天都写各种复杂的sql,从生疏,到炉火纯青,现在看来好像没有多大用处了,因为AI完全可以秒出。
不经感叹,技术发展的真快,而我们,好像只能不断紧跟时代的步伐,才不至于被淘汰。
文章来自于微信公众号“袋鼠帝AI客栈”,作者 :袋鼠帝
【开源免费】Browser-use 是一个用户AI代理直接可以控制浏览器的工具。它能够让AI 自动执行浏览器中的各种任务,如比较价格、添加购物车、回复各种社交媒体等。
项目地址:https://github.com/browser-use/browser-use
【开源免费】n8n是一个可以自定义工作流的AI项目,它提供了200个工作节点来帮助用户实现工作流的编排。
项目地址:https://github.com/n8n-io/n8n
在线使用:https://n8n.io/(付费)
【开源免费】DB-GPT是一个AI原生数据应用开发框架,它提供开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作、AWEL(智能体工作流编排)等多种技术能力,让围绕数据库构建大模型应用更简单、更方便。
项目地址:https://github.com/eosphoros-ai/DB-GPT?tab=readme-ov-file
【开源免费】VectorVein是一个不需要任何编程基础,任何人都能用的AI工作流编辑工具。你可以将复杂的工作分解成多个步骤,并通过VectorVein固定并让AI依次完成。VectorVein是字节coze的平替产品。
项目地址:https://github.com/AndersonBY/vector-vein?tab=readme-ov-file
在线使用:https://vectorvein.ai/(付费)
【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。
项目地址:https://github.com/Significant-Gravitas/AutoGPT
【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。
项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md
【开源免费】FASTGPT是基于LLM的知识库开源项目,提供开箱即用的数据处理、模型调用等能力。整体功能和“Dify”“RAGFlow”项目类似。很多接入微信,飞书的AI项目都基于该项目二次开发。
项目地址:https://github.com/labring/FastGPT
【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。
项目地址:https://github.com/microsoft/graphrag
【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。
项目地址:https://github.com/langgenius/dify
【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。
项目地址:https://github.com/infiniflow/ragflow/tree/main
【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目
项目地址:https://github.com/phidatahq/phidata
【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。
项目地址:https://github.com/TaskingAI/TaskingAI
【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。
项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md
在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0