> 技术文档 > 大模型应用开发之Dify进阶版使用教程—react前端+django后端+dify-API制作聊天界面_dify开发

大模型应用开发之Dify进阶版使用教程—react前端+django后端+dify-API制作聊天界面_dify开发


Dify进阶使用教程


文章目录

  • Dify进阶使用教程
  • 前言
  • 一、dify-docker环境搭建及简单使用
  • 二、本篇使用API源码部署
    • 启动dify后端
    • 启动dify前端
    • 基于通义模型的智能客服机器人应用与自己项目联动实战
      • 1. 使用API进行项目与dify联动
        • 1.1 在控制台主页,点击创建访问API
        • 1.2 进入API页面,这里有4块是需要了解并使用的,中间是调用API基础路径,以及需要的header头部信息。
        • 1.3 点击API密钥,进行创建API,并将其放保存,后续在后端代码中使用。
        • 1.4 本教程我们只选择发送对话消息,以及暂停响应作为示例。
      • 2. 配置工作流
        • 2.1 配置聊天额外入参
        • 2.2 将自定义字段内容配置在分类器中
        • 2.3 使用变量聚合器组件,将流程简化
        • 2.4 知识库配置
      • 3. 项目对接Dify-API
        • 3.1 将Dify-API所需配置写入后端,并编写view
        • 3.2 React前端,对接Django后端
      • 4. 最后效果展示
        • 4.1 用户提问openssl如何升级,django查看改用户属项目为TEST,dify工作流将问题送入TEST知识库进行查找,并返回
        • 4.2 验证是否分类成功
  • 总结

前言

本文章将介绍如何使用dify提供的API进行项目开发,并介绍所用到的dify部分组件。
这一篇适合需要自主调用dify-API的朋友们。
项目背景:需要在自有系统中开发一个“知识回答机器人”
需求如下
1.AI-chat功能
2.根据自己React + Django系统项目字段进行知识库数据隔离,以及限制AI回答问题能够使用的知识库。

结果先行展示,给大伙靠谱的详情操作贴,最后在自己系统中,可生成参考知识库内容回答的智能专业客服机器人。
聊天界面
大模型应用开发之Dify进阶版使用教程—react前端+django后端+dify-API制作聊天界面_dify开发
dify流程配置
大模型应用开发之Dify进阶版使用教程—react前端+django后端+dify-API制作聊天界面_dify开发


一、dify-docker环境搭建及简单使用

请参考上一篇文章大模型应用开发之Dify入门使用教程-deepseek-R1,只需配置30分钟就能用

二、本篇使用API源码部署

代码下载及环境搭建,参考dify官方文档:dify官方手册

启动dify后端

进入项目api目录下

poetry run flask run --host 0.0.0.0 --port=5001 --debug

启动dify前端

进入web目录下

pnpm start

上述完成后浏览器输入http://localhost/install,进入dify控制台界面。按照流程设置账号密码后,登录即可使用。
然后来到,我们自己的工作流界面
大模型应用开发之Dify进阶版使用教程—react前端+django后端+dify-API制作聊天界面_dify开发

基于通义模型的智能客服机器人应用与自己项目联动实战

1. 使用API进行项目与dify联动

1.1 在控制台主页,点击创建访问API

大模型应用开发之Dify进阶版使用教程—react前端+django后端+dify-API制作聊天界面_dify开发

1.2 进入API页面,这里有4块是需要了解并使用的,中间是调用API基础路径,以及需要的header头部信息。

中间下方是每个API的具体入参,返回参数的介绍。右上角是我们API-Key获取的位置,右边是目录栏方便快速找到自己需要的API。
大模型应用开发之Dify进阶版使用教程—react前端+django后端+dify-API制作聊天界面_dify开发

1.3 点击API密钥,进行创建API,并将其放保存,后续在后端代码中使用。

大模型应用开发之Dify进阶版使用教程—react前端+django后端+dify-API制作聊天界面_dify开发

1.4 本教程我们只选择发送对话消息,以及暂停响应作为示例。

接口参数详情可自行查看该界面,本章节不会一一介绍。
大模型应用开发之Dify进阶版使用教程—react前端+django后端+dify-API制作聊天界面_dify开发

2. 配置工作流

为了满足按照项目的不同,隔离各个知识库的功能,需要对工作流进行配置

2.1 配置聊天额外入参

在编排页面,选择START,找到右边的加号,即可添加自定义字段,下图中红色框框住的由名称sys.开头的是系统默认字段,key则是自定义字段
大模型应用开发之Dify进阶版使用教程—react前端+django后端+dify-API制作聊天界面_dify开发

2.2 将自定义字段内容配置在分类器中

分类器输入变量栏中找到自定义参数key,并选择填入,这样这个分类器将按照这个key的内容进行分类。
大模型应用开发之Dify进阶版使用教程—react前端+django后端+dify-API制作聊天界面_dify开发
分类器分为三类:TEST、default、health,后续将通过key传参来进行区分
大模型应用开发之Dify进阶版使用教程—react前端+django后端+dify-API制作聊天界面_dify开发

2.3 使用变量聚合器组件,将流程简化

在知识库检索后,加入变量聚合器,由于知识库将按照项目区分,所以每次问答只会走一个知识库,则将其聚合再放入大模型组件中。
避免多次配置,费时,且页面杂乱
大模型应用开发之Dify进阶版使用教程—react前端+django后端+dify-API制作聊天界面_dify开发

2.4 知识库配置

创建三个知识库,这里我将知识库名字改为和分类key一致。
大模型应用开发之Dify进阶版使用教程—react前端+django后端+dify-API制作聊天界面_dify开发

3. 项目对接Dify-API

3.1 将Dify-API所需配置写入后端,并编写view

重点可看有注释的地方

class AiRobotViewSet(viewsets.ModelViewSet): API_URL = \"http://xx.xx.xx.xx:5001/v1/chat-messages\" #dify后端地址  HEADERS = {  \'Authorization\': \'Bearer app-xxxxxxxxxxxxxx\', #api-key \'Content-Type\': \'application/json\' } @action(methods=[\'post\'], detail=False, url_path=\"chat-messages\") def chat_messages(self, request): def generate(): # 转发请求到原始API product_keys = list(UserAndProdRoles.objects.filter(user_id=request.user.id).values_list(\'product__product_key\', flat=True).distinct()) 

Error:resultnotfoundinresponse.