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

一、简介

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

前排提示,文末有大模型AGI-CSDN独家资料包哦!

二、功能比较

三、使用 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大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

### Dify 私有化部署不依赖模型供应商的解决方案 Dify私有化部署允许用户在本地环境中运行 AI 应用程序,而无需完全依赖外部模型供应商。尽管通常情况下可以通过设置 `> 模型供应商 > Ollama` 来集成本地模型[^1],但在没有模型供应商的情况下,仍然可以采取以下方法实现私有化部署。 #### 使用自托管模型的方式 如果不想通过配置模型供应商来完成部署,则可以直接利用 Docker 或 Kubernetes 将预训练好的大语言模型(LLM)加载到本地环境,并将其作为服务提供给 Dify 调用。具体来说: - **下载并安装所需的大语言模型**:可以从 Hugging Face、ModelScope 等开源平台获取适合需求的 LLM 并保存至本地磁盘。 - **启动独立的服务端口**:借助 FastAPI、Flask 或者其他轻量级框架创建 RESTful API 接口,使该接口能够接收来自 Dify 的请求并将这些请求转发至已加载的 LLM 进行推理处理[^2]。 - **修改 Dify 配置文件**:编辑 `.env` 文件中的参数以指向上述新建立的服务地址而非传统意义上的云上模型提供商路径。 以下是基于 Python 和 Flask 构建的一个简单示例代码片段用于展示如何搭建这样一个中间层服务: ```python from flask import Flask, request, jsonify import torch from transformers import AutoTokenizer, AutoModelForCausalLM app = Flask(__name__) tokenizer = AutoTokenizer.from_pretrained("path/to/local/model") model = AutoModelForCausalLM.from_pretrained("path/to/local/model") @app.route('/generate', methods=['POST']) def generate(): data = request.get_json() input_text = data['input'] inputs = tokenizer(input_text, return_tensors="pt").to('cuda') outputs = model.generate(**inputs, max_length=50) result = tokenizer.decode(outputs[0], skip_special_tokens=True) return jsonify({"output": result}) if __name__ == '__main__': app.run(host='0.0.0.0', port=8080) ``` 此脚本定义了一个 `/generate` POST 方法用来接受输入字符串并通过指定位置上的 Transformer 类型模型生成回复内容。注意这里假设 GPU 可用;如果不是的话,请调整设备选项为 CPU (`'cpu'`)。 最后一步就是告知 Dify 去调用这个新的 HTTP 服务而不是任何官方支持过的第三方插件形式下的远程资源链接了。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值