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

【Python大语言模型系列】一文教你使用dify云版本开发一个智能客服机器人(完整教程)

这是我的第359篇原创文章。

一、引言

      上篇文章我们介绍了如何使用dify云版本开发一个简单的工作流:

【Python大语言模型系列】一文教你使用dify云版本开发一个AI工作流(完整教程)

      这篇文章我们将引入知识库和大模型,通过构建一个简单的聊天助手项目讲解如果配置知识检索节点和大模型节点以及如何上传知识库。

二、实现过程

工作室-创建空白应用-选择:聊天助手;工作流编排方式选择:进阶;名称设置为:智能客服机器人。

1、工作流编排设计

图片

2、配置LLM节点

先选择模型供应商模型,这里选择chatglm:

图片

LLM节点配置信息包括:

模型:这里我选择glm-4,模型有以下几个参数可以设置:

  • 温度
  • Top P
  • 采用策略
  • 流处理
  • 最大标记
  • 停止序列

图片

上下文:这里用导入的知识库作为上下文,就是知识检索节点的输出结果

  • SYSTEM:提示词,为对话提供高层指导
  • 记忆:就是对话的记忆
  • UESR:这里是开始节点的输入sys.query
  • ASSISTANT:助手(大模型的中间回答)

记忆:这里默认设置为10

输出变量:是模型的生成内容

下一步:该节点的下一个节点

图片

3、创建知识库

点击知识库:

图片

选择数据源,导入已有文本(这里导入南瓜书):

图片

文本分段与清洗:

图片

前往文档:

图片

召回测试:

图片

4、配置知识检索节点

知识检索节点的配置信息包括:

查询变量:这里是开始节点的sys.query

知识库:这里点击添加第3步处理好的知识库

输出变量:这里输出召回的结果

下一步:该节点的一个下一个连接节点

图片

5、发布

图片

Dify平台应用发布的方式提供了三种:运行、嵌入网站、访问api。

图片

第一种是直接运行:

图片

直接运行就是dify为我们提供了这样一个现成的前端页面和链接,我们在任何地方使用这个链接,

图片

第二种方式是嵌入网站的方式:

dify提供了三种嵌入到你自己已有网站的方式,第一种是使用iframe标签,将AI应用嵌入到你目标网站的任何位置,第二种方式是使用script标签将AI应用嵌入到你网站的任何位置,第三种方式是安装Dify chrome浏览器扩展,去chrome浏览器中去使用这个AI聊天应用。

图片

第三种方式是访问api的方式:

直接运行和嵌入网站的方式,前端的页面都是dify定义好的,但是很多时候,我们有开发自己聊天页面的需求,那么显然直接运行和嵌入网站的方式是不能满足需求的,我们需要自定义聊天架构,那么我们就可以调用dify应用的API。

图片

python示例代码:​​​​​

import requests
import json

# 代理服务器的地址和端口
proxies = {'http': 'socks5://127.0.0.1:10809',
           'https': 'socks5://127.0.0.1:10809'}

url = 'https://api.dify.ai/v1/chat-messages'
api_key = 'app-xxxxx'
headers = {
    'Authorization': f'Bearer {api_key}',
    'Content-Type': 'application/json',
}
data = {
    "inputs": {},
    "query": "你是谁?",
    "response_mode": "streaming",
    "conversation_id": "",
    "user": "abc-123"
}

response = requests.post(url, headers=headers, data=json.dumps(data), proxies=proxies)
if response.status_code == 200:
    print("Request successful")
    print("Response:", response.json())
else:
    print(f"Request failed with status code: {response.status_code}")
    print("Error:", response.text)

作者简介:

读研期间发表6篇SCI数据挖掘相关论文,现在某研究院从事数据算法相关科研工作,结合自身科研实践经历不定期分享关于Python、机器学习、深度学习、人工智能系列基础知识与应用案例。致力于只做原创,以最简单的方式理解和学习,关注我一起交流成长。需要数据集和源码的小伙伴可以关注底部公众号添加作者微信。


http://www.kler.cn/news/318752.html

相关文章:

  • 线性判别分析(LDA)中计算两个类的中心点在投影方向w上的投影示例
  • 【质优价廉】GAP9 AI算力处理器赋能智能可听耳机,超低功耗畅享未来音频体验!
  • SpringBoot开发——实现webservice服务端和客户端
  • Paper 0 | Visual Instruction Tuning
  • Html--笔记01:使用软件vscode,简介Html5--基础骨架以及标题、段落、图片标签的使用
  • golang strings api接口
  • TraceId在线程池及@Async异步线程中如何传递
  • 低代码门户技术:构建高效应用的全新方式
  • Linux之实战命令10:htop应用实例(四十四)
  • 【中台设计】数字中台,大数据中台解决方案,中台建设指南(资料Word分享)
  • 聊天组件 Vue3-beautiful-chat 插槽
  • Golang | Leetcode Golang题解之第424题替换后的最长重复字符
  • 网安面试题1
  • Pygame中Sprite实现逃亡游戏2
  • 基础容器.
  • ECMAScript与JavaScript的区别
  • MicroPython 怎么搭建工程代码
  • 面试场景题
  • Vue3 中集成海康 H5 监控视频播放功能
  • centos安装python3.10教程
  • Unity DOTS系列之Aspect核心机制分析
  • FileLink跨网文件传输 | 跨越网络边界的利器,文件传输不再受限
  • mysqli_fetch_object() 和 mysqli_fetch_array() 函数的区别
  • 《解锁高效流程设计:深度剖析责任链模式与实战应用》
  • MySQL 的认证插件
  • android 15 Adapter TextView中英文差异 高度不一致
  • 2024云手机推荐与排行:怎样选择最适合的云手机?
  • MyBatis 多数据源支持
  • MySQL版本问题无法使用 group by xxx
  • GitLab 批量创建用户