基于工作流构建智能问答服务

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

Dify工作流分为两种类型:

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

  1. 创建工作流。

  2. 编辑工作流。

    编辑工作流,如下图所示,添加“知识检索”节点、“LLM”节点、“开始”和“结束”节点就是一个基础的基于RAG增强的知识问答工作流。

  3. 配置变量。

    1. 在“开始”的节点,新增“输入字段”,类型为string,作为问答的输入参数。

    2. 在“知识检索”的节点,添加查询变量。

    3. 在“LLM”节点,添加上下文以及提示词信息。

    4. 在“结束”节点,添加LLM的输出为输出变量,作为问答的输出参数。

  4. 单击“运行”进行调试,输入“写一个矩阵乘法的代码示例,使用鲲鹏ktfop库提供的函数接口进行加速:给定张量a,b以及参数结构体M,执行矩阵乘法,结果放到output中”,输出如下所示,聊天助手在生成的代码示例中,引用了ktfop算子库头文件,并正确设置MatMulParams矩阵参数,以及调用到Matmul接口。

  5. 发布。

    工作流调试完成后可以发布,目前支持的发布形式有:直接运行、批处理、访问API、发布为工具。