多角色大模型问答性能提升策略(附代码)

大模型相关目录

大模型,包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容
从0起步,扬帆起航。

  1. 大模型应用向开发路径:AI代理工作流
  2. 大模型应用开发实用开源项目汇总
  3. 大模型问答项目问答性能评估方法
  4. 大模型数据侧总结
  5. 大模型token等基本概念及参数和内存的关系
  6. 大模型应用开发-华为大模型生态规划
  7. 从零开始的LLaMA-Factory的指令增量微调
  8. 基于实体抽取-SMC-语义向量的大模型能力评估通用算法(附代码)
  9. 基于Langchain-chatchat的向量库构建及检索(附代码)
  10. 一文教你成为合格的Prompt工程师
  11. 最简明的大模型agent教程
  12. 批量使用API调用langchain-chatchat知识库能力
  13. langchin-chatchat部分开发笔记(持续更新)
  14. 文心一言、讯飞星火、GPT、通义千问等线上API调用示例
  15. 大模型RAG性能提升路径
  16. langchain的基本使用
  17. 结合基础模型的大模型多源信息应用开发
  18. COT:大模型的强化利器
  19. 多角色大模型问答性能提升策略(附代码)


简介

多角色大模型问答性能提升策略,即让大模型扮演多个角色,协同或竞争实现一个任务,增强大模型在该类型任务上的问答性能。

可通过写prompt、设计Agent赋予llm角色属性,并规范一些行为。
在这里插入图片描述
在这里插入图片描述

其合作形式多样,并不固定。

作用

  • 角色扮演模型不会具有明显的官方语气和说教口吻,除非你明确要求角色扮演模型去扮演一个类似的角色。
  • 角色扮演模型可能会具有一定的情绪能力,例如虚拟女友时会表现出撒娇、吃醋等属于人类的情绪。
  • 角色扮演模型的输出更具画面感和沉浸感,与通用模型交互时,体感上更好。
  • 角色扮演模型具备更多的具体属性,如检索、校验、总结等等。单一角色其在某一方面能力得到强化,在多角色机制下,模型整体问答性能得到优化。

示例

以一般的RAG问答场景为例,该场景下,模型功能相对单一,即对向量库检索来的docs联系问题进行回答。

该场景下,我们为了增强问答能力,可设定

角色1:精确而高效的信息检索大师,擅长利用已知背景知识对提问做出回答。

角色2:-角色:精确而高效的信息检验大师,擅长利用已知背景知识、问题、问答三项数据要素进行二次回答。

由角色1进行初次RAG问答,角色2根据已知背景知识、问题、初次问答答案三项数据要素进行校验,进行二次回答。

此外,对角色进行一些说明和约束,即可完成RAG问答性能提升任务。

1.LLM封装

import requests
import json



class WenxinAPI:
    def __init__(self):
        self.API_KEY = ''
        self.SECRET_KEY = ''
        self.token = self.get_access_token()

    def get_access_token(self):
        """
        使用 API Key,Secret Key 获取access_token,替换下列示例中的应用API Key、应用Secret Key
        """

        url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={api}&client_secret={secret}".format(api=self.API_KEY,secret=self.SECRET_KEY)

        payload = json.dumps("")
        headers = {
            'Content-Type': 'application/json',
            'Accept': 'application/json'
        }

        response = requests.request("POST", url, headers=headers, data=payload)
        return response.json().get("access_token")


    def get_one_response_by_prompt(self, question):
        url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie-3.5-8k-0205?access_token=" + self.token

        payload = json.dumps({
            "messages": [
                {
                    "role": "user",
                    "content": question
                }
            ]
        })
        headers = {
            'Content-Type': 'application/json'
        }

        response = requests.request("POST", url, headers=headers, data=payload)

        # print(response.text)
        return {'text':json.loads(response.text)['result']}

if __name__ == '__main__':
    test_query = '你是谁'
    llm = WenxinAPI()
    anwser = llm.get_one_response_by_prompt(test_query)
    print(anwser)

2.promp.json

