在Windows本地部署Dify详细操作

Dify官网文档:产品简介 - Dify Docs

1.硬件要求

2.部署方式选择

本次我选择Docker Compose 部署,接下来我将根据官方文档指引,在windows电脑上完成dify本地部署

3.DockerCompose本地部署Dify

3.1 安装WSL2

官方安装WSL2的操作说明入口:

查看自己系统版本快捷键:Win+I—>系统—>系统信息

 

根据自己电脑版本,选择wsl2安装方式:

3.2 安装docker desktop

根据dify官网文档给的windows docker desktop安装方式,下载docker desktop

 下载后,直接双击.exe文件安装

3.3 docker desktop配置

配置docker镜像下载地址:

启动docker-desktop,不需要登录,点击左上角【设置】

在【Docker Engine】里,配置docker镜像为国内下载地址,然后右下角点击【Apply&restart】

{
    "registry-mirrors": [
        "https://mirror.aliyuncs.com",
        "https://mirror.baidubce.com",
        "https://docker.m.daocloud.io"
    ]
}

3.4 安装dify

1.查看dify版本:https://github.com/langgenius/dify

2.克隆 dify 源代码至本地

git clone https://github.com/langgenius/dify.git --branch 1.3.1 D:\dify-1.3.1

3.配置dify源码

将克隆下来的源码docker⽬录,重命名为: docker-dify-1.3.1

修改后

在docker-dify-1.3.1⽬录下,将 .env.example ⽂件复制⼀份,重命名为 .env

复制重命名后

4.启动dify容器

启动docker desktop

检查启动状态:

启动dify容器方法一:在线下载镜像并启动dify

在cmd下进入 docker-dify-1.3.1 目录,执⾏命令:

docker compose up -d

docker会⾃动下载dify所需的镜像,并启动dify,如下图:

下载过程

下载完后自动启动

启动完成后,进入docker desktop页面,会看到dify容器

以后只需要启动docker desktop即可启动dify

如果因为网络原因下载失败,可以使⽤离线的dify镜像包启动dify

启动dify容器方法二:使用离线的dify镜像包

dify-1.3.1-离线镜像包下载链接:

链接:https://pan.baidu.com/s/1oaOQ7p7Ojp466hvwSeM7og 
提取码:H7s3

dify-1.3.1-离线镜像包.zip 解压,放在任意⼀个英文目录下。在cmd下,进⼊到镜像包解压后的目录,依次执⾏命令:

docker load -i dify-api.tar

docker load -i dify-sendbox.tar

docker load -i dify-web.tar

docker load -i nginx.tar

docker load -i postgres.tar

docker load -i redis.tar

docker load -i squid.tar

docker load -i weaviate.tar

执⾏下面的命令,检查镜像是否都已经成功导⼊。

docker images


在cmd下进⼊到docker-dify-1.3.1 目录下,执⾏以下命令启动dify镜像

docker compose up -d

查看docker下面的镜像:

docker images

4.访问dify

  •  如果dify安装在本地:登录地址:http://localhost/apps
  • 如果dify安装在其他计算机或者本地虚拟机里:登录地址为:http://计算机ip/apps,比如我公司里由于禁用docker desktop,dify是通过wsl2里的docker engine部署的,那登录地址为:http://172.23.67.XX/apps (172.23.67.XX是wsl2的地址)

第一次访 问需要注册

5.添加大模型到Dify平台

5.1 添加ollama管理的本地大模型

启动ollama:菜单栏双击羊驼的图标

查看ollama的本地大模型:ollama list

dify右上角个人头像——>设置——>模型供应商

在列表中找到对应的大模型——>安装

插件安装完成后,回到模型供应商页面,会在待配置列表里多出来一条记录:

在待配置列表点击【添加模型】

模型名称Ollama本地管理的模型名称,通过ollama list指令查看

基础URL是指dify访问ollama的地址

  • 如果ollama和dify安装在同一台计算机上:默认:http://host.docker.internal:11434
  • 如果ollama和dify是安装在不同的计算机,或者dify是安装在虚拟机里,这个地址是指:ollama所在计算机的地址。至于端口,ollama的端口默认是11434,但是要看自己的计算机11434端口是否被占用。

      比如我公司里计算机11434端口被占用,安装ollama时系统环境变量里配置了端口:
      变量名:OLLAMA_HOST 

      变量值(端⼝)::8000(8000前⾯有个冒号)

     由于公司禁用docker desktop ,dify是安装在pc的里,pc的地址为:添加大模型时我的这个地址为:​​​​​​http://10.219.24.xx:8000 (10.219.24.xx是我的pc计算机ip)

