当前位置: 首页 > news >正文

一文读懂RAG流程中用到的请求参数与返回字段

        以下是一篇系统梳理RAG(Retrieval-Augmented Generation)流程中请求与响应参数的中文讲解文章


        RAG(检索增强生成)是一种将知识库检索与大模型问答融合的技术框架。本文以实际项目代码为例,逐步讲解该流程中检索请求、响应字段与大模型调用所涉及的关键参数与含义,帮助开发者高效调试和优化问答系统。


一、search_knowledge 请求参数

        该阶段负责“知识检索”,从知识库中找出与问题最相关的文本片段(chunk),支持过滤、排序、上下文补全等功能。

基本参数

参数名类型必填含义
projectstring所属项目名,默认 "default"
namestring知识库名称,如 "HLG_AI_Knowledge"
resource_idstring知识库 ID,若为空则以 name+project 定位
querystring✅ 是用户输入的问题,例如 "氧动运知识有哪些常见误区?"
limitint返回的结果条数,范围 1~200,默认 10

检索前处理(pre_processing

参数名类型含义
need_instructionbool是否拼接指令提示语,提高语义检索效果
return_token_usagebool是否返回 token 用量,用于调试资源消耗
rewritebool是否对 query 进行自动改写(如消歧义)
messagesjson[]多轮对话历史,开启 rewrite 时提供上下文

检索后处理(post_processing

参数名类型含义
get_attachment_linkbool是否返回文档中图片等资源的临时访问链接
rerank_only_chunkbool重排时只考虑内容,不考虑标题等元信息
rerank_switchbool是否开启基于模型的二次排序(如 m3-rerank)
retrieve_countint进入 rerank 的候选数量,必须 ≥ limit
chunk_groupbool是否聚合文本块,按文档顺序返回
chunk_diffusion_countint每个命中块左右返回几片上下文,增强语义理解
rerank_modelstring使用的 rerank 模型,常用如 "m3-v2-rerank"

其他

参数名类型含义
dense_weightfloat稠密向量匹配权重,范围 [0.2, 1],0为纯关键词,1为纯语义

二、search_knowledge 响应参数

来自知识库的返回数据结构主要包括以下字段:

字段类型说明
codeint状态码,0 表示成功
data.result_listlist检索到的知识点(chunk)列表
data.token_usagedicttoken 用量,如 embedding_token_usagererank_token_usage
data.result_list[i].contentstring具体文本内容
data.result_list[i].doc_info.doc_namestring文档名
data.result_list[i].chunk_titlestring对应的章节/小节名
data.result_list[i].chunk_attachmentlist若开启 get_attachment_link,返回的图片链接等资源

三、生成 Prompt 阶段参数

通过 generate_prompt 方法,会根据每个检索结果构建标准 prompt:

  1. 拼接 content(文本片段内容)

  2. 提取 doc_name(文档名)

  3. 若为多模态模型,插入 <img> 标签标记图片内容

这些内容最终被填充到模板:

<context>文档内容(含图片提示词)
</context>

四、chat_completion 请求参数(调用大模型)

该阶段是基于上述 prompt + query,由大模型生成最终回答。

参数名类型含义
messageslist对话结构数组,含 "system" prompt 和 "user" 问题或多模态图片
streambool是否启用流式响应
return_token_usagebool是否返回 token 使用信息
modelstring模型名称,如 "Doubao-1-5-thinking-pro"
model_versionstring模型版本号
temperaturefloat创造性程度(0~1)
max_tokensint返回最大 token 数量限制
api_keystring可选,提供访问凭证(如需授权访问)

五、chat_completion 响应参数

流式接收时每行数据形如:

{"code": 0,"data": {"generated_answer": "...","reasoning_content": "...","usage": {"prompt_tokens": 100,"completion_tokens": 500,"total_tokens": 600}}
}

字段解释如下:

字段含义
generated_answer最终生成的回答文本
reasoning_content模型的“思考过程”或解释过程
usagetoken 用量详情,便于评估成本

六、总结:RAG流程核心参数梳理表

阶段参数或字段说明
检索请求query, name, project, dense_weight, limit基础检索条件
检索前处理need_instruction, rewrite, messages提升语义匹配
检索后处理rerank_switch, rerank_model, chunk_diffusion_count精细排序、上下文扩展
响应结果result_list, token_usage, chunk_attachment检索内容与消耗
大模型调用messages, model, temperature, max_tokens构建回答生成任务
回答内容generated_answer, reasoning_content, usage输出结果与解释

http://www.xdnf.cn/news/865243.html

相关文章:

  • HTMLCSS 学习总结
  • (T/SAIAS 020-2024)《医疗大模型语料一体机应用指南》深度解读与实施分析
  • Shiro安全权限框架
  • OpenCV CUDA模块图像处理------图像连通域标记接口函数connectedComponents()
  • iOS UIActivityViewController 组头处理
  • OSPF域间路由
  • fastadmin fildList 动态下拉框默认选中
  • parquet :开源的列式存储文件格式
  • 【PhysUnits】15.13 SI类型级量纲(dimension.rs)
  • 针对KG的神经符号集成综述 两篇
  • 企业级实战之Iptables防火墙案例分析
  • 11. 试学内容-如何理解隔离性2(原理)
  • mysql知识点
  • Axios学习笔记
  • 技术文档的降维打击:3大原则+5步结构+CSDN流量密码
  • 瀚文机械键盘固件开发详解:HWKeyboard.cpp文件解析与应用
  • linux 故障处置通用流程-36计+1计
  • 传输层协议 UDP 介绍 -- UDP 协议格式,UDP 的特点,UDP 的缓冲区
  • OPENCV的AT函数
  • 验证负载均衡与弹性伸缩
  • Nginx+Tomcat负载均衡与动静分离架构
  • 保险丝选型
  • Java基础原理与面试高频考点
  • 沉金PCB电路板制造有哪些操作要点需要注意?
  • 论文导读 | 区间数据管理
  • C#由于获取WPF窗口名称造成的异常报错问题
  • SQL 中 NOT IN 的陷阱?
  • 如何确定微服务的粒度与边界
  • 09.MySQL内外连接
  • 4. 数据类型