官话
在RAG(Retrieval-Augmented Generation)模型中,拒识模块(或称为拒绝模块,Reject Module)是一个重要的组成部分,旨在提高生成模型在面对不相关查询或信息时的鲁棒性。RAG模型结合了检索和生成两种能力,通过在生成过程中引入外部文档来增强生成的质量和准确性。
人话
一个简单的case:你做一个客户AI,问你一些反动问题,性别歧视问题,我们是应该拒绝的。
主要作用和功能
- 过滤无关信息:拒识模块的一个主要功能是判别检索到的信息是否相关。当接收到查询时,模型首先检索相关的外部文档。如果找到的信息与查询无关或不合适,拒识模块会将这些信息排除,确保只有相关信息用于后续的生成步骤。
- 提高生成质量:通过排除不相关或低质量的信息,拒识模块帮助生成模型更专注于确切和相关的知识,从而提升生成内容的准确性和有用性。
- 降低生成错误的信息:拒识模块能够减少错误生成(hallucination)现象的发生。错误生成是指模型基于不准确或不相关的信息生成结果,拒识模块通过过滤来控制这一问题。
简单实现
假设你【xx茶叶】的检索助手,需要你帮助用户回答一些茶叶的售前和售后中的问题,需要你从用户的对话中提取出用户的检索 query 进行搜索。如果用户的问题和【茶叶】无关,你可以不进行提取;如何和【茶叶】相关,search 为 true;如果用户的问题为打招呼或者咨询茶叶相关的问题,chat 为 true;如果为闲聊,但是和茶叶无关,chat 为 false。只对用户的最后一句话进行判断,下面是一个案例:
user:你好
assistant:你好,有什么可以帮助你
user:铁观音多少钱一斤
提取结果为 {"query":"铁观音价格","search":true,"chat":true}