CentOS 7中安装Dify

Dify 是一个开源的 LLM 应用开发平台。其直观的界面结合了 AI 工作流、RAG 管道、Agent、模型管理、可观测性功能等,让您可以快速从原型到生产。尤其是我们本地部署DeepSeek等大模型时,会需要用到Dify来帮我们快捷的开发和应用。

大家可以参考学习它的中文文档:https://github.com/langgenius/dify/blob/main/README_CN.md

一、系统要求

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

  • CPU >= 2 Core
  • RAM >= 4 GiB 

二、安装 Dify

1.安装Docker 和 Docker Compose

 安装开始之前,建议大家有且只考虑Docker环境来启动Dify,因为逐个安装环境的工作量非常大。安装方法可以参照我上一篇文章:CentOS 7 中安装 Docker和Docker Compose-CSDN博客

2. 克隆 Dify 仓库

从 Dify 的 GitHub 仓库克隆项目代码到本地:

git clone https://github.com/langgenius/dify.git
cd dify

这一步可能会失败,原因是访问github的网络不稳定导致的,多试几次吧。 

3.快速启动 

启动 Dify 服务器的最简单方法是运行我们的 docker-compose.yml 文件。

cd docker
cp .env.example .env
docker compose up -d

docker compose up -d会根据docker-compose.yml 文件中的配置,下载所需的 Docker 镜像并启动相关容器。 

4.修改源(最关键的一步)

在安装过程中,部分同学可能会在执行docker compose up -d时遇到问题:

[root@localhost docker]# docker compose up -d
[+] Running 10/10
 ✘ worker Error        context canceled                                                       15.0s
 ✘ redis Error         context canceled                                                       15.0s
 ✘ web Error           Get "https://registry-1.docker.io/v2/": context deadline ...           15.0s
 ✘ nginx Error         Get "https://registry-1.docker.io/v2/": context deadlin...             15.0s
 ✘ plugin_daemon Error context canceled                                                       15.0s
 ✘ db Error            Get "https://registry-1.docker.io/v2/": net/http: request ...          15.0s
 ✘ ssrf_proxy Error    context canceled                                                       15.0s
 ✘ api Error           Get "https://registry-1.docker.io/v2/": dial tcp 199.59.1...           15.0s
 ✘ weaviate Error      Get "https://registry-1.docker.io/v2/": dial tcp 199...                15.0s
 ✘ sandbox Error       Get "https://registry-1.docker.io/v2/": net/http: req...               15.0s
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

 这是在尝试从 Docker 官方镜像源下载软件包时,网络超时。国内访问 Docker Hub 有时会出现网络不稳定的状况,你可以

4.1.配置国内的 Docker 镜像源

sudo vi /etc/docker/daemon.json

4.2.添加如下内容

{
"registry-mirrors":
 [
    "https://docker.1panel.live",
    "https://docker.nju.edu.cn",
    "https://registry.cn-hangzhou.aliyuncs.com",
    "https://mirror.ccs.tencentyun.com",
    "https://05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://dockerproxy.com",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
]
}

补充下,以上镜像源有些可能只会对一部分软件包有用,对另外一些软件包无效。所以呢,我们就数量凑质量,多凑一些镜像源 。最终凑齐所有需要的软件包。至于镜像源的地址网上有很多,搜来能用就行。截止到本稿日,以上镜像源是可以下载所有需要的软件包了。

4.3.重启Docker后生效

sudo systemctl restart docker

4.4.确认 Docker 镜像源配置生效 

docker info | grep "Registry Mirrors"

 如果输出显示了你配置的镜像源,说明配置已生效;若没有显示,需要再次检查 /etc/docker/daemon.json 文件的配置以及是否正确重启了 Docker 服务。

4.5.再来一次

[root@localhost docker]# docker compose up -d
[+] Running 80/32
 ✔ redis Pulled                                                                              165.1s
 ✔ db Pulled                                                                                 179.9s
 ✔ ssrf_proxy Pulled                                                                          97.0s
 ✔ sandbox Pulled                                                                             98.9s
 ✔ weaviate Pulled                                                                            54.4s
 ✔ nginx Pulled                                                                              158.9s
 ✔ api Pulled                                                                                182.6s
 ✔ web Pulled                                                                                164.5s
 ✔ worker Pulled                                                                             182.6s
 ✔ plugin_daemon Pulled                                                                      112.0s



