后端实现(四):API方式实时抛出增强后的模型回复

 使用图数据库检索到的Document对模型回复进行增强

提供系统级别Prompt
        self.dialog = [{'role': 'system', 'content': '你是山东大学VCRS(可视化课程知识问答系统)的AI助手,对于用户给出的问题,系统会给出参考资料.根据参考资料进行回答.'
                                                     '系统给出的知识含有问题中所含实体对应的解释$description及对应页码$page_num,你应该以如下方式回答:'
                                                     '[知识问答]\n[参考资料]\n,其中[知识问答]是你给出的回复'
                                                     '[参考资料]的格式应该像这样:1.$description\t[资料页码:$page_num] .[参考资料]由你结合自己的理解**筛选**系统给出的知识最多三条,不可以瞎编.'
                                                     '你的回答应该条理清晰且富有启发性'}]

每次调用模型后在user_query后主动增强一条system的输入,含有系统检索到的相关实体知识

举例:

user_query:

    def dialog_update(self, message, role='user'):
        # message should be formatted like this:
        # {'role': 'user', 'content': 'You are a helpful assistant.'}
        # role:'user','system','assistant'
        self.dialog.append({'role': role, 'content': message})

    def call(self):
        response = dashscope.Generation.call(
            model='qwen-max-0403',
            messages=self.dialog,
            result_format='message', )

        if response.status_code == HTTPStatus.OK:
            print(response)
            return response.output.choices[0]["message"]

        else:
            print('Request id: %s, Status code: %s, error code: %s, error message: %s' % (
                response.request_id, response.status_code,
                response.code, response.message
            ))

    def step(self, user_query, system_prompt=''):
        self.dialog_update(user_query, role='user')
        print("system prompt is:", system_prompt)
        self.dialog_update(system_prompt, role='system')
        model_response = self.call()
        self.dialog_update(model_response, role='assistant')
        return model_response["content"]
每次对话后都进行实体识别和基于知识图谱的知识检索
    def step(self, user_query, system_prompt=''):
        self.dialog_update(user_query, role='user')
        print("system prompt is:", system_prompt)
        self.dialog_update(system_prompt, role='system')
        model_response = self.call()
        self.dialog_update(model_response, role='assistant')
        return model_response["content"]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值