最新版Dify连接本地Ollama和 vLLM

一、Dify介绍


Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。

由于 Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API这为开发者节省了许多重复造轮子的时间,使其可以专注在创新和业务需求上。

官网:https://dify.ai/

官网文档地址: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本地地址:

http://192.168.234.128:11434/

2、安装vLLM

详情请看这篇文章:《Ollama、vLLM和LMDeploy这三款主流大模型部署框架》 

vLLM本地地址:

http://192.168.234.128:11434/

若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一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值