添加完成后,会在模型列表中看到ollama:

5.2 添加远端大模型

5.2.1 添加硅基流动

在模型供应商里找到硅基流动

安装插件:

​ 在待配置列表里右下角点击【添加模型】

 

模型名称获取方式:打开硅基流动平台——>模型广场,点击模型,复制名称

API Key获取方式:打开硅基流动平台——>API秘钥,复制Key

API Key申请方式:请查阅我的另外一篇文章:申请deepseek Api Key的三种方式

 右下角保存后,回到模型供应商可以看到硅基流动

5.2.2 添加火山引擎

大模型供应商列表里找到火山引擎

安装插件:
 在待配置列表右下角点击【添加模型】

 

模型名称:火山引擎平台——>模型广场,复制模型名称

鉴权方式:下拉选择Api Key

API Key:火山引擎平台——>API Key管理,复制Key

火山引擎地域:不用管

API Endpoint Host:不用管

Endpoint ID:火山引擎平台——>在线推理,复制接入点ID

API Key和Endpoint ID申请方法请查阅我的另外一篇文章:申请deepseek Api Key的三种方式

 基础模型:下拉找到你想要的模型

 最后右下角点击【保存】后,在回到模型供应商可以看到火山引擎了

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

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

相关文章

Flutter 与 Android 原生布局组件对照表(完整版)

