如何构建Prompt,帮我生成QA,作为召回率检索的测试集?

最近在做搜索召回率的提升工作。粮草未动兵马先行!在做之前应该先有一把尺子来衡量召回率的好坏。所以应该先构建测试数据集,然后去做标准化测试。

有了测试机集以后。再去做搜索优化,才能看出来效果。

当然可以选择一些开源的测试集。如果可以的话构建自己场景下的数据集更好一些。还原生产环境的测试数据才是最有用的。

既然有了大模型,我选择用模型来给我构建测试数据。(人工标注数据的成本是极高的,使用模型更划算一些。)在这篇文章中,我会分享如何通过写Prompt,来帮我构建数据集。

模型的选择

分享的案例是调用的ChatGPT的效果。

在这方面,其实阿里的通义千问模型也差不太多。也可以用。

百度的稍微笨一点,看不懂我的prompt,每次只给我生成一个问题。(这里再调整一下prompt,文心一言应该也能给我想要的结果。这里就不分享了)

prompt 根据内容生成QA

你是一位专业的 prompt engineer,用户将给你发送一篇包含多个句子甚至段落的文章。你需要根据这个文章内容生成三个多样化的问题,并根据上下文分别给出AI风格的答案,同时标记出答案依据的上下文内容。

具体要求如下:
- 生成的问题需要与文章相关,保证对应答案能够在原文中找到,而且有长有短,风格要像真实人类问的问题。但是,尽量避免生成太直白和过于简单的问题,这三个问题的答案可能根据一个句子得出,也可能根据多个句子得出;
- 生成的答案要符合主流 AI Assistant 的风格,在合适的地方使用换行符以及 markdown 等格式使答案更加美观易读,在保证答案能在原文找到且不包含无关甚至错误内容的情况下,让答案尽量详细。注意,千万不要改变原文的本意,更不要捏造事实;
- 答案依据的上下文内容需要是完整的句子,而不是不完整的文本片段,这些句子可能出自文章的多个部分。因此在标记答案依据的引用内容时,每个引用内容一般不超过500字。
- 你需要直接按格式分别返回这三个问题(string)、答案(string)、依据(array)。

生成格式如下:
{
 "问题1":"xxx",
 "答案1":"xxx",
 "问题1依据":["xxx", ... , "xxx"], 
 "问题2":"xxx",
 "答案2":"xxx",
 "问题3依据":["xxx", ... , "xxx"],
 "问题3":"xxx",
 "答案3":"xxx",
 "问题3依据":["xxx", ... , "xxx"],
}

文本内容如下"第二章 调查范围和管辖
第六条 中国人民银行及其省一级分支机构发现下列可疑交易活动,需要调查核实
的,可以向金融机构进行反洗钱调查:
(一)金融机构按照规定报告的可疑交易活动;
(二)通过反洗钱监督管理发现的可疑交易活动;
(三)中国人民银行地市中心支行、县(市)支行报告的可疑交易活动;
(四)其他行政机关或者司法机关通报的涉嫌洗钱的可疑交易活动;
(五)单位和个人举报的可疑交易活动;
(六)通过涉外途径获得的可疑交易活动;
(七)其他有合理理由认为需要调查核实的可疑交易活动。"

GPT的回答

GPT很听话,完全按我说的给我生成的!

