FastGPT 引申:如何基于 LLM 判断知识库的好坏

文章目录

  • [如何基于 LLM 判断知识库的好坏](#如何基于 LLM 判断知识库的好坏)
    • 方法概述
    • [示例 Prompt](#示例 Prompt)
      • [声明抽取器 Prompt](#声明抽取器 Prompt)
      • [声明检查器 Prompt](#声明检查器 Prompt)
    • 判断机制
    • 总结

下面介绍如何基于 LLM 判断知识库的好坏,并展示了如何利用声明抽取器和声明检查器这两个 prompt 构建评价体系。


如何基于 LLM 判断知识库的好坏

在知识库构建与维护过程中,确保信息的准确性、可验证性和一致性是至关重要的。借助大语言模型(LLM)的强大自然语言处理能力,我们可以设计一个两步走的机制------先抽取文本中的声明,再对抽取的声明进行验证。本文将介绍这一方法,并通过两个具体的 prompt 展示如何利用 LLM 来判断知识库的质量。

方法概述

主要分为两个阶段:

  1. 声明抽取

    利用 LLM 将给定文本中的信息拆解为独立、原子化的声明。每个声明需要满足以下要求:

    • 以三元组(主语,谓语,宾语)的形式呈现;
    • 声明之间互不干扰,且每个声明都是可独立验证的;
    • 不添加任何推理或解释;
    • 每行输出一个声明,同时需要挖掘问题中隐含的声明。
  2. 声明检查

    依据参考文本(即标准答案)来验证抽取的声明是否准确。验证标准包括:

    • ENTAILMENT(蕴含):声明可以从参考文本中直接推导或验证;
    • CONTRADICTION(矛盾):声明与参考文本存在矛盾;
    • NEUTRAL(中立):参考文本既不支持也不反对该声明。

这种基于声明抽取和检查的流程,可以帮助我们评估知识库中的信息是否经过严谨提取和验证,从而反映出知识库的整体质量。

示例 Prompt

下面展示两个具体的 prompt 示例,分别对应声明抽取和声明检查的任务:

声明抽取器 Prompt

markdown 复制代码
你是一个专业的声明抽取器。你的任务是从给定文本中提取独立的、原子化的声明。 

文本:
Hive表,多个分表怎么查

请按照以下格式提取声明: 
1.每个声明应该是一个完整的三元组(主语,谓语,宾语) 
2.每个声明应该是独立的、可验证的 
3.不要添加任何推理或解释 
4.每行输出一个声明
5.提取问题中隐含的声明

提取的声明:

该 prompt 要求 LLM 将输入文本拆分成若干个独立的、格式化的三元组声明,这样的处理能够帮助我们清晰地看到文本中蕴含的各个知识点。

声明检查器 Prompt

markdown 复制代码
你是一个专业的声明检查器。你的任务是验证给定声明的准确性。

声明(来自系统回复):
1. (用户, 想查询, Hive表)
2. (Hive表, 包含, 多个分表)

参考文本(标准答案):
查询Spark创建的Hive表,多个分表怎么查

请对每个声明进行验证,并按照以下标准进行判断:
- ENTAILMENT(蕴含):声明可以从参考文本中直接推导或验证
- CONTRADICTION(矛盾):声明与参考文本矛盾
- NEUTRAL(中立):参考文本既不支持也不反对该声明

请按照以下格式判断声明: 
1.不要添加任何推理或解释 
2.每行输出一个声明结果

判断结果:

在该 prompt 中,我们通过对比系统生成的声明与参考文本,利用 LLM 判断每个声明是否符合参考文本,从而评估声明的准确性和知识库的信息质量。

判断机制

通过上述两个 prompt,我们可以构建如下评价流程:

  1. 输入文本与声明抽取

    • 将用户或系统中的文本输入声明抽取器;
    • LLM 根据 prompt 要求,提取出格式化的三元组声明;
    • 抽取出的声明反映了知识库中的基本信息单元;
  2. 声明验证与质量评估

    • 将抽取的声明与标准答案或参考文本一起输入声明检查器;
    • LLM 根据验证标准,对每个声明进行判断,输出"ENTAILMENT"、"CONTRADICTION"或"NEUTRAL"的结果;
    • 统计验证结果,若大部分声明为"ENTAILMENT",则说明知识库信息较为准确;反之,则可能存在错误、遗漏或模糊不清的信息;
  3. 反馈与改进

    • 根据验证结果,开发者或系统管理员可以针对性地对知识库进行调整和改进;
    • 这种基于 LLM 的自动化检查机制,有助于在大规模知识库更新过程中快速发现问题,提高信息质量;

总结

基于 LLM 的声明抽取与检查流程提供了一种创新的方法,帮助我们量化和判断知识库的质量。通过分解信息为原子化声明,并利用参考文本对声明进行严格验证,可以更高效地发现知识库中的不足,为后续改进提供明确的方向。

以上就是如何基于 LLM 判断知识库好坏的思路和具体实现示例。

相关推荐
小鹏linux15 小时前
Ubuntu 22.04 部署开源免费具有精美现代web页面的Casdoor账号管理系统
linux·前端·ubuntu·开源·堡垒机
冬奇Lab17 小时前
一天一个开源项目(第108篇):Andrej Karpathy Skills - 用一个 CLAUDE.md 文件修复 LLM 编码的四个顽疾
人工智能·开源·资讯
code_pgf19 小时前
模态生成器:原理详解与推荐开源项目
人工智能·深度学习·开源
虎头金猫20 小时前
管理飞牛OS还在点点点?我用Ansible给它装了个远程遥控器
微信·开源·ansible·aigc·智能家居·开源软件·ai编程
带娃的IT创业者1 天前
开源之魂:Thunderbird 的生存困境与我们的数字主权
开源·邮件客户端·开源生态·非营利组织·thunderbird·数字主权
IvorySQL1 天前
开源共建分论坛圆桌讨论:如何真正融入 PostgreSQL 社区?
postgresql·开源·区块链
小歪不歪我是AI1 天前
Pi 源码拆解:当一个极简主义的 agent harness 只有 4 个 tool
开源·agent
Teable任意门互动1 天前
深度解析:AI 赋能开源多维表格,实现企业全场景数据整合与高效应用
数据库·人工智能·低代码·信息可视化·开源·数据库开发
码途漫谈1 天前
把前端组件做成一座小岛:Animal-Island-UI 的自然风 React 组件库拆解
前端·开源