{
  "prompt1": "-角色:精确而高效的信息检索大师,擅长利用已知背景知识对提问做出回答。\n-说明:1.需要你回答的都关于政务的负责部门、办理结果、办结时限、办理地点、办理时间、咨询渠道、投诉渠道等方面 2.不要回答用户提问以外的内容\n-示例:\n# 问题1:请问县道施工申请去哪?\n# 回答1:\n**思考分析** 该问题关注地址信息;无需数学计算。\n**思考结果** 办理县道建设项目施工许可,应前往山东省烟台市莱山区银海路46号烟台市政务服务中心1楼综合受理服务专区A101-A112窗口递交申请。\n# 问题2:硕士毕业生到烟台工作2年拿多少生活补助?\n# 回答2:\n**思考分析** 该问题关注补贴金额;需要数学计算。\n**思考结果** 根据已知信息,硕士研究生每年的生活补贴是2.4万元,补贴2年,所以总共能领到2.4万元/年 * 2年 = 4.8万元。\n请根据示例格式进行作答。",
  "prompt2": "-角色:校验大师,擅长根据已知的背景信息、问题、回答这三要素进行比对校验。\n-说明:1.对于问答数据,着重对照问题、回答所关注的要素,如时间、地址等。2.对于需要数学计算的问题,你应当重新计算,将自己的结果和答案中的结果进行对比,为用户提供参考。",
  "prompt3": "-角色:精确而高效的信息检索大师,擅长利用已知背景知识、问题、问答三项数据要素进行二次回答.\n-说明:1.着重对照问题、回答所关注的要素,如时间、地址等,如回答错误,则在本次回答中矫正。2.对于需要数学计算的问题,你应当重新计算,将自己的结果和答案中的结果进行对比,为用户提供参考。3.虽然是二次回答,但回答要以第一次回答的形式呈现"
}

3.主程序

import os
import sys
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
import llm_ask.ask_Wenxin
import pandas as pd
import numpy as np
import json

# json文件读取函数
def read_json(file_path:str)->dict:
    # 打开文件
    with open(file_path, 'r',encoding='utf-8') as f:
        # 使用json.load()方法读取文件内容
        result = json.load(f)
    return result


def multi_role_dialogue(input_llm, input_pronpt_dict: dict, input_docs: str, input_question: str) -> str:
    # 第一轮回答
    prompt1 = input_pronpt_dict['prompt1']
    query_1 = prompt1 + input_docs + '\n' + input_question
    answer_1 = input_llm.get_one_response_by_prompt(query_1)['text']

    # 第二轮回答
    query_2_head = """背景信息:{background_info}\n
    问题:{question}\n
    回答:{answer}\n
""".format(background_info=input_docs, question=input_question, answer=answer_1)

    prompt2 = input_pronpt_dict['prompt3']
    query_2 = query_2_head + prompt2
    answer_2 = input_llm.get_one_response_by_prompt(query_2)['text']

    # DEBUG
    print('*' * 20)
    print(query_1)
    print(answer_1)
    print('*' * 20)
    print(query_2)
    print(answer_2)
    return answer_2
# 加载prompt文件
prompt_path = r'C:\Users\12258\Desktop\haiyi_rag\prompt\prompt.json'
prompt_dict = read_json(prompt_path)


# 初始化大模型对象
llm = llm_ask.ask_Wenxin.WenxinAPI()

# 加载数据文件
data = pd.read_excel(r'C:\Users\12258\Desktop\123\线上API和14B性能对比.xlsx')
prompt_ls = data['Docs'].tolist()
question_ls = data['Question'].tolist()

# 多轮对话测试
index = 2
multi_role_dialogue(llm,prompt_dict,prompt_ls[index],question_ls[index])

4.单次结果

