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


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


一、search_knowledge 请求参数

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

基本参数

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

检索前处理(pre_processing

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

检索后处理(post_processing

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

其他

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

二、search_knowledge 响应参数

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

字段 类型 说明
code int 状态码,0 表示成功
data.result_list list 检索到的知识点(chunk)列表
data.token_usage dict token 用量,如 embedding_token_usagererank_token_usage
data.result_list[i].content string 具体文本内容
data.result_list[i].doc_info.doc_name string 文档名
data.result_list[i].chunk_title string 对应的章节/小节名
data.result_list[i].chunk_attachment list 若开启 get_attachment_link,返回的图片链接等资源

三、生成 Prompt 阶段参数

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

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

  2. 提取 doc_name(文档名)

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

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

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

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

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

参数名 类型 含义
messages list 对话结构数组,含 "system" prompt 和 "user" 问题或多模态图片
stream bool 是否启用流式响应
return_token_usage bool 是否返回 token 使用信息
model string 模型名称,如 "Doubao-1-5-thinking-pro"
model_version string 模型版本号
temperature float 创造性程度(0~1)
max_tokens int 返回最大 token 数量限制
api_key string 可选,提供访问凭证(如需授权访问)

五、chat_completion 响应参数

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

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

字段解释如下:

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

六、总结: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 输出结果与解释

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