Dify教程01-Dify是什么、应用场景、如何安装

Dify教程01-Dify是什么、应用场景、如何安装

大家好,我是星哥,上篇文章讲了Coze、Dify、FastGPT、MaxKB 对比,今天就来学习如何搭建Dify。

Dify是什么

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

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

image-20250409181202316

Dify 的应用场景

Dify 适用于多种生成式 AI 应用开发场景:

内容创作与生成

自动化生成文章、报告、营销文案等。

结合知识库实现专业领域内容生成(如法律、医疗文档)。

智能对话系统

构建多轮对话客服机器人、虚拟助手27。

通过 Agent 框架实现任务分解与工具调用(如搜索、图像生成)。

数据分析与自动化

解读复杂数据并生成可视化报告。

自动化业务流程(如工单处理、邮件回复)。

个性化推荐与营销

基于用户画像生成个性化推荐内容。

结合 RAG 实现精准信息检索与推送。

安装Dify(推荐)

1、系统环境

这里我们使用的操作系统为 Centos,大家也可以使用其他的操作系统,Windows或者Linux都可以,下面以Centos 7.9为例。

2核4G

软件需要安装docker和docker-compose,这里就不赘述。

2、克隆代码

克隆代码至本地

cd /data/dockergit clone https://github.com/langgenius/dify.gitcd dify/docker/ 进入docker目录

复制配置文件

cp .env.example .env

启动项目

docker-compose up -d

image-20250409161040908

稍等一会等项目进行完成,提示完成

查看docker

docker ps
CONTAINER ID   IMAGE                                       COMMAND                  CREATED         STATUS                          PORTS                                                                      NAMES
83add667dfb1   nginx:latest                                "sh -c 'cp /docker-e…"   2 minutes ago   Up 2 minutes                    0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   docker-nginx-1
a251666ed181   langgenius/dify-api:1.2.0                   "/bin/bash /entrypoi…"   2 minutes ago   Up 2 minutes                    5001/tcp                                                                   docker-api-1
53bab964d7ac   langgenius/dify-api:1.2.0                   "/bin/bash /entrypoi…"   2 minutes ago   Up 2 minutes                    5001/tcp                                                                   docker-worker-1
ca87fe6c8770   langgenius/dify-plugin-daemon:0.0.7-local   "/bin/bash -c /app/e…"   2 minutes ago   Restarting (2) 44 seconds ago                                                                              docker-plugin_daemon-1
20b9ee792e3d   semitechnologies/weaviate:1.19.0            "/bin/weaviate --hos…"   2 minutes ago   Up 2 minutes                                                                                               docker-weaviate-1
89a4ed9628bf   langgenius/dify-sandbox:0.2.11              "/main"                  2 minutes ago   Up 2 minutes (healthy)                                                                                     docker-sandbox-1
aeb3c0192b66   postgres:15-alpine                          "docker-entrypoint.s…"   2 minutes ago   Up 2 minutes (healthy)          5432/tcp                                                                   docker-db-1
3d32734ede9e   redis:6-alpine                              "docker-entrypoint.s…"   2 minutes ago   Up 2 minutes (healthy)          6379/tcp                                                                   docker-redis-1
2ff8b7289efe   ubuntu/squid:latest                         "sh -c 'cp /docker-e…"   2 minutes ago   Up 2 minutes                    3128/tcp                                                                   docker-ssrf_proxy-1
62df434f8bbf   langgenius/dify-web:1.2.0                   "/bin/sh ./entrypoin…"   2 minutes ago   Up 2 minutes                    3000/tcp                                                                   docker-web-1

报错

docker logs docker-plugin_daemon-1
如下的报错
goroutine 1 [running]:
github.com/langgenius/dify-plugin-daemon/internal/utils/log.writeLog({0x1857285, 0x5}, {0x1896127?, 0xc00016d408?}, 0x1, {0xc0004cdf28, 0x1, 0x1})/app/internal/utils/log/log.go:40 +0x305
github.com/langgenius/dify-plugin-daemon/internal/utils/log.Panic(...)/app/internal/utils/log/log.go:66
main.main()/app/cmd/server/main.go:19 +0x9f
2025/04/09 09:48:27 main.go:19: [PANIC]Error processing environment variables: envconfig.Process: assigning S3_USE_AWS_MANAGED_IAM to S3UseAwsManagedIam: converting '' to type bool. details: strconv.ParseBool: parsing "": invalid syntax
panic: [PANIC]Error processing environment variables: envconfig.Process: assigning S3_USE_AWS_MANAGED_IAM to S3UseAwsManagedIam: converting '' to type bool. details: strconv.ParseBool: parsing "": invalid syntaxgoroutine 1 [running]:
github.com/langgenius/dify-plugin-daemon/internal/utils/log.writeLog({0x1857285, 0x5}, {0x1896127?, 0xc0001f8008?}, 0x1, {0xc00019df28, 0x1, 0x1})/app/internal/utils/log/log.go:40 +0x305
github.com/langgenius/dify-plugin-daemon/internal/utils/log.Panic(...)/app/internal/utils/log/log.go:66
main.main()/app/cmd/server/main.go:19 +0x9f