-角色:精确而高效的信息检索大师,擅长利用已知背景知识对提问做出回答.
-说明:1.需要你回答的都关于政务的负责部门、办理结果、办结时限、办理地点、办理时间、咨询渠道、投诉渠道等方面 2.不要回答用户提问以外的内容
-示例:

  • 问题1:请问县道施工申请去哪?
  • 回答1:
    思考分析 该问题关注地址信息;无需数学计算。
    思考结果 办理县道建设项目施工许可,应前往山东省烟台市莱山区银海路46号烟台市政务服务中心1楼综合受理服务专区A101-A112窗口递交申请。
  • 问题2:硕士毕业生到烟台工作2年拿多少生活补助?
  • 回答2:
    思考分析 该问题关注补贴金额;需要数学计算。
    思考结果 根据已知信息,硕士研究生每年的生活补贴是2.4万元,补贴2年,所以总共能领到2.4万元/年 * 2年 = 4.8万元。 请根据示例格式进行作答。烟台市最新人才政策,{“支持科研创新”:
    “鼓励企业与知名高校、科研机构共建省级以上创新平台,对平台引进的产业发展急需紧缺高层次人才,支持其申报市级科技计划项目,立项后给予最高50万元资金扶持;符合条件的优先推荐参评烟台市“双百计划”,入选后给予最高600万元创新资助。对企业从知名高校、科研机构柔性引进的重要科研项目或产业化项目技术负责人,经认定每年按照在烟实际取得劳动报酬的30%给予专项补贴,累计不超过15万元,每年支持不超过50人。”,
    “加大创业扶持”:
    “鼓励人才带项目、带技术、带资金来烟创业,每年面向海内外遴选100个左右高层次人才创业项目,在烟落户就地转化的,根据项目实际投入和发展状况,每个给予最高100万元创业资助。对通过省、市特定创业大赛遴选的相应层次获奖项目负责人,符合条件的经评估认定可直接入选烟台市“双百计划”,给予最高300万元创业资助。创业项目入驻烟台高层次人才创业园的,可继续享受园区有关扶持政策。获得国家和省项目资助的留学人员创办企业,符合我市主导产业或战略性新兴产业发展规划的,给予1:1配套资金支持。”,
    “发放生活补贴”:
    “对首次新引进到我市企业工作且缴纳社保一年以上的博士研究生、硕士研究生、“双一流”高校和全球前200名高校(QS)的学士本科生,分别给予每人每年3.6万元、2.4万元、1.2万元生活补贴,补贴3年。博士研究生进入我市博士后科研工作站或博士后创新实践基地进行研究的,在站(基地)期间每年给予不低于10万元生活补贴。博士后出站留烟工作且缴纳社保一年以上的,一次性再给予15万元生活补贴。”,
    “升级安居保障”:
    “对首次新引进到我市企业工作且缴纳社保一年以上,并在烟新购商品住房的博士研究生、硕士研究生、“双一流”高校和全球前200名高校(QS)的学士本科生,分别给予20万元、10万元、5万元一次性购房补贴。对首次新引进到我市机关事业单位(含中央、省属驻烟单位)工作的正高级专业技术职务人员、博士研究生(含副高级专业技术职务人员)、硕士研究生,分别给予6万元、4万元、2万元一次性购房补贴。对符合租房条件的,根据相关政策提供相应人才公寓。”,
    “提供金融支持”:
    “对符合条件的高层次人才长期所在企业科技成果转化或创新创业资金需求给予重点支持,经评估认定提供最高1000万元“人才贷”。鼓励金融机构在现有“鲁青基准贷”“青创企业贷”等金融产品基础上,向青年人才提供更多无抵押、无担保“消费贷”“创业贷”金融产品。”,
    “鼓励引才留才”:
    “设立1000万元引才留才奖励资金,对引才成效突出的企业,给予最高100万元引才专项奖励;鼓励企业与“双一流”高校或知名科研机构,定制化培养引进急需紧缺专业青年人才,对达到一定规模且成效突出的,给予最高50万元定制化引育专项奖励;对毕业生留烟率较高的驻烟高校和职业类院校,分类给予最高100万元留才专项奖励。”,
    “优化服务功能”:
    “扩大“烟台优才卡”发放范围,进一步拓宽高层次人才服务领域,提供居留与出入境、户籍办理、交通出行、配偶安置、子女入(园)学等全方位绿色通道服务。配偶安置按照对口从优原则,安排到相应单位工作;子女入(园)学参照本人意愿,优先就近予以安排。”}
    中外、内地与港澳、大陆与台湾合作办学项目(专科及以下)审批,{“实施主体”: “烟台市教育局”, “承办机构”:
    “烟台市教育局(受委托实施部分省教育厅事权事项)”, “事项版本”: “11”, “办理结果名称”:
    “山东省教育厅关于公布xx年xx中外合作办学项目的通知”, “法定办结时限”: “20个工作日”, “是否存在运行系统”: “暂无”,
    “咨询渠道”: “窗口咨询:山东省烟台市莱山区银海路46号烟台市政务服务中心1楼综合受理服务专区A101-A112窗口 信件咨询:张新双”,
    “投诉渠道”: “”, “受理时间、地点”:
    “受理地点:山东省烟台市莱山区银海路46号烟台市政务服务中心1楼综合受理服务专区A101-A112窗口 (综合受理)
    受理时间:5月-10月夏季办公时间工作日星期一至星期五上午08:00-12:00,下午14:00-17:30;11月-4月冬季办公时间工作日星期一至星期五上午08:30-12:00,下午13:30-17:00(法定节假日除外)。”,
    “政策法规标题”: “中外、内地与港澳、大陆与台湾合作办学项目(专科及以下)审批”}
    我是一个普高校的本科生,到烟台买房能领到多少钱的购房补贴
    根据您提供的信息,您是一名普通高校的本科生,考虑到烟台市最新的人才政策,关于购房补贴的规定如下:

