「第103期」通用行业|如何构建一个会反问的知识问答助手?
评论
收藏

「第103期」通用行业|如何构建一个会反问的知识问答助手?

经验分享
六六
2024-12-19 15:02·浏览量:841
六六
发布于 2024-12-18 20:34更新于 2024-12-19 15:02841浏览

你好影刀AI Power社区版上线啦~打开https://aipower.yingdao.com/login-选择社区版-输入账号密码登录即可(账号密码同影刀 RPA 社区版)~

在企业知识问答系统中,我们经常遇到这样的情况:用户提出非常模糊的问题,AI会直接基于知识库给出答案。这与人类交流方式很不一样 - 当遇到不明确的问题时,人们会先通过反问来理解真正的需求。今天我们就来聊聊如何打造一个更像人类的、会适时反问的 AI 问答助手。


解决方案

如下图所示,我们需要完成以下几个关键步骤:首先需要建立企业专属知识库,这是整个知识问答助手的基础。有了知识库后,我们要使用两个大语言模型:一个用于回复用户的问题(图中的红色方块),另一个用于根据对话历史优化用户问题(图中的黄色方块)。最后将这些环节整合成一个可循环的问答agent。


第一步:构建企业知识库

  • 收集和整理AI问答助手需要的内部知识文档。
  • 将文档上传至知识库,并且在知识库先进行初步测试。当输入完整的问题时,可以准确搜索到问题相关的知识片段。
  • 💡如何初步测试?拓展阅读:测试和使用知识库


  • 第二步:利用大语言模型组件,分别构建“问题回复专家”和“问题优化专家”
  • 这个步骤中最重要的是梳理好业务逻辑,写好prompt。
  • “问题回复专家”,需要体现出“互动式”沟通的诉求:不着急回答用户的问题,先判断知识库搜索的结果是否能直接回答用户的问题。如果无法直接回复,则需要先反问用户具体的需求。
  • “问题优化专家”,需要体现出“问题补充”的要求:需要结合上下文来优化用户最新的问题。如果根据上下文判断,用户问题已解决,则输出“已解决”。如果用户问题已经清楚了,则直接输出原始的问题。考虑到用户的问题并不是一次性就表达清楚的,因此利用上下文来优化用户的问题,继而提高后续的知识库搜索效率。


  • 第三步:基于第二步的设计,构造一个完整的AI工作流
  • 输入:上下文内容 + 用户最新的问题
  • 输出:“问题优化专家”对用户最新问题的回复

💡为什么要对上下文内容进行剪裁?考虑到上下文内容中的消息会越来越多,因此使用AI通过组件,当历史内容超过5w个字时,会自动保留最近的5万个字。


  • 第四步:将搭建好的AI工作流,整合进一个AI智能体,实现循环对话
  • 要创建一个变量用于存储用户和AI的对话内容,每次沟通都将上下文内容(历史记录)给到“问题回复专家”和“问题优化专家”,从而确保专家知道上下文情况。
  • 构建一个循环,无论用户问什么都会带上过去的历史记录


效果示意

以下是基于aipower知识库搭建的知识问答智能体,大家可以将demo换成自己企业的知识库试试哦


文中相关 AI 工作流模板(影刀AI Power企业版账号登录后可查看):

https://aipower.yingdao.com/home/template-playground/245363784548354


更多 AI Practice101: https://ying-dao.feishu.cn/wiki/EXs5wtjVai7IVrk8EHtcYLn6nbe

收藏1
全部评论1
最新
发布评论
评论