背景介绍
在前一篇文章 RAG 项目对比 之后,确定 Dify 目前最合适的 RAG 框架。本次就尝试在本地 GPU 设备上部署 Dify 服务。
Dify 是将模型的加载独立出去的,因此需要选择合适的模型加载框架。调研一番之后选择了 Xinference,理由如下:
- 支持多种类型的模型,包括 LLM,Embedding, Rerank, Audio 等多种业务场景的模型需求,一个框架全搞定;
- 方便的模型管理能力,提供可视化页面快速部署模型
- 支持直接从 ModelScope 下载模型,避免 huggingface 被墙的问题;
本文是 Dify 与 Xinference 最佳组合的 GPU 设备部署流程。为了充分利用 nvidia GPU 的能力,需要先安装显卡驱动,CUDA 和 CuDNN,这部分网上的教程比较多了,大家可以自行搜索参考安装,安装时需要注意版本需要与自己的 GPU 显卡版本匹配。
Dify 部署
参考 Dify 官方文档 进行安装。
首先需要下载 Dify 对应的代码:
git clone https://github.com/langgenius/dify.git
之后创建环境变量文件 .env
, 根据需要进行修改,之后就可以基于 docker compose 启动:
cd dify/docker
cp .env.example .env
docker compose up -d
默认访问 http:// 应该就可以看到 Dify 的页面。
docker 镜像问题
实际执行镜像拉取时发现,Docker hub 因为监管的原因已经无法访问了。为了解决这个问题,目前相对可行的方案:
- 利用一些目前可用的镜像服务,当前(2024-7-11)可用的是 public-image-mirrorÿ