对于首次新引进到烟台市企业工作且缴纳社保一年以上,并在烟台新购商品住房的博士研究生、硕士研究生、“双一流”高校和全球前200名高校(QS)的学士本科生,分别给予20万元、10万元、5万元一次性购房补贴。

由于您提到自己是普通高校的本科生,而政策中明确提到的是“双一流”高校和全球前200名高校(QS)的学士本科生,因此,如果您所在的学校不属于这两类高校,那么根据目前的政策,您可能不符合领取购房补贴的条件。

但请注意,政策可能会有所变动或存在特殊情况的处理方式,建议您直接联系烟台市的相关部门或查询官方渠道以获取最准确和最新的信息。同时,购房补贴可能还有其他附加条件和限制,例如购房的时间、房屋类型等,也需要您进一步了解和确认。
******************** 背景信息:烟台市最新人才政策,{“支持科研创新”: “鼓励企业与知名高校、科研机构共建省级以上创新平台,对平台引进的产业发展急需紧缺高层次人才,支持其申报市级科技计划项目,立项后给予最高50万元资金扶持;符合条件的优先推荐参评烟台市“双百计划”,入选后给予最高600万元创新资助。对企业从知名高校、科研机构柔性引进的重要科研项目或产业化项目技术负责人,经认定每年按照在烟实际取得劳动报酬的30%给予专项补贴,累计不超过15万元,每年支持不超过50人。”,
“加大创业扶持”:
“鼓励人才带项目、带技术、带资金来烟创业,每年面向海内外遴选100个左右高层次人才创业项目,在烟落户就地转化的,根据项目实际投入和发展状况,每个给予最高100万元创业资助。对通过省、市特定创业大赛遴选的相应层次获奖项目负责人,符合条件的经评估认定可直接入选烟台市“双百计划”,给予最高300万元创业资助。创业项目入驻烟台高层次人才创业园的,可继续享受园区有关扶持政策。获得国家和省项目资助的留学人员创办企业,符合我市主导产业或战略性新兴产业发展规划的,给予1:1配套资金支持。”,
“发放生活补贴”:
“对首次新引进到我市企业工作且缴纳社保一年以上的博士研究生、硕士研究生、“双一流”高校和全球前200名高校(QS)的学士本科生,分别给予每人每年3.6万元、2.4万元、1.2万元生活补贴,补贴3年。博士研究生进入我市博士后科研工作站或博士后创新实践基地进行研究的,在站(基地)期间每年给予不低于10万元生活补贴。博士后出站留烟工作且缴纳社保一年以上的,一次性再给予15万元生活补贴。”,
“升级安居保障”:
“对首次新引进到我市企业工作且缴纳社保一年以上,并在烟新购商品住房的博士研究生、硕士研究生、“双一流”高校和全球前200名高校(QS)的学士本科生,分别给予20万元、10万元、5万元一次性购房补贴。对首次新引进到我市机关事业单位(含中央、省属驻烟单位)工作的正高级专业技术职务人员、博士研究生(含副高级专业技术职务人员)、硕士研究生,分别给予6万元、4万元、2万元一次性购房补贴。对符合租房条件的,根据相关政策提供相应人才公寓。”,
“提供金融支持”:
“对符合条件的高层次人才长期所在企业科技成果转化或创新创业资金需求给予重点支持,经评估认定提供最高1000万元“人才贷”。鼓励金融机构在现有“鲁青基准贷”“青创企业贷”等金融产品基础上,向青年人才提供更多无抵押、无担保“消费贷”“创业贷”金融产品。”,
“鼓励引才留才”:
“设立1000万元引才留才奖励资金,对引才成效突出的企业,给予最高100万元引才专项奖励;鼓励企业与“双一流”高校或知名科研机构,定制化培养引进急需紧缺专业青年人才,对达到一定规模且成效突出的,给予最高50万元定制化引育专项奖励;对毕业生留烟率较高的驻烟高校和职业类院校,分类给予最高100万元留才专项奖励。”,
“优化服务功能”:
“扩大“烟台优才卡”发放范围,进一步拓宽高层次人才服务领域,提供居留与出入境、户籍办理、交通出行、配偶安置、子女入(园)学等全方位绿色通道服务。配偶安置按照对口从优原则,安排到相应单位工作;子女入(园)学参照本人意愿,优先就近予以安排。”}
中外、内地与港澳、大陆与台湾合作办学项目(专科及以下)审批,{“实施主体”: “烟台市教育局”, “承办机构”:
“烟台市教育局(受委托实施部分省教育厅事权事项)”, “事项版本”: “11”, “办理结果名称”:
“山东省教育厅关于公布xx年xx中外合作办学项目的通知”, “法定办结时限”: “20个工作日”, “是否存在运行系统”: “暂无”,
“咨询渠道”: “窗口咨询:山东省烟台市莱山区银海路46号烟台市政务服务中心1楼综合受理服务专区A101-A112窗口 信件咨询:张新双”,
“投诉渠道”: “”, “受理时间、地点”:
“受理地点:山东省烟台市莱山区银海路46号烟台市政务服务中心1楼综合受理服务专区A101-A112窗口 (综合受理)
受理时间:5月-10月夏季办公时间工作日星期一至星期五上午08:00-12:00,下午14:00-17:30;11月-4月冬季办公时间工作日星期一至星期五上午08:30-12:00,下午13:30-17:00(法定节假日除外)。”,
“政策法规标题”: “中外、内地与港澳、大陆与台湾合作办学项目(专科及以下)审批”}

