大模型本地部署 | 详细教程,私有化部署体验 Dify!_dify 本地部署

一、简介

Dify 是一个开源的 LLM 应用开发平台。其直观的界面结合了 AI 工作流、RAG 管道、Agent、模型管理、可观测性功能等,让您可以快速从原型到生产。

二、功能比较

三、使用 Dify

1、Dify 云服务版:任何人都可以零设置尝试。它提供了自部署版本的所有功能,并在沙盒计划中包含 200 次免费的 GPT-4 调用。

2、Dify Premium:是一款 AWS AMI 产品,允许自定义品牌,并可作为 EC2 一键部署到你的 AWS VPC 上。前往 AWS Marketplace 进行订阅并使用,它适合以下场景:

  • 在中小型企业内,需在服务器上创建一个或多应用程序,并且关心数据私有化。
  • 你对 Dify Cloud 订阅计划感兴趣,但所需的用例资源超出了计划内所提供的资源。
  • 你希望在组织内采用 Dify Enterprise 之前进行 POC 验证。

3、Dify 社区版:即开源版本,你可以通过以下两种方式之一部署 Dify 社区版。

  • Docker Compose 部署
  • 本地源码启动
四、基本信息

1、在线体验:https://dify.ai/
2、开源地址:https://github.com/langgenius/dify
3、官方文档:https://docs.dify.ai/v/zh-hans

五、核心功能列表

1、工作流:在画布上构建和测试功能强大的 AI 工作流程。

2、全面的模型支持:与数百种专有/开源 LLMs 以及数十种推理提供商和自托管解决方案无缝集成,涵盖 GPT、Mistral、Llama3 以及任何与 OpenAI API 兼容的模型。 完整的支持模型提供商列表可在此处找到。

3、Prompt IDE: 用于制作提示、比较模型性能以及向基于聊天的应用程序添加其他功能(如文本转语音)的直观界面。

4、RAG Pipeline: 广泛的 RAG 功能,涵盖从文档摄入到检索的所有内容,支持从 PDF、PPT 和其他常见文档格式中提取文本的开箱即用的支持。

5、Agent 智能体: 可以基于 LLM 函数调用或 ReAct 定义 Agent,并为 Agent 添加预构建或自定义工具。

  • Dify 为 AI Agent 提供了50多种内置工具,如谷歌搜索、DALL·E、Stable Diffusion 和 WolframAlpha 等。

6、LLMOps: 随时间监视和分析应用程序日志和性能。您可以根据生产数据和标注持续改进提示、数据集和模型。

7、后端即服务: 所有 Dify 的功能都带有相应的 API,因此您可以轻松地将 Dify 集成到自己的业务逻辑中。

六、Dify 私有化部署
1、系统要求

在安装 Dify 之前,请确保您的机器满足以下最低系统要求:

  • CPU >= 2 Core
  • RAM >= 4GB
2、快速启动

首先,克隆 Dify 源代码至本地,然后进入 docker 目录,复制一份环境变量,采用默认端口,一键启动:

git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env
docker compose up -d



如果报错:

Error response from daemon: Get “https://registry-1.docker.io/v2/”: EOF

请修改daemon.json文件,设置国内镜像。

"registry-mirrors": [
    "https://registry.docker-cn.com",
    "https://docker.mirrors.ustc.edu.cn",
    "http://hub-mirror.c.163.com",
    "https://cr.console.aliyun.com/"
  ]



  • Linux:vim /etc/docker/daemon.json
  • Mac:vim /Users/oscar/.docker/daemon.json

启动成功后,你会发现共有 9 个容器:

  • 3 个业务服务:api、worker、web
  • 6 个基础组件:weaviate、db、redis、nginx、ssrf_proxy、sandbox

内存占用共计 1790 M,所以至少确保有一台 2G 内存的机器。

在这里插入图片描述

因为项目中启动了一个容器 nginx 将 web 服务转发到 80 端口,所以在浏览器中,直接输入公网 IP 即可,设置一下管理员的账号密码,进入应用主界面。

在这里插入图片描述

在这里插入图片描述

七、接入大模型

设置里找到模型供应商,这里已经支持了上百款模型,我这里主要先接入了三款有免费额度的模型。
在这里插入图片描述

按照提示接入大模型

八、Dify 接入 Ollama 部署的本地模型

Ollama 是一个本地推理框架客户端,可一键部署如 Llama 2, Mistral, Llava 等大型语言模型。 Dify 支持接入 Ollama 部署的大型语言模型推理和 embedding 能力。

载并启动 Ollama

1、下载 Ollama:访问 https://ollama.ai/download,下载对应系统 Ollama 客户端。

2、运行 Ollama 并与 Llava 聊天

ollama run llava   


启动成功后,ollama 在本地 11434 端口启动了一个 API 服务,可通过 http://localhost:11434 访问。

3、在 Dify 中接入 Ollama 在 设置 > 模型供应商 > Ollama 中填入:

在这里插入图片描述

  • 模型名称:llava

  • 基础 URL:http://127.0.0.1:11434,此处需填写可访问到的 Ollama 服务地址。

(1)、若 Dify 为 docker 部署,建议填写局域网 IP 地址,如:http://192.168.1.100:11434 或 docker 宿主机 IP 地址,如:http://172.17.0.1:11434。

