Rag评测–模型配置

发布时间:2026/10/5 6:53:51
Rag评测–模型配置 上篇已经配置好es数据库链接了那么离构建query集确实是越来越近了接下来咱们就先把模型配置做好后面直接调用就可以输出query集了第一步先写好出题模板的提示词。新建一个models.py文件def question_prompt(context:str) - str: 把文档内容塞进出题模板返回完整提示词 template ###角色 你是一个问答对的专家 ###任务 (定任务客官自己写) ###返回格式 你只能以json格式返回数据 ###给定文本 {context} return template.replace({context}, context)提示词模板四大要素立角色⁺定任务⁺给格式⁺给约束其实怎么写大家都可以随意发挥的不过这里我写了个给定文本{context}为什么写在这最后面再讲接下来接上面代码配置出题模型使用request直调。from config import configs import request , json def ask_llm(prompt: str) -str: #出题模型和裁判模型都调用config配置的模型 confconfigs[llm] urlconf[base_url] payload{ model: conf[model], message:[{role:user , content:prompt}], stream : True, } headers{Authorization:fBearer {conf[api_key]} resrequest.post(url, jsonpayload, headersheaders,timeout60,streamTrue) #通过请求大模型接口传递请求头请求体等因为是流式输出返回的真实数据长这样 data : {choices: [{delta: {content:正文chunk}}]} data : {choices: [{delta: {content:正文chunk}}]{}所以接下来需要继续从每行里扣出增量最后拼起来给到parts。 parts[] for line in res.iter_lines(): 下面的代码因为特别原因不好全写出来核心逻辑是剥前缀跳过空行解析json扣增量字段再拼接起来这个大家可以用ai写核心逻辑就是这样 return .join(parts)写到这里就把基础的模型配置写好了且拿到了文本内容。接下来就开始正式的构建query集了前面说为什么在prompt里写上给定文本{context}而不是写一个没有值的提示词把context写在message里比如这样message : [ {role: user,content:prompt}, {role: user,content:context} ]其实这样写也行但最主要的原因是前面的写法更加清晰进一个文档出一个文档模板逻辑锁在函数make_question_prompt(context)里谁调用都不需要模板长啥样后面这个调用需要发送模板和context两样东西反而会变复杂后续几百个测试集输出容易上下文边界混乱所以更推荐直接写在提示词模板中。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询