当前位置: 首页 > news >正文

Dify部署全攻略:从零开始搭建AI应用开发平台

Dify是一个开源的AI应用开发平台,它提供了一套完整的工具链,让开发者能够快速构建、部署和管理AI应用。本文将详细介绍Dify的部署方式、配置要点以及常见问题解决方案。

dify文档:dify文档传送门

dify中文文档:dify中文文档传送门

一、Dify简介

Dify是一个开源的LLM应用开发平台,具有以下特点:

  • 🚀 可视化Prompt编排
  • 🧠 支持多种大语言模型
  • 🔧 完整的后端服务
  • 🎨 现代化的前端界面
  • 📊 数据分析和监控

二、部署环境准备

2.1 系统要求

  • 操作系统:Linux、macOS或Windows(推荐Linux)
  • 内存:至少4GB RAM(推荐8GB以上)
  • 存储:至少10GB可用空间
  • Docker:版本19.03或更高
  • Docker Compose:版本1.27.0或更高

2.2 安装Docker和Docker Compose

docker和docker compose的安装可参考教程:docker安装教程、docker compose安装教程

三、Dify部署方式详解

3.1 Docker Compose一键部署(推荐)

步骤1:下载DIfy源码
# git下载最新版本
git clone https://github.com/langgenius/dify.git# git下载指定版本
git clone https://github.com/langgenius/dify.git --branch 0.15.3
步骤2:启动Dify
cd dify/dockercp .env.example .envdocker compose up -d

注意,一定要切换到docker路径才可用docker compose启动。

可使用docker compose ps查看启动的容器组来验证是否成功。

3.2 重新启动 Dify

若有更改Dify的配置,采用以下方式重启生效。

方法一:一键重启
# 重启容器组
docker compose restart
方法二:关闭后启动
# 关闭容器组
docker compose down# 启动容器组
docker compose up -d

更改dify配置可在.env文件或者docker-compose.yaml文件做更改。

四、Dify使用

4.1 注册登录账号

dify启动成功后,在浏览器中输入IP即可打开dify网页,因为未改配置默认ng暴露80端口号进行代理。

首次打开网页需要登陆,第一个登陆的账号就是注册的最高管理员账号,登陆好了就等于已经注册了,登陆进去后可更改再密码。

另外可邀请团队成员,点击设置-成员-添加,填写成员的邮箱,选择邀请的用户类型(不同类型对应不同的权限),点击发送邀请,将出现的连接给对应的成员,即可登陆,用法跟最高管理员账号第一次登陆一样。

4.2 dify简单使用

常用的是工作室和知识库,工作室中包含聊天助手和工作流的功能,配置好通用的对话大模型就能用,工作流做好了可以保存为DSL文件,在其他地址dify上直接上传该DSL文件就可以将做好的工作流移过去;知识库主要提供RAG的功能,需要配置embedding模型rerank模型才能用。

4.3 dify模型配置

点击右上角的用户-设置,点击工作空间下的模型供应商进行配置模型。

(1)通用大模型可用OpenAI-API-compatible这个供应商配置,只要符合OpenAI协议的都能用,例如vLLM部署的模型。也可以用Ollama这个供应商配置,配置Ollama部署的模型。

(2)embedding模型和rerank模型,可选择Xinference这个模型供应商配置的Xinference部署的模型。

配置时,参数要选对才能配置成功,否则保存时会报错,例如配置Ollama部署的模型,模型类型选择LLM,模型名称要和部署时的名称相同,URL要填好Ollama的IP和端口号。

4.4 制作工作流

制作自己的工作流时,需要配置相应的模型。其中工作流提供LLM、条件分支、代码执行、HTT怕请求等节点,另外还提供了工具可用。LLM节点需要选择模型,书写自己的提示词。

http://www.xdnf.cn/news/1446913.html

相关文章:

  • 【高级】系统架构师 | 信息系统战略规划、EAI 与新技术
  • 华为HCIP、HCIE认证:自学与培训班的抉择
  • 《苍穹外卖》开发环境搭建_后端环境搭建【简单易懂注释版】
  • 牛子图论1(二分图+连通性)
  • 在 Ray Data 和 Ray Serve 中推出原生 LLM API
  • 生产环境中redis的SCAN命令如何替代KEYS命令?
  • 学习嵌入式的第三十二天——网络编程——TCP
  • Python/JS/Go/Java同步学习(第二篇)四语言数据基本类型对照表: 老板让我统一系统数据类型?(附源码/截图/参数表/老板沉默术)
  • 关于嵌入式学习——嵌入式硬件2
  • surveygo源码分析
  • “十五五”国家科技创新规划-建议
  • Pytorch笔记一之 cpu模型保存、加载与推理
  • 四维轻云:多期地理数据管理的得力助手
  • 【保姆级选型指南】2025年国产开源AI算力平台怎么选?覆盖企业级_制造业_国际化场景
  • 哈希表-271.存在重复元素-力扣(LeetCode)
  • Strapi 富文本内容转 HTML 页面显示:基于 marked.js 的完整实现方案
  • 在Spring Boot中使用H2数据库
  • 停止所有dcoker容器
  • Linux操作系统从入门到实战(二十四)进程控制
  • PixPin截图工具完全体下载|解决Snipaste无法长截图问题+比QQ截图更专业+无广告绿色版支持Win7-Win11全系统兼容
  • AssetStudio解包Unity游戏资源
  • 如何从PDF中高效提取表格数据
  • 什么是端到端保护?天硕工业级 SSD 固态硬盘怎么做?
  • ansible中配置并行以及包含和导入
  • burpsuite攻防实验室-JWT漏洞
  • 【机器学习学习笔记】线性回归实现与应用
  • Shell-AWK详解
  • 单片机day2
  • Chapter1—设计模式基础
  • 线性代数基础 | 基底 / 矩阵 / 行列式 / 秩 / 线性方程组