微信扫码
与创始人交个朋友
我要投稿
01.
背景
早些时候我们在社区微信群发出了一份关于 Milvus 自动问答机器人的调研问卷。
调研受到了社区同学的积极响应,很快我们就收到了很多热心用户的回复。
基于这些回复,我们整理出了 Milvus Chatbot 的形态:
以功能使用和文档查询为核心
提供聊天和搜索双形态提供
经过数月的努力,我们完成了原型验证,对接测试和集成部署,Ask AI 也在今天正式和大家见面,接下来本文将带你深入了解它的使用方式以及其背后的构建流程~
02.
如何使用?
Search 模式可以跨多信息源(如官方文档、Github、Discord 等)搜索最相关的文档,主要基于 Milvus 的向量检索能力:
Chatbot 模式提供对话聊天框,基于 Milvus 构建 RAG,利用 LLM 模型能力支持各种语言的交互和回答生成:
Chatbot 提供必要的反馈功能,以帮助我们收集反馈,持续提升 Chatbot 的回答准确度:
此外,我们在 Milvus Discord 频道上也添加了 Ask AI 功能。
有了 Ask AI 的帮助,Milvus 的用户可以更快检索到想要查询的内容,获得实时响应的技术支持与帮助,同时通过调用 LLMs 扩展了更多语言的支持。
03.
怎样构建?
Ask AI 是由 Milvus 团队与 Inkeep 联合搭建的智能文档搜索机器人,基于 Milvus 开源文档和相关技术讨论内容构建的企业级 RAG 服务,文档被切分、处理、向量化后存储在 Milvus 的云端服务器 Zilliz Cloud 中,整个 RAG 的构建流程主要包括:Ingestion -> Indexing -> Retrieval -> Generation。
Ask AI 的架构图如下图所示:
Knowledge Base 来源:
Milvus Site
https://milvus.io
Milvus Docs
https://milvus.io/docs
Milvus API Reference
https://milvus.io/api-reference
Milvus GitHub
https://github.com/milvus-io/milvus
Discord Q&A (WIP)
https://discord.com/channels/1160323594396635310/1171824088109547561
And more...
如果您有搜索其他重要 Milvus 文档的需要,欢迎在 chatbot 中反馈。
在 Knowledge Base 的处理过程中,文档被切分,并以向量的方式存储在 Zilliz Cloud 上,同时通过 metadata 的组织在 highlevel 形成一个更结构化的体系结构(例如 Hierarchy 和 Graph)。一如机器学习中的数据决定论 Garbage in garbage out,文档的质量也决定着检索召回 context 的质量,进而成为了影响问答效果的关键因素。为了得到更好的回答质量,自 Milvus 2.4 起,文档质量建设的工作一直在进行,包括内容的更新、校准和优化,文档结构的梳理与重新组织等。
索引和检索管道主要基于 Milvus 构建,可以快速精准地提供检索服务。一个典型文本段的存储在 Milvus 中表示为:
ID fields
metadata fields (scalar fields)
record id
record type
source type
dense vector
sparse vector
存储在 Milvus 中的重要元数据字段包括记录 ID、记录类型、源类型等。这些 metadata 对检索非常重要,因为根据用户的问题,某些类型的文档可能比其他类型的文档更重要。例如,文档页面可能比博客文章更重要,官方指南可能比 discord 里的评论更重要。在检索过程中,会对 Milvus 进行多种不同组合的向量检索,并且通过不同的 limits 和 filters 条件获取到最有用的结果。
一个典型的 Retrieval 处理步骤包括:
收到用户的问题
用户问题的解析和意图分解
将用户的问题转为向量表示
执行向量搜索
检索到相关的文档
必要时会执行多路检索和重排序,是否不相关
基于传统 keyword 的检索(如 bm25, tf-idf 等)
Dense vector search
Sparse vector search
重排序策略(如 colbert)
文档输入和 prompt 指令
“You are an AI Chatbot for Milvus”
在以上步骤完成后,就是通过调用 LLMs 来生成回答结果,LLMs 需要根据预期效果(质量和延迟等)和成本预算进行综合评估,目前我们选择采用的模型是 gpt-4o。
性能
Milvus 聊天机器人的响应时间通常为 3-6 秒,这个时间主要取决于检索和 LLM 模型的延迟。
在使用 Milvus 聊天机器人进行特定问答时,可能会有几十个向量搜索,因此性能,尤其是服务并发请求的能力非常重要。
在搜索模式下(主要是向量数据库的检索),用户的端到端延迟应小于 500 毫秒,则不会影响到用户相对丝滑的使用体验。
特性
可区分出无关问题(置信度低),并可以检测出毒性问题(如有害内容)
当问题无法回答可以上报 Support,问题可进行标记,具体问题的回答也可以通过人机协同的方式进行优化
后台通过 LLMs 对聊天会话进行分析,分析热点问题和趋势
在考虑了这些性能和特性指标后,Ask AI 就完成了基本搭建流程,这里欢迎大家的试用与反馈!
04.
此次探索既是 Milvus 团队对 RAG 场景的进一步尝试,也是对 Zilliz Cloud 的实战练兵,代表了 AI 时代下我们拥抱变化的决心。在提升用户体验、提升文档质量的同时,Ask AI 项目在未来将持续投入,并探索一些新的内容:
根据用户反馈,提升文档质量以及 RAG 回答的准确率
在 Zilliz Cloud 官方文档和云产品中集成该功能
探索 LLM 在技术要求更严苛的 Support 场景中的应用,解决包括准确性、数据隐私安全和权限在内的各类问题
利用 Serverless 和 GPTCache 技术进一步优化 Chatbot 的运营成本
在与业内专家和分析师的交流中我们得出共识,随着大模型在知识库检索场景的广泛落地,问答机器人等应用会越发普及,RAG 应用(如知识库问答、网页客服、售后技术支持等)将在近两年全面开花结果,未来产品的介绍、客服、助手都会结合 RAG 的能力,提升用户使用体验。Milvus 团队凭借其多年在非结构化数据检索领域积累的经验,将赋能更多 RAG 解决方案提供商以提供成本低廉且优质高效的 RAG Infra 服务。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-11-18
RPA与AI的结合:变革业务自动化的协同效应丨AI时刻
2024-11-18
替代 NL2SQL,Agent+业务语义的创新产品设计
2024-11-16
腾讯分析型 BI+AI 产品 OlaChat 创新探索
2024-11-12
国产 BI 的“耻辱”:QuickBI 的“后发优势”(删改版)
2024-11-12
让数据分析像聊天一样简单|观远ChatBI来了
2024-11-12
量化投资4.0:利用自动化、可解释和知识驱动的人工智能进行工程化量化投资
2024-11-12
电厂 | 引入正版论文库,知乎拿到了一张AI搜索的好牌
2024-11-11
大模型时代,BI系统的演化方向
2024-06-20
2024-07-03
2024-06-14
2024-06-06
2024-06-14
2024-06-21
2024-06-16
2024-06-07
2024-07-21
2024-07-01