更新 Dify方法

进入 dify 源代码的 docker 目录,按顺序执行以下命令:

cd dify/docker
docker compose down
git pull origin main
docker compose pull
docker compose up -d

3、访问

在浏览器输入IP+端口(我测试的ip是 192.168.1.121,端口是80,可以忽略),如果能访问到下面的页面,则安装成功

你可以先前往管理员初始化页面设置设置管理员账户:

image-20250409164048622

结束

安装还是非常简单的,通过以上步骤,你就可以成功安装并开始使用Dify平台,发挥其强大的AI应用开发能力。下篇文章来学习如何配置Dify

写文不易,如果你都看到了这里,请点个赞和在看,分享给更多的朋友;也别忘了关注星哥玩云!这里有满满的干货分享,还有轻松有趣的技术交流~点个赞、分享给身边的小伙伴,一起成长,一起玩转技术世界吧! 😊

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/76128.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java后端开发-面试总结(集结版)

第一个问题,在 Java 集合框架中,ArrayList和LinkedList有什么区别?在实际应用场景中,应该如何选择使用它们? ArrayList 基于数组,LinkedList 基于双向链表。 在查询方面 ArrayList 效率高,添加…

nslookup、dig、traceroute、ping 这些工具在解析域名时是否查询 DNS 服务器 或 本地 hosts 文件 的详细对比

host配置解析 127.0.0.1 example.comdig 测试,查询 DNS 服务器 nslookup测试,查询 DNS 服务器 traceroute测试,先读取本地 hosts 文件,再查询 DNS 服务器 ping测试,先读取本地 hosts 文件,再查询 DNS 服务…

文件上传、读取与包含漏洞解析及防御实战

一、漏洞概述 文件上传、读取和包含漏洞是Web安全中常见的高危风险点,攻击者可通过此类漏洞执行恶意代码、窃取敏感数据或直接控制服务器。其核心成因在于开发者未对用户输入内容进行充分验证或过滤,导致攻击者能够绕过安全机制,上传或执行…

STM32 的编程方式总结

🧱 按照“是否可独立工作”来分: 库/方式是否可独立使用是否依赖其他库说明寄存器裸写✅ 是❌ 无完全自主控制,无库依赖标准库(StdPeriph)✅ 是❌ 只依赖 CMSIS自成体系(F1专属),只…

Flutter命令行打包打不出ipa报错

Flutter打包ipa报错解决方案 在Flutter开发中,打包iOS应用时可能会遇到以下错误: error: exportArchive: The data couldn’t be read because it isn’ in the correct format. 或者 Encountered error while creating the IPA: error: exportArchive…

SQL Server常见问题的分类解析(一)

以下是SQL Server常见问题的分类解析,涵盖安装配置、性能优化、备份恢复、高可用性等核心场景,结合微软官方文档和社区实践整理而成(编号对应搜索结果来源): 一、安装与配置问题 安装失败:.NET Framework缺失解决方案:手动安装所需版本.NET Framework,以管理员身份运行…

Spring Boot 3.x 下 Spring Security 的执行流程、核心类和原理详解,结合用户描述的关键点展开说明,并以表格总结

以下是 Spring Boot 3.x 下 Spring Security 的执行流程、核心类和原理详解,结合用户描述的关键点展开说明,并以表格总结: 1. Spring Security 核心原理 Spring Security 通过 Filter 链 实现安全控制,其核心流程如下&#xff1a…

Vue:路由切换表格塌陷

目录 一、 出现场景二、 解决方案 一、 出现场景 当路由切换时&#xff0c;表格操作栏会出现行错乱、塌陷的问题 二、 解决方案 在组件重新被激活的时候刷新表格 <el-table ref"table"></el-table>activated(){this.$nextTick(() > {this.$refs[t…