[+] Running 12/12
 ✔ Network docker_default             Created                                                  0.5s
 ✔ Network docker_ssrf_proxy_network  Created                                                  0.1s
 ✔ Container docker-redis-1           Started                                                  7.2s
 ✔ Container docker-sandbox-1         Started                                                  7.2s
 ✔ Container docker-weaviate-1        Started                                                  7.2s
 ✔ Container docker-ssrf_proxy-1      Started                                                  7.5s
 ✔ Container docker-plugin_daemon-1   Started                                                  7.2s
 ✔ Container docker-db-1              Started                                                  7.3s
 ✔ Container docker-web-1             Started                                                  7.3s
 ✔ Container docker-worker-1          Started                                                  6.8s
 ✔ Container docker-api-1             Started                                                  6.7s
 ✔ Container docker-nginx-1           Started                                                  7.7s

发现成功咯 

三、自定义配置 


如果您需要自定义配置,请参考 .env.example 文件中的注释,并更新 .env 文件中对应的值。此外,您可能需要根据您的具体部署环境和需求对 docker-compose.yaml 文件本身进行调整,例如更改镜像版本、端口映射或卷挂载。完成任何更改后,请重新运行 docker-compose up -d。您可以在此处找到可用环境变量的完整列表

四、验证安装

判断安装成功的直接标准,肯定是能访问Dify的控制台啦

直接浏览器输入Dify服务器的ip即可,默认端口80,比如http://localhost

首次登录需要设置管理员账号密码

 恭喜你,出现这个界面,代表Dify我们安装成功啦

我们设置完管理员账号后,进入控制台看看,并试着添加一个空白应用

好啦,我们可以添加deepseek,gpt等大模型,并研发丰富多彩的AI智能体(Agent)吧

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Day9】make/makeFile如何让项目构建自动化起飞

【Day9】make/makeFile如何让项目构建自动化起飞 使用make命令编写makefile文件依赖管理增量构建makefile注释:#makefile其他语法 make/makefile递归式工作过程 在Linux中,项目自动化构建是指使用一系列工具和脚本来自动执行软件项目的编译、测试、打包和…

svn 通过127.0.01能访问 但通过公网IP不能访问,这是什么原因?

连接失败的提示如下 1、SVN的启动方法 方法一: svnserve -d -r /mnt/svn 方法二: svnserve -d --listen-port 3690 -r /mnt/svn 方法三: svnserve -d -r /mnt/svn --listen-host 0.0.0.0 2、首先检查svn服务器是否启动 方法一&#x…

Unity实现在镜子间反射光柱

一、最终效果: 二、代码来源及思路 unity-raycast-reflection/Assets/RaycastReflection.cs at master Loafwad/unity-raycast-reflection GitHub 在GitHub找到了现成的,效果很好,稍微改了一点来满足我的需求,并加上了注释理解…

快速理清 Attention 注意力和 Encoder, Decoder 概念

之前一直以为 Attention 和 RNN 没关系是凭空蹦出来的新概念;以为 Transformer, Encoder, Decoder 这几个概念是绑在一起的。并不尽然。 Encoder 和 Decoder RNN 里就有 Encoder Decoder 的概念。其中,encoder 接受用户输入,写入 hidden stat…

达梦数据库系列之Mysql项目迁移为达梦项目

达梦数据库系列之Mysql项目迁移为达梦项目 1 达梦数据库安装及MySql数据迁移2 SpringBoot项目迁移2.1 驱动包引入2.2 驱动类配置2.3 数据源配置2.4 flowable迁移2.4.1 异常问题2.4.2 解决 3 迁移常见问题3.1 不是 GROUP BY 表达式3.1.1 dm.ini 开启Mysql兼容模式3.1.2 修改动态…

第5章 使用OSSEC进行监控(网络安全防御实战--蓝军武器库)

网络安全防御实战--蓝军武器库是2020年出版的,已经过去3年时间了,最近利用闲暇时间,抓紧吸收,总的来说,第5章开始进入主机安全(HIDS)领域了,2022年的时候有幸做过终端安全一段时间&a…

【文献阅读】The Efficiency Spectrum of Large Language Models: An Algorithmic Survey

这篇文章发表于2024年4月 摘要 大语言模型(LLMs)的快速发展推动了多个领域的变革,重塑了通用人工智能的格局。然而,这些模型不断增长的计算和内存需求带来了巨大挑战,阻碍了学术研究和实际应用。为解决这些问题&…

毕业项目推荐:基于yolov8/yolov5/yolo11的暴力行为检测识别系统(python+卷积神经网络)

文章目录 概要一、整体资源介绍技术要点功能展示:功能1 支持单张图片识别功能2 支持遍历文件夹识别功能3 支持识别视频文件功能4 支持摄像头识别功能5 支持结果文件导出(xls格式)功能6 支持切换检测到的目标查看 二、数据集三、算法介绍1. YO…

