---
title: 基于工作流构建智能问答服务
description: "工作流通过将复杂的任务分解成较小的步骤（节点）降低系统复杂度，减少了对提示词技术和模型推理能力的依赖，提高了LLM应用面向复杂任务的性能，提升了系统的可解释性、稳定性和容错性。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengrag/bestpractice/kunpengrag_21_0024.html
sourcePath: /source/zh/kunpengrag/bestpractice/kunpengrag_21_0024.html
indexId: 16e96bbfd0053a1ce6e67fca6f50f411173f447d2917d482d4e034ae45f6f8d758
---
# 基于工作流构建智能问答服务

工作流通过将复杂的任务分解成较小的步骤（节点）降低系统复杂度，减少了对提示词技术和模型推理能力的依赖，提高了LLM应用面向复杂任务的性能，提升了系统的可解释性、稳定性和容错性。

Dify工作流分为两种类型：

- Chatflow：面向对话类情景，包括客户服务、语义搜索、以及其他需要在构建响应时进行多步逻辑的对话式应用程序。
- Workflow：面向自动化和批处理情景，适合高质量翻译、数据分析、内容生成、电子邮件自动化等应用程序。

下面将基于工作流构建智能问答应用：

1. 创建工作流。
2. 编辑工作流。
  如下图所示，添加“知识检索”节点、“LLM”节点、“开始”和“结束”节点构成了基于RAG增强的知识问答工作流。

3. 配置变量。

  a. 在“开始”的节点，新增“输入字段”，类型为string，作为问答的输入参数。
  b. 在“知识检索”的节点，添加查询变量。
  c. 在“LLM”节点，添加上下文以及提示词信息。
  d. 在“结束”节点，添加LLM的输出为输出变量，作为问答的输出参数。
4. 单击“运行”进行调试，输入“写一个矩阵乘法的代码示例，使用鲲鹏KTFOP库提供的函数接口进行加速：给定张量a，b以及参数结构体M，执行矩阵乘法，结果放到output中”，聊天助手输出如下所示。聊天助手在生成的代码示例中，引用了KTFOP算子库头文件，并正确设置MatMulParams矩阵参数，以及调用MatMul接口。
5. 发布。
  工作流调试完成后可以发布，目前支持的发布形式有：直接运行、批处理、访问API、发布为工具。
