大模型 | RAG数据集自动构造探索, 附PROMPT

从文档中手动创建数百个 QA(问题-上下文-答案)样本可能非常耗时且劳动密集。此外,人工生成的问题可能难以达到全面评估所需的复杂程度,最终影响评估的质量。通过使用合成数据生成,开发人员在数据聚合过程中的时间可以减少 90%。

理想的数据集应涵盖生产中遇到的各种类型的问题,包括不同难度级别的问题。默认情况下,LLM 不擅长创建多样化的样本,因为它倾向于遵循共同的路径。今天我们介绍Ragas中创建数据的方法,Ragas 采用了一种新颖的方法来生成数据,通过采用进化生成范式实现了这一点,其中具有不同特征的问题(例如推理、条件、多上下文等)是从提供的文档集中系统地制作出来的。这种方法可确保全面覆盖管道中各个组件的性能,从而实现更强大的训练和评估过程。

一、方法介绍

大型语言模型 (LLM) 能够有效地将简单问题转化为更复杂的问题。为了从提供的文档中生成中等难度到困难难度的样本,我们采用了以下方法:

  • 推理: 重写问题,以增强推理的需要,从而有效地回答问题。
  • 增加条件: 修改问题以引入条件元素,这增加了问题的复杂性。
  • 多上下文: 以需要来自多个相关部分或块的信息来形成答案的方式重新措辞问题。
  • 对话式: 部分问题经过演化,可以转化为对话式样本。这些问题模拟了聊天式的问答互动,模仿了聊天式问答流程。

二、实现Prompt展示

1. 推理

根据提供的上下文将问题重写为多跳推理问题,从而使给定问题复杂化。
回答这个问题应该要求读者利用给定上下文中的信息做出多个逻辑联系或推断。
改写题目时要遵循的规则:
1. 确保改写后的问题可以完全根据上下文提供的信息来回答。
2. 不要提出超过15个单词的问题。尽可能使用缩写。
3. 确保你的问题清晰明了。
4. “基于所提供的上下文”、“根据上下文”等短语不允许出现在问题中。

2. 多上下文

任务是重写并使给定的问题复杂化,使回答问题需要从context1和context2中获得信息。
按照下面给出的规则重写问题。
1. 改写后的问题不应该很长。尽可能使用缩写。
2. 改写后的问题必须是合理的,必须被人类理解和回应。
3. 改写后的问题必须完全符合上下文1和上下文2中的信息。
4. 阅读并理解上下文中的内容,然后重写问题,这样回答问题时就需要同时了解上下文1和上下文2。
5. 像“基于提供的上下文”、“根据上下文?”等不允许出现在问题中。

3. 条件prompt

通过引入条件元素重写提供的问题以增加其复杂性。
目标是通过加入影响问题上下文的场景或条件,使问题更加复杂。
按照下面给出的规则重写问题。
1. 改写后的问题不应超过25个单词。尽可能使用缩写。
2. 改写后的问题必须是合理的,必须被人类理解和回应。
3. 改写后的问题必须能从目前的信息中完全回答。

4. 对话式

将提供的问题重新格式化为两个单独的问题,就像它是对话的一部分一样。每个问题都应该集中在与原问题相关的一个特定方面或子主题上。``按照下面给出的规则重写问题。``1. 改写后的问题不应超过25个单词。尽可能使用缩写。``2. 改写后的问题必须是合理的,必须被人类理解和回应。``3. 改写后的问题必须能从目前的信息中完全回答。``4. 像“提供上下文”、“根据上下文?”等不允许出现在问题中。

三、代码实现

from ragas.testset.generator import TestsetGenerator
from ragas.testset.evolutions import simple, reasoning, multi_context
from langchain_openai import ChatOpenAI, OpenAIEmbeddings

# documents = load your documents

# generator with openai models
generator_llm = ChatOpenAI(model="gpt-3.5-turbo-16k")
critic_llm = ChatOpenAI(model="gpt-4")
embeddings = OpenAIEmbeddings()

generator = TestsetGenerator.from_langchain(
    generator_llm,
    critic_llm,
    embeddings
)

# Change resulting question type distribution
distributions = {
    simple: 0.5,
    multi_context: 0.4,
    reasoning: 0.1
}

# use generator.generate_with_llamaindex_docs if you use llama-index as document loader
testset = generator.generate_with_langchain_docs(documents, 10, distributions) 
testset.to_pandas()

四、生成的问题分析

自定义数据分布

在这里插入图片描述

分析创建的数据集中不同问题类型的频率


最后分享

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享!

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
在这里插入图片描述

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)

在这里插入图片描述

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

在这里插入图片描述

4. 大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

在这里插入图片描述

5. 大模型面试题

面试,不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

在这里插入图片描述

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费


如有侵权,请联系删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值