一、Dify介绍
Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。
由于 Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API。这为开发者节省了许多重复造轮子的时间,使其可以专注在创新和业务需求上。
官网文档地址:https://docs.dify.ai/zh-hans
github地址:https://github.com/langgenius/dify
二、安装Dify最新版
一般采用DockerCompose来安装部署。前提条件
安装 Dify 之前, 请确保你的机器已满足最低安装要求:
CPU >= 2 Core
RAM >= 4 GiB
支持各种操作系统,推荐使用Ubuntu操作系统来安装。
操作系统 | 软件 | 描述 |
---|---|---|
macOS 10.14 or later | Docker Desktop | 为 Docker 虚拟机(VM)至少分配 2 个虚拟 CPU(vCPU) 和 8GB 初始内存,否则安装可能会失败。有关更多信息,请参考 《在 Mac 内安装 Docker 桌面端》 |
Linux platforms | Docker 19.03 or later Docker Compose 1.28 or later | 请参阅安装 Docker 和安装 Docker Compose 以获取更多信息。 |
Windows with WSL 2 enabled | Docker Desktop | 我们建议将源代码和其他数据绑定到 Linux 容器中时,将其存储在 Linux 文件系统中,而不是 Windows 文件系统中。有关更多信息,请参阅使用 WSL 2 后端在 Windows 上安装 Docker Desktop。 |
1、下载最新源码到本地
也可以指定分支代码。目前最新版本为1.3.0 。
git clone https://github.com/langgenius/dify.git
2、复制配置文件
# 进入目录
cd dify/docker
# 复制 一份配置文件
cp .env.example .env
3、启动容器
一定要在这个目录 dify/docker里执行如下命令:
docker compose up -d
运行命令后,你应该会看到类似以下的输出,显示所有容器的状态和端口映射:
[+] Running 11/11
✔ Network docker_ssrf_proxy_network Created 0.1s
✔ Network docker_default Created 0.0s
✔ Container docker-redis-1 Started 2.4s
✔ Container docker-ssrf_proxy-1 Started 2.8s
✔ Container docker-sandbox-1 Started 2.7s
✔ Container docker-web-1 Started 2.7s
✔ Container docker-weaviate-1 Started 2.4s
✔ Container docker-db-1 Started 2.7s
✔ Container docker-api-1 Started 6.5s
✔ Container docker-worker-1 Started 6.4s
✔ Container docker-nginx-1 Started 7.1s
最后检查是否所有容器都正常运行:
docker compose ps
在这个输出中,你应该可以看到包括 3 个业务服务 api / worker / web
,以及 6 个基础组件 weaviate / db / redis / nginx / ssrf_proxy / sandbox
。
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
docker-api-1 langgenius/dify-api:0.6.13 "/bin/bash /entrypoi…" api About a minute ago Up About a minute 5001/tcp
docker-db-1 postgres:15-alpine "docker-entrypoint.s…" db About a minute ago Up About a minute (healthy) 5432/tcp
docker-nginx-1 nginx:latest "sh -c 'cp /docker-e…" nginx About a minute ago Up About a minute 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp
docker-redis-1 redis:6-alpine "docker-entrypoint.s…" redis About a minute ago Up About a minute (healthy) 6379/tcp
docker-sandbox-1 langgenius/dify-sandbox:0.2.1 "/main" sandbox About a minute ago Up About a minute
docker-ssrf_proxy-1 ubuntu/squid:latest "sh -c 'cp /docker-e…" ssrf_proxy About a minute ago Up About a minute 3128/tcp
docker-weaviate-1 semitechnologies/weaviate:1.19.0 "/bin/weaviate --hos…" weaviate About a minute ago Up About a minute
docker-web-1 langgenius/dify-web:0.6.13 "/bin/sh ./entrypoin…" web About a minute ago Up About a minute 3000/tcp
docker-worker-1 langgenius/dify-api:0.6.13 "/bin/bash /entrypoi…" worker About a minute ago Up About a minute 5001/tcp
通过这些步骤,本地成功安装 Dify 。 端口号默认是80 。可以打开http://localhost 进行体验了。
第一次打开,需要设置管理员账号密码。
4、Dify的网络拓扑图
二、安装Olama和vLLM
1、安装Ollama
详情看文章《ubuntu 安装ollama后,如何让外网访问?》
ollama本地地址:
2、安装vLLM
详情请看这篇文章:《Ollama、vLLM和LMDeploy这三款主流大模型部署框架》
vLLM本地地址:
若Ollama和vLLM部署在同一台服务器上,则必须要将两者分在不同的显卡上。
三、接入 Ollama 部署的本地模型
1、安装模型供应商
在 设置 > 模型供应商 >安装模型供应商,找到Ollama,并且点击“安装”,完成后,点击添加“模型”,模型类型有2种:LLM - 通用的自然语言大模型,Text Embedding-词嵌入大模型。
(1)如果是使用大模型进行对话的,则选择LLM 。 模型名称需要选择Ollama已运行的大模型名称,比要填错了。可以使用ollama list命令查看本地已安装的大模型。
(2)基础URL,一定要填写 Dify容器内能访问到的地址,不确定的话
(3)模型类型:对话 ;
(4)模型上下文长度:模型的最大上下文长度,若不清楚可填写默认值 4096。
(5) 最大 token 上限:4096
模型返回内容的最大 token 数量,若模型无特别说明,则可与模型上下文长度保持一致。
(6) 是否支持 Vision:否;
当模型支持图片理解(多模态)勾选此项,deepseek不支持,所以 否;
(7)是否支持函数调用:否;
当模型支持 Function Call,勾选此项。
点击“保存”即可。
2、Dify中测试Ollama
“工作台”--“创建空白应用”。
应用类型:聊天助手
点击“创建”即可。跳到“编排”页面,右上角选择ollama配置的大模型即可。
我们就可以与大模型正常对话了。
四、接入vLLM推理模型
1、安装模型供应商
操作方法与Ollama类似,选择 模型供应商选择 “vLLM”,或者“OpenAI-API-compatible” ;这2个都可以。若是LMDeploy的话,就选择“OpenAI-API-compatible”进行安装。
其他操作与Ollama一致。