MySQL面试01

MySQL 索引的最左原则 🍰 最左原则本质 ͟͟͞͞( •̀д•́) 想象复合索引是电话号码簿! 索引 (a,b,c) 的排列顺序: 先按a排序 → a相同按b排序 → 最后按c排序 生效场景三连: 1️⃣ WHERE a1 ✅ 2️⃣ WHERE a1 AND b2 ✅ 3️…

【Linux】【网络】UDP打洞-->不同子网下的客户端和服务器通信(未成功版)

【Linux】【网络】UDP打洞–>不同子网下的客户端和服务器通信(未成功版) 上次说基于UDP的打洞程序改了五版一直没有成功,要写一下问题所在,但是我后续又查询了一些资料,成功实现了,这次先写一下未成功的…

unity学习63,第2个小游戏:用fungus做一个简单对话游戏

目录 1 目标用fungus做一个简单的剧情对话游戏 1.1 先创建一个新的3D项目 1.2 fungus是什么 1.2.1 怎么获得 1.2 在AssetStore里搜索fungus (插件类)--千万别买收费的错的! 1.3 fungus的官网 1.3.1 官网给的3个下载链接,unity的果然已经失效了 …

前后分离文件上传案例,前端HTML,后端Net6开发的webapi(完整源代码)下载

文件上传功能在项目开发中非常实用,本案例前端用HTML页面的form表单实现,后端用Net6实现。 前后分离文件上传案例,前端HTML,后端Net6(完整源代码) 下载链接https://download.csdn.net/download/luckyext/9…

利用Adobe Acrobat 实现PPT中图片分辨率的提升

1. 下载适用于 Windows 的 64 位 Acrobat 注册方式参考:https://ca.whu.edu.cn/knowledge.html?type1 2. 将ppt中需要提高分辨率的图片复制粘贴到新建的pptx问价中,然后执行“文件—>导出---->创建PDF、XPS文档” 3. 我们会发现保存下来的distrib…

自学微信小程序的第十二天

DAY12 1、腾讯地图SDK是一套为开发者提供多种地理位置服务的工具,可以使开发者在自己的应用中加入地图相关功能,轻松访问腾讯地图服务和数据,更好地实现微信小程序的地图功能。 表49:search()方法的常用选项 选项 类型 说明 keyword string POI搜索关键词,默认周边搜索 l…

海南自贸港的数字先锋:树莓集团的战略布局解析

海南自贸港凭借其独特的政策优势和地理条件,成为了数字产业发展的热土。树莓集团敏锐地捕捉到这一机遇,在此展开了全面而深远的战略布局。 在基础设施建设方面,树莓集团投入大量资金,建设了先进的数据中心。这些数据中心配备了顶…

MySQL -操作

博客主页:【夜泉_ly】 本文专栏:【暂无】 欢迎点赞👍收藏⭐关注❤️ 文章目录 创建数据库格式编码集 操控数据库查看数据库修改数据库删除数据库备份与还原 部分表操作创建表查看表修改表 我的版本号:8.0.41-0ubuntu0.22.04.1 创…

ubuntu20系统下conda虚拟环境下安装文件存储位置

在 Conda 虚拟环境中执行 pip install 安装软件后,安装的文件会存储在该虚拟环境专属的 site-packages 目录中。具体路径取决于你激活的 Conda 环境路径。以下是定位步骤: 1. 确认 Conda 虚拟环境的安装路径 查看所有环境: conda info --env…

Blazor-路由模板(上)

Blazor 的路由模板是定义应用中不同页面或组件访问路径的一种方式。通过路由模板&#xff0c;你可以管理应用程序的导航结构&#xff0c;支持基本路由、参数路由、子路由和区域路由等功能。 我们为访问组件使用page 指令指定路由 URL page "/demoPage" <h3>&l…

OpenObserve开源高性能云原生平台本地部署与远程监控数据攻略

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff1a;人工智能教程 文章目录 前言1. 安装Docker2. 创建并启动OpenObserve容器3. 本地访问测试4. 公网访问本地部署的OpenObserve4.1 内网穿透工具安装…

鸿蒙HarmonyOS-Navagation基本用法

Navagation基本用法 Navigation组件是路由导航的根视图容器&#xff0c;一般作为Page页面的根容器使用&#xff0c;其内部默认包含了标题栏&#xff0c;内容栏和公工具栏&#xff0c;其中内容区默认首页显示导航内容&#xff08;Navigation的子组件&#xff09;或非首页显示&am…