文件上传漏洞原理学习

什么是文件上传漏洞 文件上传漏洞是指用户上传了一个可执行的脚本文件&#xff0c;并通过此脚本文件获得了执行服务器端命令的能力。“文件上传” 本身没有问题&#xff0c;有问题的是文件上传后&#xff0c;服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全&#…

leetcode_数组 189. 轮转数组

189. 轮转数组 给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3输出: [5,6,7,1,2,3,4] 示例 2: 输入&#xff1a;nums [-1,-100,3,99], k 2输出&#xff1a;[3,99,-1,-100] 思…

天元证券|空仓一个月 这批新基金冲进去了!

多只一个月都按兵不动的次新基金&#xff0c;终于在4月7日冲进去了。 券商中国记者注意到&#xff0c;多只在3月初成立的新基金产品&#xff0c;在保持一个月净值零波动之后&#xff0c;终于在4月7日建仓了。多只新基金产品当日净值出现约1%至2%的波动幅度&#xff0c;参考4月7…

centos7系统搭建nagios监控

~监控节点安装 1. 系统准备 1.1 更新系统并安装依赖 sudo yum install -y httpd php php-cli gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel wget unzip sudo yum install -y epel-release # 安装 EPEL 仓库 sudo yum install -y automake autoconf lib…

3. git config

文章目录 基本概述配置级别基本用法设置配置项查看配置项删除配置项 常用配置项 基本概述 git config 的作用是&#xff1a;设置用户信息、编辑器、别名、仓库行为等。 配置级别 级别作用范围配置文件路径命令选项仓库级别&#xff08;Local&#xff09;当前仓库.git/config…

WHAT - React 组件的 props.children 属性

目录 一、什么是 children二、基本用法三、类型定义&#xff08;TypeScript&#xff09;四、一些高级用法1. 条件渲染 children2. 多个 children 插槽&#xff08;命名插槽&#xff09; 五、children 的优势总结 在 React 中&#xff0c;children 是一个非常重要且特殊的 内置属…

Spring Boot开发三板斧:高效构建企业级应用的核心技法

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家、CSDN平台优质创作者&#xff0c;获得2024年博客之星荣誉证书&#xff0c;高级开发工程师&#xff0c;数学专业&#xff0c;拥有高级工程师证书&#xff1b;擅长C/C、C#等开发语言&#xff0c;熟悉Java常用开发技术&#xff0c…

实战篇-梳理时钟树

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据 总结 前言 这是B站傅里叶的猫视频的笔记 一、建立工程 以Vivado的wave_gen为例子。为了引入异…

图灵逆向——题六-倚天剑

从第六题开始就要有个先看看请求头的习惯了[doge]。 别问博主为什么要你养成这个习惯&#xff0c;问就是博主被坑过。。。 headers里面有一个加密参数S&#xff0c;然后你就去逆向这个S对吧。 然后一看响应&#xff1a; 好家伙返回的还是个密文&#xff0c;所以要两次逆向咯。…

ubuntu自动更新--unattended-upgrades

ubuntu自动更新--unattended-upgrades 1 介绍2 发展历程3 配置与使用4 disable Auto update服务命令 参考 1 介绍 Unattended-Upgrades 是一个用于自动更新 Debian 及其衍生系统&#xff08;如 Ubuntu&#xff09;的工具。它的主要功能是自动检查、下载并安装系统更新&#xf…

从 Excel 到你的表格应用:条件格式功能的嵌入实践指南

一、引言 在日常工作中&#xff0c;面对海量数据时&#xff0c;如何快速识别关键信息、发现数据趋势或异常值&#xff0c;是每个数据分析师面临的挑战。Excel的条件格式功能通过自动化的视觉标记&#xff0c;帮助用户轻松应对这一难题。 本文将详细介绍条件格式的应用场景&am…

【HarmonyOS Next之旅】DevEco Studio使用指南(十一)

目录 1 -> 代码实时检查 2 -> 代码快速修复 3 -> C快速修复使用演示 3.1 -> 填充switch语句 3.2 -> 使用auto替换类型 3.3 -> 用&#xff1f;&#xff1a;三元操作符替换if-else 3.4 -> 从使用处生成构造函数 3.5 -> 将变量拆分为声明和赋值 1…