
# 搭建知识库问答工作流
#### 案例概述
在实际业务中，经常需要创建一个带有知识库的AI助手来回答特定领域的问题（如企业规章、行业报告），通过引入知识库功能，可以解决大模型在面对垂直领域或私有数据时出现的知识缺失与事实性错误问题。
本章节的案例中，构建一个"旅游景点介绍知识库"，随后编排知识库问答工作流，并通过大模型进行内容总结。
图1效果展示   
![](https://support.huaweicloud.com/qs-agentarts0/zh-cn_image_0000002538541754.png "点击放大")
#### 操作流程
搭建知识库问答工作流流程如下，仅需五步即可完成知识库问答助手的搭建。
图2用户旅程   
![](https://support.huaweicloud.com/qs-agentarts0/zh-cn_image_0000002538541794.png "点击放大")
| 操作步骤                                                      | 说明                                                                                                                                    |
|:---|:---|
| [准备工作]        | 注册华为账号并开通华为云、完成实名认证，开通AgentArts服务。                                                                                                    |
| [步骤一：创建知识库]    | 创建知识库并上传文档，执行命中测试以确保系统能准确召回文档中的关键信息。                                                                                                  |
| [步骤二：创建工作流应用]  | 新建一个"工作流"类型的应用，并进入工作流编排画布，准备编排工作流。                                                                                                    |
| [步骤三：编排工作流节点] | 搭建知识库问答工作流的核心逻辑，通过 "知识检索"节点连接您的知识库，并将检索结果流转至 "大模型"节点进行总结与回答。工作流包含以下四个节点： 开始--\>知识检索--\>大模型--\>结束 |
| [步骤四：调试工作流]      | 验证知识问答工作流的结果是否符合预期。                                                                                                                   |
   
 #### 准备工作
在使用AgentArts智能体开发平台前，需要参考如下内容，提前申请华为账号并完成实名认证。
1. 进入[华为云官网](https://www.huaweicloud.com/)，单击页面右上角的"注册"。
2. 参考[注册华为账号并开通华为云](https://support.huaweicloud.com/usermanual-account/account_id_001.html)中操作，完成注册。
3. 注册成功后，进行实名认证。 
   - 个人账号：[个人实名认证](https://support.huaweicloud.com/usermanual-account/zh-cn_topic_0077914254.html)
   
   - 企业账号：[企业实名认证](https://support.huaweicloud.com/usermanual-account/zh-cn_topic_0077914253.html)
   
   
   如果您使用的是IAM用户，也可使用该账户开通AgentArts服务。
   
   
4. 登录[AgentArts智能体开发平台](https://console.huaweicloud.com/versatile/#/home/overview)，参考[开通AgentArts](https://support.huaweicloud.com/qs-agentarts0/agentarts_04_0000.html)开通服务。
 
 #### 步骤一：创建知识库
本章节将指导您创建知识库并上传演示文档（[全国旅游城市精选.docx](https://res-static.hc-cdn.cn/cloudbu-site/china/zh-cn/agentarts/全国旅游城市精选.docx)），通过命中测试验证文档召回能力，为后续的工作流提供支撑。
1. 登录[AgentArts智能体开发平台](https://console.huaweicloud.com/versatile/#/home/overview)。
2. 在左侧导航栏中选择"开发中心 \> 组件库"，在"知识库"页签，单击页面右上角"创建知识库"，**并选择"默认"知识库** 后单击"确定"。
   
   图3创建知识库   
   ![](https://support.huaweicloud.com/qs-agentarts0/zh-cn_image_0000002569421453.png "点击放大")
   
   
3. 在"新建知识库"弹窗中根据[表1]配置知识库参数，填写完成后单击"确定"创建知识库。
   
   图4配置知识库参数   
   ![](https://support.huaweicloud.com/qs-agentarts0/zh-cn_image_0000002569421571.png "点击放大")
    表1参数说明 
   | 参数    | 配置示例                                                                                                                                                         | 说明                                                                                                                 |
   |:---|:---|:---|
   | 知识库名称 | 填写"景点介绍知识库"。                                                                                                                                                 | 用于标识知识库。                                                                                                           |
   | 描述    | 填写"景点介绍知识库，提供全国各地景点介绍"。 图5配置示例 ![](https://support.huaweicloud.com/qs-agentarts0/zh-cn_image_0000002569341485.png "点击放大") | 用于对知识库内容和用途进行简要说明。                                                                                                 |
   | 向量模型  | 选择"pangu_embedding"。                                                                                                                                         | 向量模型是一种将文本、图像等非结构化数据转换为数值向量的模型。例如，在文本处理阶段，用于对文本文档进行切片，转换成向量化表示；在知识检索阶段，根据用户输入的信息对切片进行召回。                           |
   | 精排模型  | 选择"pangu_rerank"。 图6配置示例 ![](https://support.huaweicloud.com/qs-agentarts0/zh-cn_image_0000002569421461.png "点击放大")     | 精排模型是一种用于对检索结构进行精细排序的模型。针对用户输入的信息，对向量模型召回的切片进行从高到低的相关度排序，把相关度最高的前几个信息呈现给用户。                                        |
   | 解析配置  | 不配置                                                                                                                                                          | 用于设置文档解析时是否调用文字识别（OCR）服务、是否包含页眉页脚 / 目录页以及如何处理图片。当需要解析含表格 / 扫描件的文档、保留页眉页脚或目录页信息，或需提取图片中的文字（如图片含关键文本）、保留原图用于图文问答时使用。 |
   | 拆分设置  | 选择"自动分段"。                                                                                                                                                    | 通过自动分段、长度分段、层级分段方式，将文档切分为符合需求的片段（可设置分段长度、标题处理规则等），当需要将长文档拆解为便于向量化存储、知识检索的小片段，或需按文档结构（如标题层级）、特定符号（如句号、空格）规范片段划分时使用。 |
      
   
   
4. 创建好的知识库将自动显示到知识库列表中，单击知识库名称，进入知识库详情页。
5. 下载演示文档（[全国旅游城市精选.docx](https://res-static.hc-cdn.cn/cloudbu-site/china/zh-cn/agentarts/全国旅游城市精选.docx)），并上传至知识库。
   
   图7上传演示文档   
   ![](https://support.huaweicloud.com/qs-agentarts0/zh-cn_image_0000002538541736.png "点击放大")
   
   
6. 等待文档状态显示为"成功"后，单击页面右上角"命中测试"。 
   图8命中测试   
   ![](https://support.huaweicloud.com/qs-agentarts0/zh-cn_image_0000002538541810.png "点击放大")
   
   
7. 输入与演示文档（[全国旅游城市精选.docx](https://res-static.hc-cdn.cn/cloudbu-site/china/zh-cn/agentarts/全国旅游城市精选.docx)）内容相关的问题，如"上海有哪些景点"。检查知识库的召回情况，并**记录召回的相似度分值** 。
   
   ![](https://support.huaweicloud.com/qs-agentarts0/public_sys-resources/note_3.0-zh-cn.png)
   该分值在后续[步骤三：编排工作流节点]中，要作为"搜索召回"节点参数的取值参考（示例中使用"上海有哪些景点"作为测试问题时，相似度分值为0.30）。
   图9命中测试演示   
   ![](https://support.huaweicloud.com/qs-agentarts0/zh-cn_image_0000002538541746.png "点击放大")
   
   
 
 #### 步骤二：创建工作流应用
应用是承载业务的主体。在编排工作流节点之前，需要先创建一个工作流应用，并进入工作流编辑界面。
1. 返回至"开发中心 \> 智能体管理"页面，进入"工作流"页签，单击页面右上角"创建工作流"。 
   图10创建工作流   
   ![](https://support.huaweicloud.com/qs-agentarts0/zh-cn_image_0000002569421583.png "点击放大")
   
   
2. 选择"对话型工作流"，并设置展示名称、名称、描述。 
   - 展示名称：知识库问答助手
   
   - 名称：KnowledgeBaseAssistant
   
   - 描述：知识库问答助手
   
   
   图11创建对话型工作流   
   ![](https://support.huaweicloud.com/qs-agentarts0/zh-cn_image_0000002569421589.png "点击放大")
   
   
3. 单击右下角"立即创建"。 
   创建完成后会进入工作流编辑页面，请参考[步骤三：编排工作流节点]执行后续操作。
   
   
 
 #### 步骤三：编排工作流节点
这是构建知识库问答工作流的核心环节。通过可视化拖拽的方式，依次**连接 "开始 -\> 知识检索 -\> 大模型 -\> 结束" 四个关键节点** ，并**进行参数设置**，将静态的知识库与大模型推理能力串联起来，实现"先检索、后生成"的业务逻辑。
1. 工作流默认展示"开始 -\> 大模型 -\> 结束"节点。鼠标指向在开始节点、大模型节点中间，单击![](https://support.huaweicloud.com/qs-agentarts0/zh-cn_image_0000002538541740.png)，添加"知识检索"节点。
   
   图12添加知识检索节点   
   ![](https://support.huaweicloud.com/qs-agentarts0/zh-cn_image_0000002569421565.png "点击放大")
   
   
2. 单击节点，可展开节点的参数配置页面，参考[表2]依次设置各节点参数。
   
   ![](https://support.huaweicloud.com/qs-agentarts0/public_sys-resources/note_3.0-zh-cn.png)
   每个节点配置完成后，均需要单击右下角的"确定"，节点配置才可以生效。
   ![](https://support.huaweicloud.com/qs-agentarts0/zh-cn_image_0000002538541782.png "点击放大")
    表2工作流节点参数表 
   | 节点类型   | 参数修改说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   |:---|:---|
   | 开始节点   | 使用默认的"query"参数，用于提取用户问题。 不进行改动。 图13开始节点配置示例 ![](https://support.huaweicloud.com/qs-agentarts0/zh-cn_image_0000002569341569.png "点击放大")                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   | 知识检索节点 | 对知识库检索节点的以下参数进行设置： - 输入参数 引用开始节点的"query"参数，表示将用户问题传递给知识库进行搜索。 图14输入参数配置示例 ![](https://support.huaweicloud.com/qs-agentarts0/zh-cn_image_0000002538541762.png "点击放大")   - 知识库 添加知识库，选择先前创建的"景点介绍知识库"。 图15添加知识库 ![](https://support.huaweicloud.com/qs-agentarts0/zh-cn_image_0000002538381788.png "点击放大")   - **知识库设置** 单击知识库右侧按钮，配置知识库参数。检索策略设置为"混合检索"；**相关度阈值** **设置为0.2**，防止出现问题与知识库内容相似度低，召回为空的情况发生。 图16配置知识库参数 ![](https://support.huaweicloud.com/qs-agentarts0/zh-cn_image_0000002538541696.png "点击放大")                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   | 大模型节点  | 对大模型节点的以下参数进行设置： - 模型配置 选择一个模型，如"DeepSeek-V3"。 图17模型配置示例 ![](https://support.huaweicloud.com/qs-agentarts0/zh-cn_image_0000002569341489.png "点击放大")   - 输入参数 1. 大模型需要读取搜索召回的内容进行总结。因此需要引用"知识检索"节点的输出参数。为方便区分参数的流转关系，将大模型的默认的输入参数，改成与知识检索的输出参数一样的名称output_list。 图18输入参数配置示例 ![](https://support.huaweicloud.com/qs-agentarts0/zh-cn_image_0000002538541814.png "点击放大")   2. 单击输入参数右侧![](https://support.huaweicloud.com/qs-agentarts0/zh-cn_image_0000002538381850.png)，新增一个query参数，引用开始节点的query参数值。后续模型总结时，需要将用户原始问题、知识检索的召回一并传给大模型进行总结。 图19新增输入参数 ![](https://support.huaweicloud.com/qs-agentarts0/zh-cn_image_0000002538541776.png "点击放大")     - 系统提示词 输入下面的内容 ``` # 角色定义 你是一名专业的**内容分析总结师**，擅长提炼各类文档片段关键信息，也能基于问题本身进行专业解答。 # 核心任务 理解用户提问，优先依托知识库检索返回的相关文档片段提取信息、生成回答；如果检索无结果或信息不完整，直接基于问题本身作答。 # 处理原则 1. 优先用知识库检索内容，筛选核心相关信息，舍弃无关内容，不编造原文未提及的信息； 2. 整合多片段信息，合并重复内容、补全关联信息，保证事实准确； 3. 检索内容不足或无检索结果时，直接围绕问题核心给出专业解答。 # 输出规范 - 语言简洁专业，避免口语化 - 不透露知识库相关技术细节 ```   - 用户提示词 输入下面的内容 ``` ## 用户原始问题 {{query}} ## 知识库检索返回的文档片段 {{output_list}} 请根据以上文档片段，回答用户问题。 ``` 图20系统提示词、用户提示词示例 ![](https://support.huaweicloud.com/qs-agentarts0/zh-cn_image_0000002569421497.png "点击放大")    |
   | 结束节点   | 输入参数引用大模型节点的输出内容，其余参数使用默认配置。 图21结束节点配置示例 ![](https://support.huaweicloud.com/qs-agentarts0/zh-cn_image_0000002538541768.png "点击放大")                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
      
   
   
 
 #### 步骤四：调试工作流
工作流编排完成后，必须通过实际运行来验证逻辑的正确性。本章节将引导您输入具体的测试问题，检查工作流能否准确检索到文档片段，并验证大模型是否能基于检索结果生成符合预期的回答。
1. 单击工作流页面右上角"试运行"，此时系统会自动检测工作流参数是否设置正确。如果某一节点报错，请参考[步骤三：编排工作流节点]检查节点参数。
2. 输入测试内容，如"国内有哪些景点"，检查工作流是否有产生回答。 
   完成工作流调试后，单击界面右上角的"提交版本"按钮。
   图22调试工作流   
   ![](https://support.huaweicloud.com/qs-agentarts0/zh-cn_image_0000002569421597.png "点击放大")
   注意：测试过程中，如果发现回答截断，请检查"大模型"节点的"最大回复长度"是否设置过小，导致模型回答不完整。更新节点配置后，需单击右下角"确定"使配置生效。
   图23优化大模型节点回复长度   
   ![](https://support.huaweicloud.com/qs-agentarts0/zh-cn_image_0000002538541830.png "点击放大")
   
   
 
#### 分享工作流
完成工作流调试后，单击"工作流配置"界面右上角的"提交版本"，可将工作流以API等形式分享给他人使用，详情请参见[发布工作流](https://support.huaweicloud.com/usermanual-agentarts0/agentarts_05_0053.html)。
#### 相关文档
- 除手动搭建外，AgentArts平台还支持使用预制应用模板搭建智能体应用，可参考[使用模板搭建智能体](https://support.huaweicloud.com/qs-agentarts0/agentarts_04_0001.html)。
- 更多AgentArts的进阶使用实践请参见[AgentArts最佳实践](https://support.huaweicloud.com/bestpractice-agentarts0/agentarts_06_0001.html)。
 