{
 "问题1":"在反洗钱调查中,有哪些机构和途径可以触发金融机构进行调查核实?",
 "答案1":"金融机构进行反洗钱调查的触发机制包括:金融机构按照规定报告的可疑交易活动;通过反洗钱监督管理发现的可疑交易活动;中国人民银行地市中心支行、县(市)支行报告的可疑交易活动;其他行政机关或者司法机关通报的涉嫌洗钱的可疑交易活动;单位和个人举报的可疑交易活动;通过涉外途径获得的可疑交易活动;其他有合理理由认为需要调查核实的可疑交易活动。",
 "问题1依据":["第二章 调查范围和管辖\n第六条 中国人民银行及其省一级分支机构发现下列可疑交易活动,需要调查核实\n的,可以向金融机构进行反洗钱调查:\n(一)金融机构按照规定报告的可疑交易活动;\n(二)通过反洗钱监督管理发现的可疑交易活动;\n(三)中国人民银行地市中心支行、县(市)支行报告的可疑交易活动;\n(四)其他行政机关或者司法机关通报的涉嫌洗钱的可疑交易活动;\n(五)单位和个人举报的可疑交易活动;\n(六)通过涉外途径获得的可疑交易活动;\n(七)其他有合理理由认为需要调查核实的可疑交易活动。"]
,
 "问题2":"反洗钱调查中,金融机构需要报告哪些类型的可疑交易活动?",
 "答案2":"金融机构需要报告的可疑交易活动类型包括:按照规定报告的可疑交易活动;通过反洗钱监督管理发现的可疑交易活动;中国人民银行地市中心支行、县(市)支行报告的可疑交易活动;其他行政机关或者司法机关通报的涉嫌洗钱的可疑交易活动;单位和个人举报的可疑交易活动;通过涉外途径获得的可疑交易活动;其他有合理理由认为需要调查核实的可疑交易活动。",
 "问题2依据":["第二章 调查范围和管辖\n第六条 中国人民银行及其省一级分支机构发现下列可疑交易活动,需要调查核实\n的,可以向金融机构进行反洗钱调查:\n(一)金融机构按照规定报告的可疑交易活动;\n(二)通过反洗钱监督管理发现的可疑交易活动;\n(三)中国人民银行地市中心支行、县(市)支行报告的可疑交易活动;\n(四)其他行政机关或者司法机关通报的涉嫌洗钱的可疑交易活动;\n(五)单位和个人举报的可疑交易活动;\n(六)通过涉外途径获得的可疑交易活动;\n(七)其他有合理理由认为需要调查核实的可疑交易活动。"]
,
 "问题3":"在反洗钱监督管理中,有哪些途径可以发现可疑交易活动?",
 "答案3":"反洗钱监督管理中,可以通过以下途径发现可疑交易活动:金融机构按照规定报告的可疑交易活动;中国人民银行地市中心支行、县(市)支行报告的可疑交易活动;其他行政机关或者司法机关通报的涉嫌洗钱的可疑交易活动;单位和个人举报的可疑交易活动;通过涉外途径获得的可疑交易活动;其他有合理理由认为需要调查核实的可疑交易活动。",
 "问题3依据":["第二章 调查范围和管辖\n第六条 中国人民银行及其省一级分支机构发现下列可疑交易活动,需要调查核实\n的,可以向金融机构进行反洗钱调查:\n(一)金融机构按照规定报告的可疑交易活动;\n(二)通过反洗钱监督管理发现的可疑交易活动;\n(三)中国人民银行地市中心支行、县(市)支行报告的可疑交易活动;\n(四)其他行政机关或者司法机关通报的涉嫌洗钱的可疑交易活动;\n(五)单位和个人举报的可疑交易活动;\n(六)通过涉外途径获得的可疑交易活动;\n(七)其他有合理由认为需要调查核实的可疑交易活动。"]

}

接着就可以用程序大规模构建了!

相关推荐
sp_fyf_20243 分钟前
计算机人工智能前沿进展-大语言模型方向-2024-09-20
人工智能·搜索引擎·语言模型
kinlon.liu3 分钟前
AI与自然语言处理(NLP):中秋诗词生成
人工智能·自然语言处理
正义的彬彬侠21 分钟前
举例说明计算一个矩阵的秩的完整步骤
人工智能·机器学习·矩阵·回归
十有久诚41 分钟前
E2VPT: An Effective and Efficient Approach for Visual Prompt Tuning
人工智能·深度学习·提示学习·视觉语言模型
卓_尔_不_凡1 小时前
Pytorch学习---基于经典网络架构ResNet训练花卉图像分类模型
人工智能·分类·数据挖掘
神奇夜光杯1 小时前
Python酷库之旅-第三方库Pandas(123)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
SEU-WYL1 小时前
基于神经网络的光线追踪
人工智能·神经网络·计算机视觉
Bill661 小时前
OpenCV GUI常用函数详解
人工智能·opencv·计算机视觉
DisonTangor1 小时前
OpenAI面向开发者继续提高o1系列模型的调用速率 最高每分钟可调用1000次
人工智能
zhangbin_2371 小时前
【Python机器学习】NLP信息提取——提取人物/事物关系
开发语言·人工智能·python·机器学习·自然语言处理