当前位置: 首页 > news >正文

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

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流程配置
请添加图片描述


一、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控制台界面。按照流程设置账号密码后,登录即可使用。
然后来到,我们自己的工作流界面
在这里插入图片描述

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

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

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

在这里插入图片描述

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

中间下方是每个API的具体入参,返回参数的介绍。右上角是我们API-Key获取的位置,右边是目录栏方便快速找到自己需要的API。
在这里插入图片描述

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

在这里插入图片描述

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

接口参数详情可自行查看该界面,本章节不会一一介绍。
在这里插入图片描述

2. 配置工作流

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

2.1 配置聊天额外入参

在编排页面,选择START,找到右边的加号,即可添加自定义字段,下图中红色框框住的由名称sys.开头的是系统默认字段,key则是自定义字段
在这里插入图片描述

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

分类器输入变量栏中找到自定义参数key,并选择填入,这样这个分类器将按照这个key的内容进行分类。
在这里插入图片描述
分类器分为三类:TEST、default、health,后续将通过key传参来进行区分
在这里插入图片描述

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

在知识库检索后,加入变量聚合器,由于知识库将按照项目区分,所以每次问答只会走一个知识库,则将其聚合再放入大模型组件中。
避免多次配置,费时,且页面杂乱
在这里插入图片描述

2.4 知识库配置

创建三个知识库,这里我将知识库名字改为和分类key一致。
在这里插入图片描述

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():# 转发请求到原始APIproduct_keys = list(UserAndProdRoles.objects.filter(user_id=request.user.id).values_list('product__product_key', flat=T

相关文章:

  • 了解Android studio 初学者零基础推荐(2)
  • 高级SQL技巧:时序数据查询优化与性能调优实战
  • Labview实现计算CPK参数
  • 在react项目中使用andt日期组件,选择周和季度,直接获取所对应的日期区间
  • 鸿蒙仓颉开发语言实战教程:实现商城应用首页
  • 高效缓存设计的哲学
  • 2025年- H42-Lc150 --146. LRU缓存(哈希表,双链表)需二刷--Java版
  • 网络图片的缓存和压缩
  • Rust 学习笔记:关于生命周期的练习题
  • 深度解析:Spark、Hive 与 Presto 的融合应用之道
  • uni-app学习笔记八-vue3条件渲染
  • 黑马+点评常见问题
  • work-platform阅读
  • OceanBase 开发者大会,拥抱 Data*AI 战略,构建 AI 数据底座
  • git checkout HEAD
  • 计及可再生能源不确定性的经济优化调度方法
  • Centos8安装 python3并保留系统的python2
  • I.MX6U Mini开发板通过GPIO口测试光敏传感器
  • 使用 OpenCV 实现哈哈镜效果
  • GPU P-State 模式说明
  • 青岛建网站/一个新品牌如何推广
  • 企业网站管理系统c/网站数据查询
  • 谁有永久免费的服务器/开鲁网站seo不用下载
  • 洛阳网站建设培训/如何宣传推广
  • 三门峡做网站公司/seo综合查询什么意思
  • 嘉定网站建设哪里好/整合营销传播的明显特征是