最近大家在访问 Milvus.io 时是否有发现右下角的客服机器人图标?
它究竟有什么功能,又是怎么实现的呢?今天我要带大家来了解这个基于 Milvus 的 FAQ 问答机器人-MilMil。
MilMil
是由 Milvus 社区开发的一款基于 Milvus 常见问题的自动问答机器人,旨在收集用户在使用 Milvus 的过程中遇到的问题,帮助用户快速查找答案,同时扩展用户获取问题答案的途径。
该问答机器人的数据来自于 Milvus 开源以来所收到的用户问题,共有两个问答库,分别针对 Milvus 1.x 版本和 Milvus 2.x 版本。
考虑到 Milvus 社区面向全球开发者,MilMil 的问答库中导入的均为英文问答数据集。
实现
MilMil 的实现是基于 Sentence_Transformers 库中的 paraphrase-mpnet-base-v2 模型提取问题的语义向量,然后通过 Milvus 检索相似向量来获取问答库中的相似问题,以此来达到查询相似问题的目的。
具体实现过程如下图,
蓝线表示数据导入过程,黑线
表示查询过程,即获取问题答案的过程。
导入数据前我们先准备了一份问答数据集,并通过 BERT 等自然语言处理模型将问答数据集转化为语义特征向量,导入 Milvus 中。Milvus 会给每一个向量分配一个 ID,最后将这些 ID 及其对应的问答数据导入 PostgreSQL 或同类其他关系型数据库。
当用户向机器人提出问题时,系统先将用户提出的问题通过模型转化为特征向量,再通过相似性搜索在 Milvus 库中查询与该向量最相似的五条向量并获取它们的 ID。最后,通过在关系型数据库中查找这些 ID,得到对应的问题和答案,并返回给用户。
具体实现可以参考 Milvus 训练营中的 question answering system 项目。
🤖 QA system:https://github.com/milvus-io/bootcamp/tree/master/solutions/question_answering_system
使用
MilMil 目前已经在 Milvus 官网上线。打开 Milvus 官网的任一文档页面,点击右下角 Milvus 吉祥物的小鸟图标,即可在对话框中输入问题进行提问。此外,你还可以通过切换左上角 Milvus 文档的版本号来切换该 Chatbot 的问答库版本。
输入问题点击发送后,问答机器人会返回与输入问题相似的三个问题。点击 See Answers 查看问题对应的答案,或点击 See More 查看更多的相似问题。如果你没有获取到想要的答案,可以点击回复框内底部的 Put in your feedback here, 输入你的邮箱以及问题,后续社区人员会回复相关问题的文档和答案等。
非常欢迎大家在使用 Milvus 过程中,通过 MilMil 来查询问题。如有任何关于该 Chatbot 的问题或意见,也欢迎大家在社区中反馈给我们。
Github @Milvus-io|CSDN @Zilliz Planet|Bilibili @Zilliz-Planet
Zilliz 以重新定义数据科学为愿景,致力于打造一家全球领先的开源技术创新公司,并通过开源和云原生解决方案为企业解锁非结构化数据的隐藏价值。
Zilliz 构建了 Milvus 向量数据库,以加快下一代数据平台的发展。Milvus 目前是 LF AI & Data 基金会的毕业项目,能够管理大量非结构化数据集。我们的技术在新药发现、计算机视觉、推荐引擎、聊天机器人等方面具有广泛的应用。