当前位置: 首页 > 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输出结果与解释

相关文章:

  • 【JVM】Java类加载机制
  • 【YiFeiWebApi】新增根据ERP单据性质设定自动生成单号
  • Java 线程池原理详解
  • 电气架构/域控制器/中央计算平台技术论坛
  • Linux进程调度:从时间片到实时任务的交响乐
  • 02.TypeScript 接口和对象类型
  • 高性能图片优化方案
  • [蓝桥杯]密文搜索
  • 科幻文字游戏Ollama deepseek-r1:qwen3
  • 计算机I/O系统:数据交互的核心桥梁
  • kubernetes》》k8s》》kubectl proxy 命令后面加一个
  • 什么是终端安全管理系统(终端安全管理软件2024科普)
  • Spring Boot微服务架构(十):Docker与K8S部署的区别
  • 当AI遇上防火墙:新一代智能安全解决方案全景解析
  • 人工智能:网络安全的“智能守护者”
  • HTMLCSS 学习总结
  • 构建高效可靠的电商 API:设计原则与实践指南
  • 互联网大厂Java求职面试:云原生架构下的微服务网关与可观测性设计
  • [特殊字符] Spring Boot底层原理深度解析与高级面试题精析
  • 【产品业务设计】支付业务设计规范细节记录,含订单记录、支付业务记录、支付流水记录、退款业务记录
  • 网站制作售后/注册域名费用一般多少钱
  • dedecms导购网站模板/微信营销案例
  • 下列关于网站开发中/百度sem竞价推广pdf
  • 建立网站第一步是建立什么/全案网络推广公司
  • 如何进行网站运营与规划/好看的seo网站
  • 网站硬件建设方案/智能搜索引擎