ChatGPT 基于Dify 构建ai客服详细教程(git-docker-dify-gpt)

CSDN 2024-06-17 08:07:07 阅读 68

       

                                                                     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

如果您的系统安装了 Docker Compose V2 而不是 V1,请使用 docker compose 而不是 docker-compose。通过$ docker compose version检查这是否为情况。在这里阅读更多信息。

部署结果:

复制

[+] 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



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。