当前位置: 首页 > article >正文

QA对(question-answer pair)、知识库alpha(混合检索策略)、以及知识库kms(召回分值阈值)

AI系统中三个关键部分的设计:QA对(question-answer pair)、知识库alpha(混合检索策略)、以及知识库kms(召回分值阈值),并介绍了如何结合这些部分来处理用户问题。

1. QA对(question-answer pair)

QA对是系统中用于处理特定常见问题和回答的直接匹配方式。比如用户输入一个常见问题“你是谁?”,系统可以直接匹配预设的答案,而不需要经过复杂的检索或模型生成。这种方式有几个好处:

  • 准确性和幂等性:QA对的回答是预定义的,确保每次触发都能得到一致的答案。
  • 最高优先级:如果系统在用户问题中匹配到QA对,它会立即返回预设的回答,并停止进一步的处理,比如不经过检索(RAG管道)或大语言模型的生成。因此,QA对的触发比其他处理流程优先级更高。

分值要求:为了保证准确触发,QA对的匹配分数门槛较高(如0.95),表示只有当用户输入的问题非常接近预定义的QA对时,才会触发这条规则。

2. 知识库alpha(混合检索策略)

知识库alpha中使用了混合检索,这意味着系统同时使用了BM25和相似度匹配两种不同的检索方式来查找与用户问题相关的知识库内容。

  • BM25:BM25是一种基于关键字的传统检索方式,适合处理书面化的用户输入。例如,如果用户输入的内容是非常正式、明确的书面表达,BM25能够很好地匹配出相关内容,因此可以设置较低的分值要求。

  • 相似度匹配:相似度匹配适合处理用户输入的口语化或模糊问题。它利用语义理解和嵌入向量来找到与用户问题语义上相似的内容。因此,当用户输入的问题不太正式或表述模糊时,相似度匹配能更好地找到相关信息,分值要求可以相对提高。

这意味着系统可以根据用户输入的特性动态调整BM25和相似度匹配的权重,以适应不同的场景。

3. 知识库kms(召回分值阈值)

Kms代表知识库召回的最低分值阈值(knowledge-min-score)。在知识检索过程中,系统会对召回的知识库内容进行评分,系统只有当召回的chunk(知识片段)分值超过阈值时,才会将这些内容与用户的问题送入大模型进行生成处理。

  • 高于kms的情况:如果系统召回的chunk分值高于设定的kms阈值(如0.61),这些chunk将会被用于大模型的生成处理,最终给出更详细的回答。

  • 低于kms的情况:如果所有召回的chunk分值都低于kms,那么系统不会进入大模型生成流程,而会根据配置的**“回复方式”**进行不同的操作:

4. 回复方式

系统在召回的chunk分值低于kms时有两种主要的处理方式:

  • 自定义回复:系统返回一个自定义的回复,例如“抱歉,知识库里面暂时没有该问题的答案!” 这种方式非常严谨,确保系统不会给出错误的或幻觉性的回答,是应对大模型幻觉的有效手段。

  • LLM辅助回答:系统将用户的问题直接交给大语言模型(LLM)进行生成回答。虽然这种方式更灵活,但由于没有足够的知识库支持,生成的内容可能会出现幻觉,即生成不准确或错误的信息。这种处理方式适用于一些对答案准确性要求不高的场景。

总结

整个流程的设计通过QA对、混合检索(BM25+相似度匹配)、kms分值阈值以及不同的回复方式,为用户问题提供灵活的处理机制,以确保在不同场景下的准确性和效率。


http://www.kler.cn/news/342124.html

相关文章:

  • springboot如何集成mybatis?
  • 喜讯!迈威通信TSN产品通过“时间敏感网络(TSN)产业链名录计划”评测,各项指标名列前茅
  • 使用vscode调试wails项目(golang桌面GUI)
  • Python+PyCharm安装和配置(详细步骤)
  • 【C++】map详解(键值对的概念,与multimap的不同)
  • awk脚本和python脚本版本
  • 打破常规,BD仓储物流的效能提升!
  • python xml的读取和写入
  • 【C++网络编程】(一)Linux平台下TCP客户/服务端程序
  • 学习小课堂
  • ssm基于Javaee的影视创作论坛的设计与实现
  • SpringBoot高级并发实践:自定义线程池与@Async异步调用深度解析
  • 网络风暴产生原因、危害、预防和解决方法
  • 【书生浦语实战】茴香豆企业级知识库问答工具-搭建Dify问答助手
  • k8s 1.28.2 集群部署 MinIO 分布式存储
  • 路径跟踪之导航向量场——二维导航向量场
  • 实景三维赋能地下管线综合智管应用
  • 构建宠物咖啡馆:SpringBoot框架的实现策略
  • 导师面试题库
  • 使用纯CSS和JavaScript来实现一个转盘抽奖效果(设置机率)