Ollama + DeepSeek + Dify私有化部署自己的AI Agent-智能体
前言
最近公司要上AI智能客服,因为之前是使用coze的工作流,但coze没法私有化部署,研究了一下Dify这个AI应用引擎,感觉功能还是很强大的,特别是流程编排、RAG检索、模型管理、知识库维护等,内置了各种国内外的厂商模型,可以根据自己的业务需求来选择模型进行处理,而且模型可以借助Ollama来私有化部署。与其对等的产品还有FastGPT,字节的Coze,目前开源的只有Dify和FastGPT。也研究对比了RAGFLOW,后面AI智能客服会是基于RAGFLOW,因为RAG能力是这几款上最好的了,但Dify的工作流非常不错,能与运维工作配合好点。
安装前
在开始安装之前,我们需要确保系统满足以下基本要求:
- CPU至少2核心
- 内存至少4GB(建议8GB以上)
- 硬盘空间至少20GB(为了后续扩展)
- 操作系统支持:Windows、macOS或Linux
- Docker环境
- 安装Ollama+DeepSeek 模型,参考:
https://199604.com/3244
下载安装Dify
官网:https://dify.ai/zh
GitHub地址:https://github.com/langgenius/dify
首先,让我们来安装dify。虽然有多种部署方式,但我建议使用Docker方式部署,这样最简单稳妥了,参考:https://docs.dify.ai/zh-hans/getting-started/install-self-hosted/docker-compose
下载代码:
git clone https://github.com/langgenius/dify.git
cd dify/docker
配置环境:
将.env.example文件改名为.env,并使用记事本或文本工具打开.env
cp .env.example .env
#修改以下配置
CONSOLE_URL=http://localhost
SERVICE_API_URL=http://localhost
# 上传文件(单位:M),根据自己需求来
UPLOAD_FILE_SIZE_LIMIT=150
UPLOAD_FILE_BATCH_LIMIT=20
# 上传图片、视频、音频的大小限制,根据自己需求来
UPLOAD_IMAGE_FILE_SIZE_LIMIT=100
UPLOAD_VIDEO_FILE_SIZE_LIMIT=100
UPLOAD_AUDIO_FILE_SIZE_LIMIT=100
# nginx 总容量大小
NGINX_CLIENT_MAX_BODY_SIZE=150M
#在最后一行加入下面的代码
# 启用自定义模型
CUSTOM_MODEL_ENABLED=ture
启动服务:
docker-compose up -d
安装完成后,通过以下命令检查服务状态:
docker-compose ps
检查要特别关注以下几个关键容器的状态:
- docker-api-1:API服务
- docker-web-1:Web界面
- docker-worker-1:后台任务处理
- docker-db-1:数据库
- docker-redis-1:缓存服务
- docker-nginx-1:反向代理
访问Dify
安装部署完毕以后,我们可以访问浏览器http://localhost/install
初次进入,会让你设置一个admin管理员的账号,根据提示设置即可,然后进入系统。
配置Dify
右上角-账号-设置-模型提供商-选择ollma
添加model,逻辑推理用deepseek-r1:14b
; embedding用bge-m3
,nomic-embed-text
也是可以的
搭建知识库
在知识库中,点击创建知识库
可以导入已有的文本,支持的格式可以看下图的提示
这里我上传是客服资料手册,点击下一步,进入配置界面,注意:这里我是提前下载好了一个Text Embedding
的模型,所以索引方式这里才能选择,如果没有此类模型,这里是禁止选择的,需要去下载一个,如果用厂商的API服务也可以。
点击保持并处理,进行下一步,等待嵌入处理
测试整合机器人
测试整合,来创建一个简单的聊天会话应用创建一个新的应用
在右上角,就可以看到有个模型选择框,可以选择ollama,这就是我们本地自己搭建的模型,也就是用的本地资源进行跑结果。不过,你也可以选择其他厂商的API服务,只需要在模型设置中填写各个厂商模型的API key即可,在上下文添加知识库。测试–>我们直接问它,可以发现它把刚才维护的知识库中的内容也回答出来了。
如果觉得调试好了,就可以在右上角的发布里进行运行界面,或者嵌入网站中,以及可以生产访问的API,提供给后端请求。
ps:目前的话,检索能力还是差一点,对比ragflow,没那么强大,但是工作流不错。
参考手册
1.https://docs.dify.ai/zh-hans