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

大模型应用开发之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
http://www.xdnf.cn/news/7989.html

相关文章:

  • 【LLIE专题】基于事件相机照度估计的暗光增强方案
  • 手机合集(不定期更新)
  • redis数据持久化和配置-15(备份和还原 Redis 数据)
  • Ubuntu nginx 配置 SSL 证书支持 https 请求
  • 数据结构 -- B树和B+树
  • 插值算法 - 图像缩放插值QT
  • 容器化与云原生安全
  • 深入剖析 5G 核心网中的 PLMN
  • 青少年编程与数学 02-020 C#程序设计基础 01课题、C#编程概要
  • launch 在Kotlin 中怎么使用
  • [Vue]路径跳转和路由高级设置
  • SC3000智能相机-自动存图
  • java后端-海外登录(谷歌/FaceBook)
  • Appium+python自动化(二)- 环境搭建—下
  • Go 语言中的 Struct Tag 的用法详解
  • mysql可重复读隔离级别下的快照读和当前读
  • leetcode 148. Sort List
  • 力扣-无重复字符的最长子串
  • Golang 内存模型小结
  • Qt 最新版6.9.0使用MQTT连接腾讯云详细教程
  • window 显示驱动开发-视频内存供应和回收(一)
  • jquery.table2excel方法导出
  • 鸿蒙仓颉开发语言实战教程:实现商城应用首页
  • 尼科彻斯定理
  • Vue 3.0中自定义指令
  • 01-jenkins学习之旅-window-下载-安装
  • 【云原生安全】零信任与机密计算
  • Qt C++实现马的遍历问题
  • 【JavaEE】(1) 计算机如何工作
  • 阿里巴巴 MCP 分布式落地实践:快速转换 HSF 到 MCP server