返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

【ChatOllama开源笔记】03 略高级的RAG 与 多向量数据库支持

[复制链接]
链载Ai 显示全部楼层 发表于 昨天 09:32 |阅读模式 打印 上一主题 下一主题


ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);visibility: visible;">ChatOllama是我2024年开始创建的一款基于LLM的聊天机器人Web应用。项目开源于GitHub:

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);visibility: visible;">https://github.com/sugarforever/chat-ollama

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);visibility: visible;">【ChatOllama开源笔记】是我基于开源项目的发展整理的笔记,算是点点滴滴的分享,涵盖了技术类,非技术类话题。希望能给大家分享一些有价值的内容,并与大家产生一些共鸣

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);visibility: visible;text-align: center;">ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 19.125px;letter-spacing: 0.544px;text-align: center;text-wrap: wrap;background-color: rgb(255, 255, 255);visibility: visible;">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等你!


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