【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、机器学习、深度学习、人工智能系列基础知识与应用案例。致力于只做原创,以最简单的方式理解和学习,关注我一起交流成长。需要数据集和源码的小伙伴可以关注底部公众号添加作者微信。