RAG系统与LLM评判及合成数据集创建简介

2024-03-13 00:20

本文主要是介绍RAG系统与LLM评判及合成数据集创建简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

RAG系统与LLM评判及合成数据集创建简介

RAG系统设计与实现

RAG(检索增强生成)是一种内部查询工具,利用大型语言模型(LLM)从“知识”库中检索信息。与传统的LLM训练不同,RAG的成功依赖于LLM提取产品有用信息的能力,因此不能仅仅依据基准或语义进行评价。

系统评估解决方案

解决方案包括两方面:创建自定义评估数据集和利用LLM作为评判。LLM不仅参与数据集的创建,还对RAG系统的输出进行评估。

RAG系统开发过程

  1. 系统设计:RAG旨在解决特定内容因不在训练数据中而无法被LLM知晓的问题。通过将生成模型与检索模块结合,RAG可以轻松更新外部知识源提供的额外信息。

  2. 实现LLM评判:评估管道需要使用LLM生成合成评估数据集、设置LLM评判代理、构建和测试RAG系统。

    • 生成合成评估数据集:通过从知识库获取文档,使用LLM生成基于这些文档的问题,创建包含上下文、问题、答案和来源文档的数据帧。

    • 设置LLM评判代理:生成的问题通过质量检查,评判代理基于特定标准(如着地性、相关性和独立性)对每个问题进行评分。

    • 构建RAG系统:文档预处理创建向量数据库,RAG检索器作为内部搜索引擎返回最相关的文档,LLM阅读器读取这些文档并形成答案。

    • 系统评估:最后一步是利用评估数据集判断RAG系统输出的质量。

总结

文章总结了如何构建RAG系统而无需创建自己的评估数据集来测量LLM表现。通过利用LLM生成合成QA评估数据集和作为评判来制定精准/语义答案,RAG方法大大提高了系统性能。选拔合适的预训练LLM作为评判和提示模板/RAG模型的多种组合尝试对结果至关重要。

参考链接

  • RAG评估:https://huggingface.co/learn/cookbook/en/rag_evaluation
  • RAG应用评估:https://towardsdatascience.com/evaluating-rag-applications-with-ragas-81d67b0ee31a
  • RAG评估深度分析:https://cobusgreyling.medium.com/rag-evaluation-9813a931b3d4

这篇关于RAG系统与LLM评判及合成数据集创建简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/803062

相关文章

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

SpringValidation数据校验之约束注解与分组校验方式

《SpringValidation数据校验之约束注解与分组校验方式》本文将深入探讨SpringValidation的核心功能,帮助开发者掌握约束注解的使用技巧和分组校验的高级应用,从而构建更加健壮和可... 目录引言一、Spring Validation基础架构1.1 jsR-380标准与Spring整合1

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

SpringBatch数据写入实现

《SpringBatch数据写入实现》SpringBatch通过ItemWriter接口及其丰富的实现,提供了强大的数据写入能力,本文主要介绍了SpringBatch数据写入实现,具有一定的参考价值,... 目录python引言一、ItemWriter核心概念二、数据库写入实现三、文件写入实现四、多目标写入

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

Mysql如何将数据按照年月分组的统计

《Mysql如何将数据按照年月分组的统计》:本文主要介绍Mysql如何将数据按照年月分组的统计方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql将数据按照年月分组的统计要的效果方案总结Mysql将数据按照年月分组的统计要的效果方案① 使用 DA

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

基于Python和MoviePy实现照片管理和视频合成工具

《基于Python和MoviePy实现照片管理和视频合成工具》在这篇博客中,我们将详细剖析一个基于Python的图形界面应用程序,该程序使用wxPython构建用户界面,并结合MoviePy、Pill... 目录引言项目概述代码结构分析1. 导入和依赖2. 主类:PhotoManager初始化方法:__in

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,