【人工智能agent】--docker本地部署dify教程

【人工智能agent】--docker本地部署dify教程

目录

1.dify介绍

2.准备工作

3.安装docker

3.1.默认安装

3.2.自定义路径安装(推荐)

3.3.验证docker

3.4.切换镜像源

4.下载git

5.下载dify源码

6.启动dify

7.打开dify


1.dify介绍

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

        非技术人员:不懂编程、对大模型不太懂,也可以使用DIFY

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

3、相关网站

dify官网:Dify.AI · 生成式 AI 应用创新引擎

部署dify首先下载dokcer docker官网:Docker: Accelerated Container Application Development

使用文档链接:Deploy with Docker Compose | Dify

 2.准备工作

本地化部署dify所需要的安装包

  1. git安装包:用来拉取dify的代码
  2. docker desktop 安装包:用来docker compose部署
  3. dify源代码

这些在官网都可以下载到,这里再提供网盘资源:

链接: https://pan.baidu.com/s/1RHgSbVsTtn57TN4ZhTH1gA?pwd=v2sw 提取码: v2sw 

dify源码还是自己去官网下载吧,网盘里面的版本不是最新的:

https://github.com/langgenius/dify/issues

3.安装docker

3.1.默认安装

双击Docker Desktop Installer.exe,默认安装到c盘

3.2.自定义路径安装(推荐)

& ".\Docker Desktop Installer.exe"  install --installation-dir="D:\Docker"

3.3.验证docker

docker -v docker-compose -v 

3.4.切换镜像源

{ "builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } }, "experimental": false, "registry-mirrors": [ "https://docker.feng.cx", "https://docker.m.daocloud.io", "https://docker.imgdb.de", "https://docker-0.unsee.tech", "https://docker.hlmirror.com", "https://docker.1ms.run", "https://func.ink", "https://lispy.org", "https://docker.xiaogenban1993.com", "https://docker.xuanyuan.me", "https://docker.rainbond.cc", "https://do.nark.eu.org", "https://dc.j8.work", "https://docker.hpcloud.cloud", "https://docker.unsee.tech", "https://docker.1panel.live", "http://mirrors.ustc.edu.cn", "https://docker.chenby.cn", "http://mirror.azure.cn", "https://dockerpull.org", "https://dockerhub.icu", "https://hub.rat.dev" ] }

4.下载git

windows安装git(全网最详细,保姆教程)-ZEEKLOG博客

5. 下载dify源码

在git安装目录下执行下面的命令

git.exe clone --progress -v "https://github.com/langgenius/dify.git" "D:\dify"

·当然如果通过资源下载了源码,那就可以跳过此步骤

6.启动dify

在git bash窗口下依次执行下面的命令

cd dify/docker cp .env.example .env docker compose -p dify up -d 

安装完成过后,验证一下

docker compose ps 

7.打开dify

进入dify

http://127.0.0.1/install 

先注册一个账号,

Read more

Capacitor:跨平台Web原生应用开发利器,现已全面适配鸿蒙

Capacitor:跨平台Web原生应用开发利器,现已全面适配鸿蒙 欢迎大家加入跨平台:https://openharmonycrossplatform.ZEEKLOG.net/ 在跨平台应用开发领域,开发者始终追求“一次开发、多端部署”的高效模式,同时渴望兼顾原生体验与开发成本的平衡。Capacitor作为Ionic团队推出的现代跨平台运行时框架,凭借其对Web技术栈的完美兼容和原生能力的便捷调用,已成为连接Web与多终端原生应用的核心桥梁。如今,这一框架已正式完成鸿蒙生态适配,进一步拓宽了跨平台开发的覆盖边界。 一、Capacitor核心能力:Web技术栈的多端原生突破 Capacitor的核心价值在于打破平台壁垒,让Web开发者无需深入学习Swift、Kotlin、ArkTS等原生语言,仅通过HTML、CSS、JavaScript/TypeScript技术栈,就能构建可在iOS、Android、Web以及**鸿蒙(OpenHarmony)**平台原生运行的应用程序。其核心能力可概括为三大维度: 1. 单一代码库,多端无缝覆盖 开发者只需维护一套Web核心代码,即可通

By Ne0inhk
Flutter for OpenHarmony: Flutter 三方库 fixnum 解决鸿蒙 Web 与原生端 64 位大整数精度失真难题(精准计算护卫)

Flutter for OpenHarmony: Flutter 三方库 fixnum 解决鸿蒙 Web 与原生端 64 位大整数精度失真难题(精准计算护卫)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在进行 OpenHarmony 的跨平台开发时,你可能会遇到一个诡异的 Bug:同样的 64 位长整数(如 Int64),在鸿蒙原生(Native)模式下运行正常,但编译为 Flutter Web 模式在浏览器运行时,数值却发生了精度漂移或溢出。 1. 产生原因:JavaScript 原生的数字类型实质上是 64 位浮点数,它能安全表示的最大整数只有 53 位( 2 53 − 1 2^{53}-1 253−1)。 2. 后果:大额订单 ID、高精度的金融分位值、或是底层硬件的 64 位地址位,在

By Ne0inhk
《Web 自动化测试入门:从概念到百度搜索实战全拆解》

《Web 自动化测试入门:从概念到百度搜索实战全拆解》

一、自动化的核心概念 1. 定义:通过自动方式替代人工操作完成任务,生活中常见案例(自动洒水机、自动洗手液、超市闸机)体现了 “减少人力消耗、提升效率 / 质量” 的特点。 2. 软件自动化测试的核心目的: * 用于回归测试:软件迭代新版本时,验证新增功能是否影响历史功能的正常运行。 3. 常见面试题解析: * 自动化测试不能完全取代人工测试:需人工编写脚本,且功能变更后需维护更新,可靠性未必优于人工。 * 自动化测试不能 “大幅度降低工作量”:仅能 “一定程度” 减少重复工作,需注意表述的严谨性。 二、自动化测试的分类 自动化是统称,包含多种类型,核心分类及说明如下: 分类说明接口自动化针对软件接口的测试,目的是验证接口的功能、性能、稳定性等。UI 自动化 针对软件界面的测试,包含: 1. 移动端自动化:通过模拟器在电脑上编写脚本,测试手机应用;稳定性较差(受设备、

By Ne0inhk
【C语言】初阶数据结构相关习题(二)

【C语言】初阶数据结构相关习题(二)

🎆个人主页:夜晚中的人海 今日语录:知识是从刻苦劳动中得来的,任何成就都是刻苦劳动的结果。——宋庆龄 文章目录 * 🎄一、链表内指定区间翻转 * 🎉二、从链表中删去总和值为零的节点 * 🚀三、链表求和 * 🏝️四、括号的最大嵌套深度 * 🚘五、整理字符串 * 🏖️六、从根到叶的二进制数之和 * ⭐七、二叉树的坡度 🎄一、链表内指定区间翻转 题目描述:链表内指定区间翻转 解题思路: 1.首先处理特殊情况,如果m == n 时,说明反转的区间只有一个节点,无需进行任何操作,直接返回原链表的头节点 head。 2.创建一个虚拟头节点 ret,并将其 next 指针指向链表的头节点 head。 (虚拟头节点的作用是简化边界情况的处理,例如当反转区间包括头节点时,可以避免复杂的头插操作。) 3.使用两个指针 pm 和 pn。

By Ne0inhk