本对照表用于帮助 Android 开发者快速理解 Flutter 中的布局组件与原生布局的关系。 📘 Flutter ↔ Android 布局组件对照表 Flutter WidgetAndroid View/Layout说明ContainerFrameLayout / View通用容器,可设置背景、边距、对齐等RowLinearLayout (hor…

ps填充图层

在Photoshop(PS)中,填充图层是一种强大的工具,它允许用户在不破坏原始图像数据的情况下,快速为图像添加颜色、渐变或图案等填充效果。以下从填充图层的类型、创建方法、编辑与修改、应用场景等方面进行详细介绍。 填充…

网页前端开发(基础进阶1--盒子模型)

颜色表示方法3种: 1.关键字: color:green; gray red yellow 2.rgb表示法:红,绿,蓝三原色。rgb(r,g,b),r表示红色,g表示绿…

第10讲、Odoo 18框架设计原理全解析

前言 Odoo是一套开源的企业资源规划(ERP)系统,以其模块化、可扩展性和全面的业务应用套件而闻名。Odoo 18作为其最新版本,在架构设计、前端技术和后端实现上都有显著的创新和优化。本文将从前端的OWL组件化、模块化,到后端的ORM封装&#xf…

CSS3 渐变、阴影和遮罩的使用

全文目录: 开篇语**前言****1. CSS3 渐变 (Gradient)****1.1 线性渐变 (linear-gradient)****1.2 径向渐变 (radial-gradient)** **2. CSS3 阴影 (Shadow)****2.1 盒子阴影 (box-shadow)****2.2 文本阴影 (text-shadow)** **3. CSS3 遮罩 (Mask)****3.1 基本遮罩 (m…

[Linux]虚拟地址到物理地址的转化

[Linux]虚拟地址到物理地址的转化 水墨不写bug 文章目录 一、再次认识地址空间二、页表1、页表的结构设计2、页表节省了空间,省在哪里?3、页表的物理实现 一、再次认识地址空间 OS和磁盘交互的内存基本单位是4KB,这4KB通常被称为内存块。OS对…

Kubernetes(K8s)核心架构解析与实用命令大全

在容器化技术席卷全球的今天,Kubernetes(简称K8s,以“8”代替“ubernete”八个字母)已成为云原生应用部署和管理的核心基础设施。作为Google基于内部Borg系统开源打造的容器编排引擎,K8s不仅解决了大规模容器管理的难题…

基于微信小程序的scratch学习系统

博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了六年的毕业设计程序开发,开发过上千套毕业设计程序,没有什么华丽的语言&#xff0…

postgresql 流复制中指定同步的用户

postgresql 流复制中指定同步的用户 在创建postgresql流复制的过程中,可以指定用户名。 主库pg_hba.conf配置 vi $PGDATA/pg_hba.conf host replication repl 192.168.56.12/32 md5 host all all 0.0.0.0/0 md5主库创建同步的用户 # 主库创建 replicator 流复制…

基于springboot的运动员健康管理系统

博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了六年的毕业设计程序开发,开发过上千套毕业设计程序,没有什么华丽的语言&#xff0…

工具识别系统Python+深度学习+人工智能+卷积神经网络算法+TensorFlow+图像识别

一、介绍 工具识别系统,使用Python作为主要编程语言,基于TensorFlow搭建卷积神经网络算法,通过收集了8种常见的日常工具图片(“汽油罐(Gasoline Can)”, “锤子(Hammer)”, “钳子&…

2024 CKA模拟系统制作 | Step-By-Step | 8、题目搭建-创建 Ingress

目录 ​​​​​​免费获取题库配套 CKA_v1.31_模拟系统 一、题目 二、核心考点 Ingress 资源定义 Ingress Controller 依赖 服务暴露验证 网络层次关系 三、搭建模拟环境 1.创建命名空间 2.安装ingress ingress-nginx-controller 3.创建hello.yaml并部署 四、总结 …

关于uv 工具的使用总结(uv,conda,pip什么关系)

最近要开发MCP 项目,uv工具使用是官方推荐的方式,逐要了解这个uv工具。整体理解如下: 一.uv工具的基本情况 UV 是一个由 Rust 编写的现代化 Python 包管理工具,旨在通过极速性能和一体化功能替代传统工具(如 pip、vi…

嵌入式学习笔记 - 新版Keil软件模拟时钟Xtal灰色不可更改的问题

在新版Keil软件中,模拟时钟无法修改XTAL频率,默认只能使用12MHz时钟。‌这是因为Keil MDK从5.36版本开始,参数配置界面不再支持修改系统XTAL频率,XTAL选项变为灰色,无法修改。这会导致在软件仿真时出现时间错误的问题&…

Spring AI Image Model、TTS,RAG

文章目录 Spring AI Alibaba聊天模型图像模型Image Model API接口及相关类实现生成图像 语音模型Text-to-Speech API概述实现文本转语音 实现RAG向量化RAGRAG工作流程概述实现基本 RAG 流程 Spring AI Alibaba Spring AI Alibaba实现了与阿里云通义模型的完整适配,…

Java进阶---JVM

JVM概述 JVM作用: 负责将字节码翻译为机器码,管理运行时内存 JVM整体组成部分: 类加载系统(ClasLoader):负责将硬盘上的字节码文件加载到内存中 运行时数据区(RuntimeData Area):负责存储运行时各种数据 执行引擎(Ex…

数据类型检测有哪些方式?

typeof 其中数组 对象 null都会判断为Object,其他正确 typeof 2 // number typeof true //bolean typeof str //string typeof [] //Object typeof function (){} // function typeof {} //object typeof undefined //undefined typeof null // nullinstanceof 判断…

NodeJS全栈开发面试题讲解——P6安全与鉴权

✅ 6.1 如何防止 SQL 注入 / XSS / CSRF? 面试官您好,Web 安全三大经典问题分别从不同层面入手: 🔸 SQL 注入(Server端) 原理:恶意用户将 SQL 注入查询语句拼接,导致数据泄露或破坏…

npm error Cannot find module ‘negotiator‘ 的处理

本想运行npm create vuelatest,但提示: npm error code MODULE_NOT_FOUND npm error Cannot find module negotiator npm error Require stack: npm error - C:\Users\Administrator\AppData\Roaming\nvm\v18.16.1\node_modules\npm\node_modules\tuf-j…

Python爬虫:AutoScraper 库详细使用大全(一个智能、自动、轻量级的网络爬虫)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、AutoScraper概述1.1 AutoScraper介绍1.2 安装1.3 注意事项二、基本使用方法2.1 创建 AutoScraper 实例2.2 训练模型2.3 保存和加载模型2.4 数据提取方法2.5 自定义规则三、高级功能3.1 多规则抓取3.2 分页抓取3.3 代…