网站建设中企动力最佳a5,做商业广告有什么网站好推销的,wordpress有后台吗,传奇手游平台AGI 之 【Dify】 之 使用 Docker 在 Windows 端本地部署 Dify 大语言模型#xff08;LLM#xff09;应用开发平台 目录
AGI 之 【Dify】 之 使用 Docker 在 Windows 端本地部署 Dify 大语言模型#xff08;LLM#xff09;应用开发平台
一、简单介绍
二、Docker 下载安…AGI 之 【Dify】 之 使用 Docker 在 Windows 端本地部署 Dify 大语言模型LLM应用开发平台 目录
AGI 之 【Dify】 之 使用 Docker 在 Windows 端本地部署 Dify 大语言模型LLM应用开发平台
一、简单介绍
二、Docker 下载安装
三、Dify 下载安装及部署
附录一些报错问题处理
一、启动容器报错 Get https://registry-1.docker.io/v2/: net/http: request canceled
二、docker compose up -d 的时候docker-db-1 总是重启 Restarting无法正常 Running 一、简单介绍
AGI即通用人工智能Artificial General Intelligence是一种具备人类智能水平的人工智能系统。它不仅能够执行特定的任务而且能够理解、学习和应用知识于广泛的问题解决中具有较高的自主性和适应性。AGI的能力包括但不限于自我学习、自我改进、自我调整并能在没有人为干预的情况下解决各种复杂问题。
Dify 是一个开源的大语言模型LLM应用开发平台它旨在简化和加速生成式 AI 应用的创建和部署。这个平台结合了后端即服务Backend as Service, BaaS和 LLMOps 的理念为开发者提供了一个用户友好的界面和一系列强大的工具使他们能够快速搭建生产级的 AI 应用。 Dify 的核心功能包括 低代码/无代码开发通过可视化的方式允许开发者轻松定义 Prompt、上下文和插件等无需深入底层技术细节。模块化设计采用模块化的设计每个模块都有清晰的功能和接口可以根据需求选择性地使用。丰富的功能组件包括 AI 工作流、RAG 管道、Agent、模型管理、可观测性功能等帮助开发者从原型到生产的全过程。支持多种大语言模型已支持 OpenAI GPT 系列等模型并计划进一步扩展。数据处理和特征工程工具提供了数据清洗、特征选择、特征变换等功能帮助开发者更好地准备数据。集成外部知识源允许自定义 API 接入外部知识源让大型语言模型深入理解企业知识和业务。 Dify 提供了四种基于 LLM 构建的应用程序可以针对不同的应用场景和需求进行优化和定制包括聊天助手、文本生成、智能代理和工作流程。此外Dify 还支持从 Notion 导入数据并设置同步使得数据在 Notion 更新后便自动同步到 Dify。Dify 中存在知识库数据集的单独 API这与他的服务 API 不同可以单独使用数据集的 API。
Dify 适合各种技术背景的开发者使用即使是没有编程基础的用户也能快速上手并参与到 AI 应用的定义和数据运营过程中。作为一个开源项目Dify 在 GitHub 上有活跃的社区支持鼓励用户贡献和分享经验。 Docker 是一个开源的应用容器引擎它允许开发者打包他们的应用以及应用的依赖包到一个可移植的容器中然后发布到任何流行的 Linux 机器上也可以实现虚拟化。容器是完全使用沙箱机制相互之间不会有任何接口。 Docker 的主要特点包括 轻量级Docker 容器与其他虚拟化技术相比占用的资源更少启动速度更快。 可移植性Docker 容器可以在不同的机器、数据中心或云服务提供商之间轻松移动。 环境一致性Docker 确保应用在不同环境之间具有一致性从而减少了“在我机器上可以运行”的问题。 快速部署Docker 容器的启动时间通常只需几秒钟这使得部署应用变得更加迅速。 微服务架构Docker 容器非常适合微服务架构每个服务可以独立运行在自己的容器中。 版本控制和团队协作Docker 容器可以与现代的 DevOps 工具链紧密结合支持持续集成和持续部署CI/CD。 隔离性每个容器都是相互隔离的运行在自己的环境中拥有自己的文件系统。 安全性容器提供了一个额外的安全层因为它们运行在用户空间并且可以利用 Linux 内核的安全特性。 Docker 使用客户端-服务器架构使用 Docker 守护进程来管理容器。Docker 客户端与守护进程通信而守护进程负责构建、运行和分发容器。用户可以通过命令行接口CLI、Docker Compose用于定义和运行多容器 Docker 应用的工具或图形用户界面GUI与 Docker 交互。 注意 Dify Docker部署有部署要求不过目前一般的电脑都符合要求 二、Docker 下载安装
Docker Windows 版本下载地址Windows | Docker Docs
为了在 Windows 系统上部署 Dify你需要先安装 Docker Desktop。
Windows 中的 Docker 可以依赖于两种环境Hyper-V虚拟环境和 WSLWindows Linux 子系统。
其中利用 WSL 环境的部署方案这需要你从 Microsoft Store 下载一个 Linux 发行版。
如果你的电脑无法使用 Microsoft Store 下载比如生产环境电脑那么可以选择使用基于 Hyper-V 的部署方法。启用 Hyper-V 环境的两种方法下面介绍启用 Hyper-V 环境的方法任选其一操作即可
1、以管理员权限打开 PowerShell 控制台 2、输入如下命令即可
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All 3、或者使用 “启用或关闭 Windows 功能”找到并勾选“Hyper-V”然后点击“确定”按钮以启用该功能 4、开启 Hyper-V 功能会提示重启电脑这时候重启电脑即可 5、下载 Docker 根据需要选择下载即可 6、下载好Docker 双击安装即可
值得注意的是如果使用 Hyper-V 则需要取消勾选第一项 三、Dify 下载安装及部署
Dify 官网Dify.AI · 生成式 AI 应用创新引擎
Dify 进行 Docker Compose 部署可以参考https://docs.dify.ai/zh-hans/getting-started/install-self-hosted/docker-compose
1、进入 Dify 官网如图点击进入 Github 克隆或者下载代码 2、下载好后Shift 鼠标右键打开 Powershell 3、在 Powershell 中进入 Dify 源代码的 Docker 目录 复制环境配置文件
命:1cd .\docker\
命令2cp .env.example .env 4、这里就要启动 Docker确定当前的 Docker 版本
根据你系统上的 Docker Compose 版本选择合适的命令来启动容器。
你可以通过命令docker compose version 检查版本 如果版本是 Docker Compose V2使用以下命令docker compose up -d 如果版本是 Docker Compose V1使用以下命令docker-compose up -d 5、这里是 V2 版本使用 docker compose up -d 命令来启动容器
运行命令后开始会拉取数据然后会看到类似以下的输出显示所有容器的状态和端口映射 6、运行完之后输入 命令可以看到运行的服务
命令docker compose ps 7、docker 界面也运行正常 8、在浏览器上输入 http://localhost/install 这时候也会正常显示设置管理员账号界面
输入信息配置登录账号 9、在浏览器上输入 http://localhost/signin这时候也会正常显示登陆界面登陆即可 10、登录之后在工作室创建你的应用开始玩转 Dify 吧 附录一些报错问题处理
一、启动容器报错 Get https://registry-1.docker.io/v2/: net/http: request canceled
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) 分析可能原因
1这个是因为源的问题我们可以使用国内的镜像源。具体操作为找到C:\Users\Administrator.docker\daemon.json或者C:\Users\你的用户名.docker\daemon.json文件
如果.docker文件下没有daemon.json文件就自己手动新增 2然后添加以下内容
{registry-mirrors: [https://docker.211678.top,https://docker.1panel.live,https://hub.rat.dev,https://docker.m.daocloud.io,https://do.nark.eu.org,https://dockerpull.com,https://dockerproxy.cn,https://docker.awsl9527.cn]
}3保存后重启docker重启操作为在打开docker Desktop的前提下点击电脑右小角的小图标点击“Restart ”版本不同可能显示不同。 二、docker compose up -d 的时候docker-db-1 总是重启 Restarting无法正常 Running
此时 http://localhost/install 界面也一直在转圈网页一直加载中
docker-db-1 相关日志如下
running bootstrap script ... 2024-10-14T04:20:59.355405500Z The files belonging to this database system will be owned by user postgres.
2024-10-14 12:20:59 This user must also own the server process.
2024-10-14 12:20:59
2024-10-14 12:20:59 The database cluster will be initialized with locale en_US.utf8.
2024-10-14 12:20:59 The default database encoding has accordingly been set to UTF8.
2024-10-14 12:20:59 The default text search configuration will be set to english.
2024-10-14 12:20:59
2024-10-14 12:20:59 Data page checksums are disabled.
2024-10-14 12:20:59
2024-10-14 12:20:59 fixing permissions on existing directory /var/lib/postgresql/data/pgdata ... ok
2024-10-14 12:19:58 2024-10-14 04:19:58.620 UTC [63] FATAL: data directory /var/lib/postgresql/data/pgdata has invalid permissions
2024-10-14 12:19:58 2024-10-14 04:19:58.620 UTC [63] DETAIL: Permissions should be urwx (0700) or urwx,grx (0750).
2024-10-14 12:19:58 child process exited with exit code 1
2024-10-14 12:19:58 initdb: removing contents of data directory /var/lib/postgresql/data/pgdata
2024-10-14 12:20:59 creating subdirectories ... ok
2024-10-14 12:20:59 selecting dynamic shared memory implementation ... posix
2024-10-14 12:20:59 selecting default max_connections ... 20
2024-10-14 12:21:00 selecting default shared_buffers ... 400kB
2024-10-14 12:21:00 selecting default time zone ... UTC
2024-10-14 12:21:00 creating configuration files ... ok
2024-10-14 12:21:00 2024-10-14 04:21:00.539 UTC [63] FATAL: data directory /var/lib/postgresql/data/pgdata has invalid permissions
2024-10-14 12:21:00 2024-10-14 04:21:00.539 UTC [63] DETAIL: Permissions should be urwx (0700) or urwx,grx (0750).
2024-10-14 12:21:00 child process exited with exit code 1
2024-10-14 12:21:00 initdb: removing contents of data directory /var/lib/postgresql/data/pgdata
2024-10-14 12:21:00 running bootstrap script ... 解决方式之一如下
1、在 dify/docker 文件夹下找到 docker-compose.yaml 2、找到文件夹中的 volumes/db/data 替换为 postgres-data如下图
不同版本内容可能有些不一样 3、最后在末尾添加上 postgres-data 4、保存上面修改然后在 powershell down 一下 容器
命令docker compose down -v 5、之后再次重新启动一下容器
命令docker compose up 6、docker-db-1 运行正常了