AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


【ChatOllama开源笔记】03 略高级的RAG 与 多向量数据库支持
发布日期:2024-04-21 09:24:10 浏览次数: 1899 来源:01麻瓜社



ChatOllama是我2024年开始创建的一款基于LLM的聊天机器人Web应用。项目开源于GitHub:

https://github.com/sugarforever/chat-ollama

【ChatOllama开源笔记】是我基于开源项目的发展整理的笔记,算是点点滴滴的分享,涵盖了技术类,非技术类话题。希望能给大家分享一些有价值的内容,并与大家产生一些共鸣

03 略高级的RAG 与 多向量数据库支持

在使用 ChatOllama 中,用户的反馈集中在两大块:

  • 问答质量

  • 多平台的支持


问答质量

就目前而言,问答质量主要依赖于RAG实现。

多平台的支持

关于多平台的支持,关注点集中在对多种模型API的支持与多种向量数据库产品的支持。

今天的分享集中在RAG的改进与多种向量数据库的支持。更具体地说,就是对向量数据库 Milvus 的支持。

01.

略高级的RAG

早期的ChatOllama基本上还是采用的naive RAG。问答质量一般。

RAG主要依赖于知识库数据的索引。在最近的一波更新中,我们对知识库数据的索引方案做了改进,采用了略高级的父子文档策略。其核心奥义是,每个文档的分块策略为二级分块。文档先拆分为较大的分块,再将大分块切为更小的子分块。每个子分块通过元数据来关联它的父分块。

相关性搜索基于子分块,而返回的数据分块是命中的子分块的父分块。

该策略的思想是在检索中返回尽可能大的文本块,以此降低语意被分块边界截断的概率。

当然,这只能一定程度上提高问答质量。不过,至少,ChatOllama又进化了!

接下来的计划是给RAG加上re-ranking。有兴趣贡献力量的同学请联系我!

02.

向量数据库Milvus的支持

早期的ChatOllama使用的是Chroma作为唯一的向量存储。

圈内目前流行的向量数据库众多。开源的包括:Chroma,Milvus,Weaviate等。商业化的包括AWS,Azure这些云端平台提供的服务,以及Pinecone等。

在ChatOllama圈内,有不少用户期望能够支持不同的向量数据库。这完全可以理解,毕竟萝卜青菜,各有所爱

在最近的更新中,我们添加了Milvus的支持。目前用户除了安装部署Milvus服务器,在ChatOllama中只需要两个环境变量就能将向量数据存储切换到Milvus。请参考以下 .env 示例:

VECTOR_STORE=chromaMILVUS_URL=http://localhost:19530

更多详情请参考文档:

https://github.com/sugarforever/chat-ollama?tab=readme-ov-file#supported-vector-databases

好了,今天的分享就到这里。用过的同学赶紧去升级新版本吧,还没用过的同学请不要错过。ChatOllama在GitHub等你!



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询