分析过程模板用于在RAG运行时,通过流式输出向用户实时呈现结构化的中间结果。该模板包含预设文本和动态占位符,可将大模型的输出或RAG执行中的关键信息组织为连贯文本。开发者可以通过在指定应用资源目录放置thought_template.json配置文件,自定义分析过程模板。
可供配置的8个分析过程模板如下:
{text}是核心内容占位符,用于动态替换RAG执行过程中的文本信息。
仅有thoughtStart、thoughtFinishCoreference、thoughtFinishExtraction三个参数对应模板可使用占位符,且只有第一个占位符会动态替换文本。
支持占位符的模板可选择不放占位符,即不会进行内容替换。
| 模板参数名 | 参数名含义 | 占位符 | 占位符替换内容 | 模板文本(含占位符)长度限制 |
|---|---|---|---|---|
| thoughtStart | 思考过程开始 | {text} | 输出用户问题 | 600字节 |
| thoughtStartCoreference | 指代消除开始 | 不支持占位符 | 不涉及 | 600字节 |
| thoughtFinishCoreference | 指代消除结束 | {text} | 输出指代消除结果 | 600字节 |
| thoughtStartExtraction | 实体提取开始 | 不支持占位符 | 不涉及 | 600字节 |
| thoughtFinishExtraction | 实体提取结束 | {text} | 输出实体提取结果 | 600字节 |
| thoughtStartRetrieval | 知识检索开始 | 不支持占位符 | 不涉及 | 600字节 |
| thoughtFinishRetrieval | 知识检索结束 | 不支持占位符 | 不涉及 | 600字节 |
| thoughtFinish | 思考过程结束 | 不支持占位符 | 不涉及 | 600字节 |
配置文件中的模板参数名称必须和给定的名称严格一致才能生效,对应值必须为字符串格式,使用UTF-8编码,使用其他编码可能会导致流式输出乱码。未配置或配置失败的超参使用默认值代替。
模板文字不得超过600字节,约200个汉字。否则对应模板会配置失败。
只用thoughtStart模板值配置为空字符串时,会配置失败。其余模板可配置为空字符串,即不会输出对应内容。
在应用资源目录的rawfile/arkdata/rag下创建thought_template.json文件,若工程中无目标目录则递归创建。
分析过程模板文件thought_template.json默认如下,实际文件内容请根据业务需要进行配置。
{
"thoughtStart": "开始分析用户的问题,原始问题是: \n{text}\n\n\n解析用户需求流程包括:对问题进行改写分析、提取问题中的关键信息、寻找知识库中的关联信息、总结相关内容生成答复。\n",
"thoughtStartCoreference": "\n开始对用户的问题进行改写分析...\n",
"thoughtFinishCoreference": "\n问题改写结果为: \n{text}\n",
"thoughtStartExtraction": "\n\n接下来对用户问题中的关键信息进行提取和分析...",
"thoughtFinishExtraction": "\n用户问题中的关键信息提取结果如下: \n{text}\n信息提取完成...\n",
"thoughtStartRetrieval": "\n现在根据提取到的信息对知识库进行检索......",
"thoughtFinishRetrieval": "\n\n相关内容检索完成,",
"thoughtFinish": "为你总结并生成回复中"
}