前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ask AI 上线!构建企业级的 Chatbot

Ask AI 上线!构建企业级的 Chatbot

作者头像
Zilliz RDS
发布2024-06-13 18:39:02
850
发布2024-06-13 18:39:02
举报
01.背景

早些时候我们在社区微信群发出了一份关于 Milvus 自动问答机器人的调研问卷。

调研受到了社区同学的积极响应,很快我们就收到了很多热心用户的回复。

基于这些回复,我们整理出了 Milvus Chatbot 的形态:

  • 以功能使用和文档查询为核心
  • 提供聊天和搜索双形态提供

经过数月的努力,我们完成了原型验证,对接测试和集成部署,Ask AI 也在今天正式和大家见面,接下来本文将带你深入了解它的使用方式以及其背后的构建流程~

02.如何使用?

视频地址

官方文档

Ask AI的入口在官方文档站右下角,点开后有Ask AI和Search两种模式。

Search 模式可以跨多信息源(如官方文档、Github、Discord 等)搜索最相关的文档,主要基于 Milvus 的向量检索能力:

Chatbot 模式提供对话聊天框,基于 Milvus 构建 RAG,利用 LLM 模型能力支持各种语言的交互和回答生成:

Chatbot 提供必要的反馈功能,以帮助我们收集反馈,持续提升 Chatbot 的回答准确度:

Discord

此外,我们在 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 的架构图如下图所示:

  1. Ingestion

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 起,文档质量建设的工作一直在进行,包括内容的更新、校准和优化,文档结构的梳理与重新组织等。

  1. Indexing

索引和检索管道主要基于 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 条件获取到最有用的结果。

  1. Retrieval

一个典型的 Retrieval 处理步骤包括:

  1. 收到用户的问题
  2. 用户问题的解析和意图分解
  3. 将用户的问题转为向量表示
  4. 执行向量搜索
  5. 检索到相关的文档
  6. 必要时会执行多路检索和重排序,是否不相关
    • 基于传统 keyword 的检索(如 bm25, tf-idf 等)
    • Dense vector search
    • Sparse vector search
    • 重排序策略(如 colbert)
  7. 文档输入和 prompt 指令
    • “You are an AI Chatbot for Milvus”

在以上步骤完成后,就是通过调用 LLMs 来生成回答结果,LLMs 需要根据预期效果(质量和延迟等)和成本预算进行综合评估,目前我们选择采用的模型是 gpt-4o。

  1. 其他指标

性能

  • 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 服务。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ZILLIZ 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Discord
  • 概览
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档