搭建条件
目标
快速部署一个本地大模型问答系统,要求大模型也要本地化部署,保障数据安全。
前置条件
- docker
- docker-compose
用到的软件和平台
- dify
- xinference
部署步骤
1. 部署Dify
Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。
Dify 和LangChain类似,都是帮助用户搭建基于大模型的问答系统的框架,区别是Dify完成度很高,可以提供良好的前端页面,部署完成后,可以在前端进行配置,不需要用户进行代码开发。
1.1. 下载Dify
git clone https://github.com/langgenius/dify.git
1.2. 配置环境变量
cd dify/docker
cp .env.example .env
可以修改.env中的变量。例如我这里修改了 .env 文件对外报露的端口号
EXPOSE_NGINX_PORT=1080
EXPOSE_NGINX_SSL_PORT=1443
1.3. 启动Dify
使用docker-compose 启动Dify
docker-compose up -d
1.4. 访问
如果你没有修改端口号,则访问
# 本地环境
http://localhost
# 服务器环境
http://your_server_ip
否则,可以根据修改的端口号,进行访问
# 本地环境
http://localhost:1080
# 服务器环境
http://your_server_ip:1080
2. 配置大模型URL (可略过)
如果你不想自己部署本地的模型,而是使用一些大公司提供的API,可以按照如下步骤进行操作。
下面两个可以选一个使用。
2.1. 配置通义千问 API
dashscope.console.aliyun.com/overview
- 登录阿里云控制台
- 创建API- KEY。这个key 需要自己保存,创建完毕之后,阿里云平台上就查看不到完整的KEY了。
- 试用模型。模型体验中心,选择API-KEY, 模型,输入prompt,点击执行,与大模型进行对话。
- 拷贝API-KEY 到Dify
2.2. 配置月之暗面API
platform.moonshot.cn/console/inf…
- 登录月之暗面控制台,
-
创建API。上面的界面中,点击新建,新建一个key
-
拷贝key到dify
2.3. 测试模型
大模型接入Dify后,可以建立一个聊天机器人,测试是否连接成功。
-
工作室页面,点击创建空白应用。
-
配置空白应用名字,选择聊天助手、基础编排。
-
点击创建,进入该应用
-
点击页面右上角,选择要使用的大模型。
- 输入提示词、右下角输入要与大模型的对话,点击小飞机图标,开始对话。
3. 部署本地大模型
第2个小节里面,接入了一些公司提供的大模型 API。下面介绍如何本地化部署大模型。
3.1. 部署xinference
Xorbits Inference(Xinference)是一个性能强大且功能全面的分布式推理框架。可用于各种模型的推理。通过 Xinference,你可以轻松地一键部署你自己的模型或内置的前沿开源模型。
如果你希望在 Linux 或者 Window 服务器上部署大模型,可以使用 Xinference 官方的 Docker 镜像来一键安装和启动 Xinference 服务(确保你的机器上已经安装了 Docker 和 NVIDIA驱动),命令如下:
docker pull xprobe/xinference:latest
docker run -p 9997:9997 --gpus all xprobe/xinference:latest xinference-local -H 0.0.0.0
访问xinference的web页面: http://your_ip:9997/
选择希望加载的模型。
配置模型参数和模型ID
选择从modelscope 下载会比较快。点击左下角的小火箭,加载模型。(因为要下载模型,所以会比较慢,需要等一会)
3.2. 模型接入Dify
- 进入配置页面
- 选择xinference供应商
- 输入xinference的URL和刚才配置的模型ID,点击保存即可。
3.3. 测试接入的大模型
测试过程和2.3 小节一样,只不过需要选择刚才我们自己部署的大模型。如果这个页面没有显示刚才接入的模型,刷新整个页面,再试一下。