分享一个格式化大模型输出的prompt,便于做答案对比

文章受一种使得大模型输出结构化数据的简易方法_大模型结构化输出-CSDN博客启发

import json
import re

with open("", "r", encoding="utf-8") as file:
    ans_queries = json.load(file)
    
background = """
我希望你能够以一名语言学家的身份帮我完成如下的任务。
现在需要你结合问题内容和给你的答案句子,严格从答案句子中提取出能直接回答这个问题的答案词语。
你的输出需要严格按照python列表的格式输出,我接下来会给你几个例子。
你需要结合下列例子理解我的上述要求,并且按照要求完成任务。
"""

example1 = """
样例1:
================
问题1:哪一个学校是全国德育科研工作先进实验校呢?
答案句子:利津县第二中学是全国德育科研工作先进实验校。
提取出的标签:['利津县第二中学']
================
"""

example2 = """
样例2:
================
问题2:你知道有什么化学物质的纯度是99%的吗?
答案句子:是的,有很多化学物质的纯度可以达到99%。以下是一些例子:
1. 纯水:通常指去离子水或蒸馏水,其纯度可以达到99.99%。
2. 纯氧:通过分离空气或通过化学反应制备的纯氧,其纯度可以达到99.999%。
3. 纯氢:通过电解水或通过化学反应制备的纯氢,其纯度可以达到99.999%。
4. 纯氮:通过分离空气或通过化学反应制备的纯氮,其纯度可以达到99.999%。
5. 纯二氧化碳:通过分离空气或通过化学反应制备的纯二氧化碳,其纯度可以达到99.999%。
6. 纯硫酸:通过化学反应制备的纯硫酸,其纯度可以达到99.99%。
7. 纯盐酸:通过化学反应制备的纯盐酸,其纯度可以达到99.99%。

请注意,这些纯度只是大致的数值,实际上,纯度可以更高或更低,具体取决于制备方法、环境条件和其他因素。 
提取出的标签:['纯水','纯氧','纯氢','纯氮','纯二氧化碳','纯硫酸','纯盐酸']
================
"""

question = """
请你回答
================
问题:{question},
答案句子:{ans}
提取出的标签:
================
"""

prompt_base=background + example1 + example2

pattern = r"\[.*?\]"  # 匹配以 "[" 开始,以 "]" 结束的子串


for key, value in ans_queries.items():
    result = []
    prompt = prompt_base + question.format(question=key,ans=value)
    response, history = model.chat(tokenizer,prompt, history=[])#使用的为大模型中的chat版本
    matches = re.findall(pattern, response) 
    for match in matches:
        try:
            lst = eval(match)  # 使用eval将字符串转化为列表
            result+=lst
        except:
            pass
        print(f"========>>>>>>>\nA:{result}")

效果展示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值