文档管理中心

配置超参

功能介绍

超参是RAG工作流的配置参数,用于控制工作流的行为与组件结构。超参可由开发者根据任务需求、数据特性及经验进行配置,合理的超参设置对RAG的性能和效果有重要影响。开发者可以通过在指定应用资源目录放置hyper_param.json配置文件,实现自定义超参导入。

可供配置的超参列表:

展开
超参名称 超参类型 超参描述
retrieveTimeoutSeconds size_t

检索器超时时间。

取值范围:3~20。

默认值:20。

单位:s。

llmChunkTimeoutSeconds size_t

流式输出超时时间。

取值范围:2~30。

默认值:30。

单位:s。

llmOutputTimeoutSeconds size_t

大模型超时时间。

取值范围:10~200。

默认值:120。

单位:s。

defaultHisLen size_t

指代消除历史记录轮数。

取值范围:1~8。

默认值:1。

单位:轮。

summaryDefaultHisLen size_t

问题回答历史记录轮数。

取值范围:1~8。

默认值:1。

单位:轮。

maxQueryLength size_t

用户问题最大长度。

推荐范围:100~1000。

默认值:1000。

单位:字节。

maxRetrievalLength size_t

拼接后的检索片段最大长度。

推荐范围:3000~20000。

默认值:16000。

单位:字节。

llmOutputLengthLimit size_t

大模型单次问答输出长度。

推荐范围:2000~10000。

默认值:8192。

单位:字节。

historyLengthLimit size_t

拼接历史记录长度。

推荐范围:3000~10000。

默认值:8000。

单位:字节。

约束限制

  1. 配置文件中的超参名称必须和给定的名称严格一致才能生效。未配置或配置失败的超参使用默认值代替。

  2. 对于取值区间的5个超参,retrieveTimeoutSeconds、llmChunkTimeoutSeconds、llmOutputTimeoutSeconds、defaultHisLen、summaryDefaultHisLen的传入值会受到校验。当配置的超参小于限制区间下限值时,使用下限值;当大于上限值时,使用上限值。

  3. 对于推荐区间的4个超参,maxQueryLength、maxRetrievalLength、llmOutputLengthLimit、historyLengthLimit的值仅为推荐值,RAG不会对传入值进行校验,如果超过了推荐范围,可能会导致效果下降。

开发步骤

在应用资源目录的rawfile/arkdata/rag下创建hyper_param.json文件,若工程中无目标目录则递归创建。

超参配置文件hyper_param.json示例如下,实际文件内容请根据业务需要进行配置。

收起
自动换行
深色代码主题
复制
  1. {
  2. "retrieveTimeoutSeconds": 5,
  3. "llmChunkTimeoutSeconds": 30,
  4. "llmOutputTimeoutSeconds": 120,
  5. "defaultHisLen": 1,
  6. "summaryDefaultHisLen": 1,
  7. "maxQueryLength": 1000,
  8. "maxRetrievalLength": 16000,
  9. "llmOutputLengthLimit": 8192,
  10. "historyLengthLimit": 8000
  11. }