问题:我是一个普高校的本科生,到烟台买房能领到多少钱的购房补贴

回答:根据您提供的信息,您是一名普通高校的本科生,考虑到烟台市最新的人才政策,关于购房补贴的规定如下:

对于首次新引进到烟台市企业工作且缴纳社保一年以上,并在烟台新购商品住房的博士研究生、硕士研究生、“双一流”高校和全球前200名高校(QS)的学士本科生,分别给予20万元、10万元、5万元一次性购房补贴。

由于您提到自己是普通高校的本科生,而政策中明确提到的是“双一流”高校和全球前200名高校(QS)的学士本科生,因此,如果您所在的学校不属于这两类高校,那么根据目前的政策,您可能不符合领取购房补贴的条件。

但请注意,政策可能会有所变动或存在特殊情况的处理方式,建议您直接联系烟台市的相关部门或查询官方渠道以获取最准确和最新的信息。同时,购房补贴可能还有其他附加条件和限制,例如购房的时间、房屋类型等,也需要您进一步了解和确认。

-角色:精确而高效的信息检索大师,擅长利用已知背景知识、问题、问答三项数据要素进行二次回答.
-说明:1.着重对照问题、回答所关注的要素,如时间、地址等,如回答错误,则在本次回答中矫正。2.对于需要数学计算的问题,你应当重新计算,将自己的结果和答案中的结果进行对比,为用户提供参考。3.虽然是二次回答,但回答要以第一次回答的形式呈现
根据您提供的政策信息和您的身份描述,您是普通高校的本科生,想要了解在烟台购房能领取多少购房补贴。

首先,政策明确指出,购房补贴的对象是首次新引进到烟台市企业工作且缴纳社保一年以上的博士研究生、硕士研究生、“双一流”高校和全球前200名高校(QS)的学士本科生。由于您提到自己是普通高校的本科生,如果您所在的学校并不属于“双一流”高校或全球前200名高校(QS)的范畴,那么根据现有的政策,您可能不符合领取购房补贴的条件。

请注意,政策可能会有所调整或存在特殊情况的考虑,因此建议您直接联系烟台市的相关部门或查询官方渠道,以获取最准确和最新的信息。同时,购房补贴的发放可能还涉及其他具体的条件和限制,例如购房的时间限制、房屋类型的要求等,这也需要您进一步了解和确认。

综上所述,根据您目前提供的信息和烟台市的人才政策,您可能不符合领取购房补贴的条件。但为了确保准确性和完整性,建议您直接咨询相关部门或查询官方渠道。

其他

此外,通过设定大模型角色还能够实现问答效果评估任务。

在这里插入图片描述

  • 16
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

写代码的中青年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值