(2)、若为本地源码部署,可填写 http://localhost:11434。

  • 模型类型:对话

  • 模型上下文长度:4096

  • 模型的最大上下文长度,若不清楚可填写默认值 4096。

  • 最大 token 上限:4096:模型返回内容的最大 token 数量,若模型无特别说明,则可与模型上下文长度保持一致。

  • 是否支持 Vision:是(当模型支持图片理解(多模态)勾选此项,如 llava。)

点击 “保存” 校验无误后即可在应用中使用该模型。

Embedding 模型接入方式与 LLM 类似,只需将模型类型改为 Text Embedding 即可。

九、创建工作流

回到主页,点击创建空白应用,这里的聊天助手和文本生成应用,是功能最为单一的 LLM 应用,都不支持工具和知识库的接入。
在这里插入图片描述

Agent 和 工作流的区别:

  • Agent:智能体,基于大语言模型的推理能力,可以自主选择工具来完成任务,相对简单。
  • 工作流:以工作流的形式编排 LLM 应用,提供更多的定制化能力,适合有经验的用户。
    在这里插入图片描述
    通常,我们需要 Agent 和 工作流配合使用,Agent 负责对话理解,Workflow 处理具体的定制功能。

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费

在这里插入图片描述

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

<think>好的,用户的问题是关于如何在本地使用Docker Desktop进行vLLM和Dify私有化部署。首先,我需要回忆一下Docker的基本操作以及Dify和vLLM的相关知识。 根据用户提供的引用内容,特别是引用[2]和[3],Dify部署涉及Docker环境的配置,包括下载源码、运行Docker容器以及设置管理员账号。同时,用户还想整合vLLM,这可能涉及到模型服务的配置。 首先,我需要确认Dify部署步骤。引用[3]提到需要克隆仓库、复制.env文件并运行docker compose。这可能包括配置环境变量,比如模型供应商的设置。接下来,vLLM的部署通常也需要Docker,可能需要单独拉取镜像并运行容器,暴露API端口供Dify调用。 用户的环境配置需要安装Docker Desktop,确保系统满足要求,尤其是WSL在Windows下的正确配置。然后,部署Dify时要注意.env文件的配置,可能需要调整模型供应商的端点指向本地的vLLM服务。 另外,引用[2]中提到了ollama的安装和模型下载,但用户的问题是关于vLLM的,所以可能需要替换这部分内容。vLLM的Docker镜像可能需要从特定仓库拉取,并配置模型路径或参数。 在整合Dify和vLLM时,需要在Dify的管理界面中添加自定义模型供应商,输入vLLM的API地址。可能还需要处理CORS或网络问题,确保两个容器能够通信。 用户可能遇到的问题包括Docker compose的版本兼容性、端口冲突、环境变量配置错误,以及模型加载失败等。需要指导用户如何检查日志,调试问题。 最后,生成相关问题时要覆盖常见问题,如性能优化、配置模型路径、日志调试和网络设置等。</think>### Docker Desktop与vLLM及Dify本地私有化部署教程 --- #### **一、本地环境准备** 1. **安装Docker Desktop** - 访问[Docker官网](https://www.docker.com/products/docker-desktop/)下载并安装最新版本 - Windows系统需启用WSL2支持(若安装时提示*WSL update failed*,需手动更新WSL内核)[^2] - 配置国内镜像加速(如阿里云镜像源)以提升拉取速度: ```bash { "registry-mirrors": ["https://<your-id>.mirror.aliyuncs.com"] } ``` 2. **验证Docker环境** 命令行执行: ```bash docker run hello-world ``` 若输出`Hello from Docker!`表示安装成功。 --- #### **二、部署vLLM推理服务** 1. **拉取vLLM镜像** ```bash docker pull nvidia/cuda:12.1.0-base-ubuntu22.04 # 基础镜像 docker pull vllm/vllm:latest # 或指定版本 ``` 2. **启动vLLM容器** ```bash docker run -d --gpus all \ -p 8000:8000 \ -v /path/to/models:/models \ vllm/vllm:latest \ --model /models/llama-2-7b \ --tensor-parallel-size 1 ``` - `--gpus all`:启用GPU加速(需NVIDIA驱动) - `-v`:挂载本地模型目录(如Llama-2需提前下载) - 验证服务:访问`http://localhost:8000/docs`查看API文档 --- #### **三、部署Dify应用** 1. **获取Dify源码** ```bash git clone https://github.com/langgenius/dify.git cd dify/docker ``` 2. **配置环境变量** ```bash cp .env.example .env # 修改.env中以下参数: MODEL_PROVIDER=custom CUSTOM_API_HOST=http://host.docker.internal:8000 # 指向vLLM服务[^3] ``` 3. **启动Dify服务** ```bash docker compose up -d ``` - 等待容器初始化后访问`http://localhost:8080` - 首次登录需设置管理员账号 --- #### **四、整合vLLM与Dify** 1. **在Dify中添加模型** - 进入**模型供应商** → **自定义模型** - 输入vLLM的API端点(如`http://host.docker.internal:8000/v1`) - 测试连接并保存配置 2. **创建知识库与应用** - 上传文档至知识库,选择vLLM支持的模型(如Llama-2) - 在应用编排中绑定模型和知识库 --- #### **常见问题排查** 1. **GPU无法识别** - 执行`nvidia-smi`验证驱动状态 - 添加`--runtime=nvidia`到docker run命令[^1] 2. **跨容器通信失败** - 使用`host.docker.internal`替代`localhost` - 检查防火墙是否开放8000/8080端口 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值