** **
** Dify搭建手册**
技术分享,一条龙完成dify的chatgpt的ai客服,中间有借用几位大神非常实用的文章分享。按照这个流程来有一些互联网基础的小伙伴应该都能做出来。
目前我是做出来用于减轻客服妹妹的压力,不在线时挂上基于自己公司客服话术等知识库的gpt-ai去自动回复,配上ai咒语做限制,蛮聪明的效果还不错。客服妹妹如果好看的那做一个出来还是很香的,如果和妹妹又离得近的话,恭喜你直接晋升为客服部妹妹们的好哥哥,脱离南山少林寺,成为灵鹫宫的主人,统率数百名女人。
首先,你需要理解 Dify.AI 是什么?
官网的解释是--Dify 是一个开源且非常简单易用的 LLMOps 平台,让你能够可视化快速创建并运营 AI 应用的工具平台。Dify 提供了可视化的 Prompt 编排、运营、数据集管理等功能。你甚至无需具备 AI 相关的技术研究和晦涩概念的理解。Dify 对接了各个出色的大型语言模型供应商,如 OpenAI、Azure OpenAI、Antropic 等,已提供 GPT 系列、Claude 系列模型,未来也将接入优秀的开源模型。这一切都是可以在设置中切换使用。这意味着,你在创建调试应用时,可以对比不同模型的效果,以确定使用最适合你的模型。基于 Dify,你不仅可以很轻易地开发一个 AI 智能客服,还可以创造符合你使用习惯和需求的文本写作助手、虚拟招聘 HR 专家、会议总结助手、翻译助手等各种文本生成型应用,为你的工作提效。
分享一批可用的 ChatGPT API Keys
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
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
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
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
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
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
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
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
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
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
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
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
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
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
如果分享的不能使用了可以上淘宝等几毛钱买一个直连的apikey
关键字
1.版本
Docker版本docker-ce-20.10.6
Git版本git version 2.39.3
Dif版本 dify社区版
2.目录位置
Git目录位置 /home/git
Git仓库位置 /home/data/git/gittest.git
Dify目录位置/home/dify
3,容器操作方式
Docker exec -it 容器名或容器id /bin/bash或/bin/sh
4,openai-apikey免费分享
一.基础环境搭建(git,docker都有的直接跳转到目录三1,“Clone Dify 源代码至本地操作”)
1.磁盘分区
查看磁盘是否已经挂载在根目录上
盘够大且已挂载
**2.**防火墙
查看iptables和farewalld防火墙状态,先进行关闭,后期搭建完后可根据情况根据netstat-tnulp开启iptables开放端口
3.进行基础优化和下载常用工具
3.1云服务器已经有基础优化
1.关闭selinux
sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config
2.networkmanager(关闭图形化显卡)
systemctl disable NetworkManager
3.调整单个进程最大能打开文件的数量
echo '* - nofile 65535' >> /etc/security/limits.conf
3.2下载常用工具
yum -y install net-tools vim tree htop iftop gcc gcc-c++ glibc\ iotop lrzsz sl wget unzip telnet nmap nc psmisc \ dos2unix bash-completion bash-completion-extra sysstat \ rsync nfs-utils httpd-tools
- 搭建docker和git来克隆dify镜像
二.Docker搭建
Docker版本docker-ce-20.10.6
目录位置
镜像位置
参考文档5分钟安装docker详细步骤_docker_脚本之家 (jb51.net)
文档原链接https://www.jb51.net/article/213611.htm
。卸载旧版本(如docker可用则省略这一步)
老版本的docker被称作docker 或者 docker-engine,如果有老版本的docker,把它和相关依赖一起卸载。
1
2
3
4
5
6
7
8
$ remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装步骤
官方推荐使用通过设置docker仓库的方法来安装,安装和升级都简单些。
1 设置docker仓库
第一次安装的时候需要设置docker仓库,后面就可以利用该仓库进行安装和升级docker。
需要先安装 yum-utils 包,它可以提供yum-config-manager工具和配置稳定的仓库。
1
2
3
4
yum install -y yum-utils
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
2 安装docker引擎
安装最新版docker引擎和容器,或者去下一步制定一个版本安装:
1
$ yum install docker-ce docker-ce-cli containerd.io
如果提示接受GPG key,验证是否是060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果是,就接受。
如果启用了多个Docker存储库,则在不在yum install或yum update命令中指定版本的情况下,安装或更新总是安装可用的最高版本,这可能不适合您的稳定性需要。
上面的命令安装好了最新版的docker,但是还没有启动服务,docker组也被创建好了,但是还没有用户分配到该组。
3 安装指定版本的docker引擎
列出仓库可用的所有版本,然后选择安装,下面命令把列出的结果进行倒序排序:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@iZbp180j96p8y98l1s1oucZ ~]# yum list docker-ce --showduplicates | sort -r
Last metadata expiration check: 0:32:38 ago on Fri 28 May 2021 06:17:26 PM CST.
Installed Packages
docker-ce.x86_64 3:20.10.6-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.6-3.el8 @docker-ce-stable
docker-ce.x86_64 3:20.10.5-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.4-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.3-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.2-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.1-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.0-3.el8 docker-ce-stable
docker-ce.x86_64 3:19.03.15-3.el8 docker-ce-stable
docker-ce.x86_64 3:19.03.14-3.el8 docker-ce-stable
docker-ce.x86_64 3:19.03.13-3.el8 docker-ce-stable
Available Packages
通过下面命令指定要安装的版本,例如,对于3:20.10.6-3.el8,它的版本号是:到-中间的部分,也就是: 20.10.6
1
$ yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
用版本号替换一下,上面的命令就是:
1
$ yum install docker-ce-20.10.6 docker-ce-cli-20.10.6 containerd.io
4 启动docker
1
$ systemctl start docker
5 运行hello-world
为了验证docker正确安装并正常启动,执行自带的hello-world镜像。
1
$ docker container run hello-world
如果这个hello-world镜像默认不存在,会自动下载,然后运行这个image。
- git搭建
Git版本git version 2.39.3
Git目录位置 /home/git
Git仓库位置 /home/data/git/gittest.git
参看文档在Centos7下搭建Git服务器 - Tse先生 - 博客园 (cnblogs.com)
文档原链接https://www.cnblogs.com/Sungeek/p/6928125.html
Ps:因此次git只用于克隆镜像,故而做到服务器端创建 Git 仓库已经够用,若要更深入使用可参考上方文档
三① 安装 Git
centos7 做为服务器端系统,Windows 作为客户端系统,分别安装 Git
服务器端:
先检查服务器有没有自带或者安装git;查询Git版本
[root@localhost ~]# git --version
git version 1.8.3.1
[root@localhost ~]# rpm -qa git
git-1.8.3.1-6.el7_2.1.x86_64
查询到没有的话就yum安装一下;
#yum install -y git
安装完后,查看 Git 版本
[root@localhost ~]# git --version
git version 1.8.3.1
客户端:
下载 Git for Windows,地址:Git for Windows
安装完之后,可以使用 Git Bash 作为命令行客户端。
安装完之后,查看 Git 版本
Administrator@SG MINGW64 ~
$ git --version
git version 2.13.0.windows.1
② 服务器端创建 git 用户,用来管理 Git 服务,并为 git 用户设置密码
[root@localhost home]# id git
id: git:无此用户
[root@localhost home]# useradd git
[root@localhost home]# passwd git
③ 服务器端创建 Git 仓库
设置 /home/data/git/gittest.git 为 Git 仓库
然后把 Git 仓库的 owner 修改为 git
[root@localhost home]# mkdir -p data/git/gittest.git
[root@localhost home]# git init --bare data/git/gittest.git
初始化空的 Git 版本库于 /home/data/git/gittest.git/
[root@localhost home]# cd data/git/
[root@localhost git]# chown -R git:git gittest.git/
- 给dify拉取镜像
Dify目录位置 /home/dify
参考文档 Docker Compose 部署 | 中文 | Dify
文档原链接https://docs.dify.ai/v/zh-hans/getting-started/install-self-hosted/docker-compose
Clone Dify
**1.**Clone Dify 源代码至本地
复制
git clone https://github.com/langgenius/dify.git
**2.**Start Dify
进入 dify 源代码的 docker 目录,执行一键启动命令:
复制
cd dify/dockerdocker compose up -d
部署结果:
复制
[+] Running 7/7 ✔ Container docker-web-1 Started 1.0s ✔ Container docker-redis-1 Started 1.1s ✔ Container docker-weaviate-1 Started 0.9s ✔ Container docker-db-1 Started 0.0s ✔ Container docker-worker-1 Started 0.7s ✔ Container docker-api-1 Started 0.8s ✔ Container docker-nginx-1 Started
**3.**最后检查是否所有容器都正常运行:
复制
docker compose ps
包括 3 个业务服务 api / worker / web,以及 4 个基础组件 weaviate / db / redis / nginx。
复制
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTSdocker-api-1 langgenius/dify-api:0.3.2 "/entrypoint.sh" api 4 seconds ago Up 2 seconds 80/tcp, 5001/tcpdocker-db-1 postgres:15-alpine "docker-entrypoint.s…" db 4 seconds ago Up 2 seconds 0.0.0.0:5432->5432/tcpdocker-nginx-1 nginx:latest "/docker-entrypoint.…" nginx 4 seconds ago Up 2 seconds 0.0.0.0:80->80/tcpdocker-redis-1 redis:6-alpine "docker-entrypoint.s…" redis 4 seconds ago Up 3 seconds 6379/tcpdocker-weaviate-1 semitechnologies/weaviate:1.18.4 "/bin/weaviate --hos…" weaviate 4 seconds ago Up 3 seconds docker-web-1 langgenius/dify-web:0.3.2 "/entrypoint.sh" web 4 seconds ago Up 3 seconds 80/tcp, 3000/tcpdocker-worker-1 langgenius/dify-api:0.3.2 "/entrypoint.sh" worker 4 seconds ago Up 2 seconds 80/tcp, 5001/tcp
*4.Upgrade Dify更新dify*
进入 dify 源代码的 docker 目录,按顺序执行以下命令:
复制
cd /home/dify/docker
git pull origin main
docker compose down
docker compose pull
docker compose up -d
四,测试访问以及在dify上创建ai客服
参考文档
Dify 基于 ChatGPT 构建本地知识库问答应用-CSDN博客
https://blog.csdn.net/qq_43692950/article/details/131345124
下载好镜像启动后,可以看到相关服务:
如果有防火墙需要放行 80、5432 端口。
下面在浏览器访问 http://部署服务ip:80 ,即可进入到 dify ,刚开始需要设置邮箱、用户名密码信息:
设置完成并登录后即可来到主页面:
三、构建私有化知识库问答应用
3.1 构建本地知识库
现在我们定义下课程信息,将内容放入一个 txt 文本中:
周一课程:上午:JAVA,下午:Python。
周二课程:上午:机器学习,下午:机器视觉。
周三课程:上午:NLP,下午:HTML。
周四课程:上午:微服务,下午:大数据。
周五课程:上午:android,下午:历史文化。
下面点到数据集下,点击创建数据集:
下面将上面的 txt 文本拖入或选中进来:
下面进行文本的分段与清洗,由于内容不多,可以分到一个段中:
下面点击保存就成功创建了一个知识库:
3.2 构建问答应用
下面构建一个问答的应用:
由于是使用 ChatGPT 下面先给它指定一个 API key:( 没有的话可以在淘宝等几毛钱,要买直连的,不能是中转的)
对于 ChatGPT 的版本,这里以 gpt-3.5-turbo 为例:
下面在 提示词编排 中使用上面的知识库:
此时可以在右侧进行调试:
可以看到已经有了我们想要的效果,最后感觉不错的话,一定要点下右上角的发布,下面我们通过 API 的方式去使用它,在访问API 中可以看到API接口地址,并给出了访问示例:
访问前需要生成 API 秘钥,可以点击 API 秘钥 生成:
下面我们就可以使用 PostMan 进行访问了。
3.3 效果测试
这里使用自带的预览:
下面就可以进行一些针对性的问答了:
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_43692950/article/details/131345124
能够访问后
- Dify 基于 ChatGPT 构建本地知识库问答应用
1.Dify 基于 ChatGPT 构建本地知识库问答应用-CSDN博客
五,如何在几分钟内创建一个带有业务数据的官网 AI 智能客服
可能 AI 智能客服是每个业务网站的标配,在大型语言模型能力广泛被应用后,智能客服的实现变得更加轻易,可定制化的程度也更高。以下内容,将指导你如何在几分钟时间内,使用 Dify 创建你网站的 AI 智能客服。Dify 产品支持将对话型应用嵌入到网页,你只需要花费几分钟就可以将对话型应用免费嵌入到你的官网上,定制你的 AI 智能客服。即使非技术人员也能搞定!
首先,你需要理解 Dify.AI 是什么?
Dify 是一个开源且非常简单易用的 LLMOps 平台,让你能够可视化快速创建并运营 AI 应用的工具平台。Dify 提供了可视化的 Prompt 编排、运营、数据集管理等功能。你甚至无需具备 AI 相关的技术研究和晦涩概念的理解。Dify 对接了各个出色的大型语言模型供应商,如 OpenAI、Azure OpenAI、Antropic 等,已提供 GPT 系列、Claude 系列模型,未来也将接入优秀的开源模型。这一切都是可以在设置中切换使用。这意味着,你在创建调试应用时,可以对比不同模型的效果,以确定使用最适合你的模型。基于 Dify,你不仅可以很轻易地开发一个 AI 智能客服,还可以创造符合你使用习惯和需求的文本写作助手、虚拟招聘 HR 专家、会议总结助手、翻译助手等各种文本生成型应用,为你的工作提效。
前提条件
注册或部署 Dify.AI
Dify 是一个开源产品,你可以在 GitHub (https://github.com/langgenius/dify) 上找到它并部署在你本地或公司内网。同时它提供了云端 SaaS 版本,访问 https://dify.ai/zh 注册即可使用。
申请 OpenAI 等模型厂商的 API key
AI 模型的消息调用需要消耗 token,Dify 提供了 OpenAI GPT 系列(200 次) 和 Antropic Claude(1000 次) 模型的消息免费调用使用额度,在你消耗完毕前,需要通过模型厂商的官方渠道申请你自己的 API key。在 Dify 的【设置】--【模型提供商】处可填入 key。
上传你的产品文档或知识库
如果你希望能基于公司现有的知识库和产品文档构建人工智能客服,来与用户交流,那么你需要尽可能将你产品有关的文档上传到 Dify 的数据集中。Dify 帮助你完成数据的分段处理和清洗。Dify数据集支持高质量和经济两种索引模式,我们推荐使用高质量模式,会消耗 token 但能提供更高的准确性。操作步骤:在 【数据集】页面,新建一个数据集,上传你的业务数据(支持批量上传多个文本),选择清洗方式,【保存并处理】,只需几秒钟即可完成处理。
创建一个 AI 应用,给 AI 指令
在【构建应用】页面创建一个对话型应用。然后开始设置 AI 指令和它在前端和用户交互的体验:
- 给 AI 指令:点击左侧【提示词编排】编辑你的 Prompt ,让它扮演客服的角色与用户交流,你可以指定它和用户交流的语气、风格、限定它回答问题的范围;
- 让 AI 拥有你的业务知识:在【上下文】中添加你刚才上传的目标数据集;
- 设置一个【对话开场白】:点击 【添加功能】打开功能开关。目的是为 AI 应用添加一个开场白,在用户打开客服窗口时,它会先和用户打招呼,增加亲和感。
- 设置【下一步问题建议】:在【添加功能】开启此功能。目的是为了让用户在提完一个问题后,给用户进行下一步提问的方向提示。
- 选择一个合适的模型并调整参数:页面右上角可以选择不同的模型。不同模型的表现和消耗的 token 价格都不一样。这个例子中,我们使用 GPT3.5 模型。
在这个 case 中,我们给 AI 指定了扮演的角色:
指令:你将扮演 Dify 的 AI 智能客服,你是 Dify 的第一个 AI 员工,名字叫 Bob。专门解答关于 Dify 产品、团队或 LLMOps 相关的用户问题。请注意,当用户提出的问题不在你的上下文内容范围内时,请回答不知道。请以友好的语气和用户交流,可以适当加入一些 emoji 表情增进与用户之间的互动。
开场白:你好,我是 Bob☀️, Dify的第一位AI成员。您可以与我讨论任何与Dify产品、团队甚至LLMOps相关的问题。
调试 AI 智能客服的表现并发布
完成以上的设置后,你可以在当前的页面右侧给它发送信息调试它的表现是否符合预期。然后点击【发布】。这时候你就已经拥有了一个 AI 智能客服。
将 AI 客服应用嵌入到你的前端页面
这一步,是将准备好的 AI 智能客服嵌入到你的官网页面。依次点击【概览】->【嵌入】,选择 script 标签方式,将 script 代码复制到你网站
<head>
或
<body>
标签中。如你是非技术人员,可让负责官网的开发帮忙粘贴并更新页面。
- 将复制的代码粘贴到你官网的目标位置:
- 更新你的官网,即可以得到一个拥有你业务数据的官网 AI智能客服。试一试效果:
以上通过 Dify 官网 AI 客服 Bob 的例子演示了如何将 Dify 应用嵌入到官网的具体操作步骤。当然,你还可以通过 Dify 提供的更多特性来增加 AI 客服的表现,例如增加一些变量设置,让用户在互动前填入必要的判断信息,如名字、使用的具体产品等等。
看到这张图就大功告成了
恭喜你,靠这个去涨薪吹牛也是个不错的选择。
参考文档
5分钟安装docker详细步骤_docker_脚本之家 (jb51.net)
在Centos7下搭建Git服务器 - Tse先生 - 博客园 (cnblogs.com)
Dify 基于 ChatGPT 构建本地知识库问答应用-CSDN博客
文档原链接 https://blog.csdn.net/qq_43692950/article/details/131345124
如何在几分钟内创建一个带有业务数据的官网 AI 智能客服 | 中文 | Dify
版权归原作者 踏月行凶 所有, 如有侵权,请联系我们删除。