dify本地源码win10部署
我的win10版本还比较老,win+R,输入winver
只要高于我这个版本的都没啥大问题吧,我的安装docker Desktop,搞死人了,
就是win10的Win10 22H2 64之前的版本
win10低版本安装,里面包含wdl2安装程序
https://download.csdn.net/download/u012269637/90479815
安装docker桌面版,win11可以直接安装最新docker Desktop,自动安装wsl2,只需要开启启动Windows 的功能hyper-V和适用于linux的Windows子系统即可,win10的需要手动升级wsd2,安装链接参考安装
https://blog.csdn.net/cliffordl/article/details/145449200
https://blog.csdn.net/w981912536/article/details/139600992
https://blog.csdn.net/weixin_47782004/article/details/144144560
运行dify两种方式
第一种docker环境执行,执行所有服务都在docker上
参考
https://blog.csdn.net/m0_51171437/article/details/146069890
cp .env.example .env
docker compose up -d
docker ps
停掉服务
docker compose down
访问
http://192.168.15.23/install
937117212@qq.com
demo1234
第二种源码执行,执行部分基础服务docker组件
cp middleware.env.example middleware.env
docker compose -f docker-compose.middleware.yaml up -d
# 关闭时,使用stop
docker compose stop
无论那种修,需要改对应的配置文件的db挂载路径,win10需要改,win11不需要
下载源码
git clone https://github.com/langgenius/dify.git
安装桌面docker
安装conda环境
conda官网下载,之前的文章有发过
创建conda的python=3.11环境
conda create --name dify311 python=3.11
激活
cd F:\dify\difymain\dify
conda activate dify311
# 后端服务在api文件夹中
cd api
# 拷贝环境配置
cp .env.example .env
# 生成随机密钥,并替换 .env 中 SECRET_KEY 的值。
openssl rand -base64 42
手动打开.env,修改SECRET_KEY的值为生成的随机密钥
# 安装环境(时间漫长,使用清华源)两个都跳过,历史数据了,直接使用pip install poetry==2.0.1
#pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
#pip install poetry==1.8.5 -i https://pypi.tuna.tsinghua.edu.cn/simple
安装python3.11,配置环境变量,需要poetry管理项目,python版本至少3.9以上
set path=C:\Users\Administrator\AppData\Local\Programs\Python\Python311
安装dify依赖,最后发现只能支持2.0.1,前面直接跳过安装最新版,指定版本pip install poetry==2.0.1
pip install poetry==2.0.1
//安装依赖时间比较久至少1个半小时,建议前后端同时进行依赖安装
poetry install
pip install python-magic-bin
flask run --host 0.0.0.0 --port=5001 --debug
启动apiwork
celery -A app.celery worker -P gevent -c 1 -Q dataset,generation,mail --loglevel INFO
编译web,目前源码里面npm和pnpm混用,导致安装依赖有问题,即使通过,需要两个都按照,报错就就安装对应的包,
大坑,两种方式安装
cd web
node.js下载
https://nodejs.org/zh-cn/download
npm install
报错就用
npm -i pnpm
pnpm install
复制文件
copy .env.example .env.local
npm run build
-构建之后,也可以在构建之前修改主要是win10与linux语法不同问题,修改了才能启动
修改 F:\dify\difymain\dify\web\package.json 的内容
"start": "xcopy .next\\static .next\\standalone\\static /E /I && xcopy public .next\\standalone\\public /E /I && cross-env PORT=%npm_config_port% HOSTNAME=%npm_config_host% node .next\\standalone\\server.js",
npm run start
报权限错误就删除web下面的node_modules文件夹,重新安装依赖
npm config set registry https://registry.npmjs.org/
npm install
npm run build
npm run start
--有问题需要重新构建的,删除web下面的.next,手动删除也可以
rmdir /s /q .next
没有代码更新的不用执行npm install,直接npm run build
npm install
npm run build
npm run start
源码访问
http://192.168.15.23:3000/install
937117212@qq.com
demo1234
源码现在不支持访问了
,
docker的可以,
全部写成bat启动,方便
随便写个,其它的自己改造
@echo off
start powershell -NoExit -Command "& { [Console]::OutputEncoding = [System.Text.Encoding]::UTF8; Set-Location 'F:\dify\difymain\dify\docker'; echo ' docker compose up -d'; docker compose up -d }"
接入本地大模型和硅基流程模型,接入本地大模型。记得设置本地环境变量
在 Windows 中环境变量中新建变量名OLLAMA_HOST
,变量值0.0.0.0
。否则添加不了,硅基的可能第一次添加失败,多加几次,模型名不要停错了,因为下载包要点时间,看docker的插件服务就知道
linux大模型的本地,记得开防火墙端口,外面可以telnet通才行
做了任务编码
相关文章:
dify本地源码win10部署
我的win10版本还比较老,winR,输入winver 只要高于我这个版本的都没啥大问题吧,我的安装docker Desktop,搞死人了, 就是win10的Win10 22H2 64之前的版本 win10低版本安装,里面包含wdl2安装程序 https://…...
Spring Cloud Config - 动态配置管理与高可用治理
引言:为什么需要配置中心? 在微服务架构中,配置管理面临分散化、多环境、动态更新三大挑战。传统基于application.yml等配置文件的硬编码方式,导致以下问题: • 环境差异:开发、测试、生产环境配置混杂&a…...
大模型最新面试题系列:微调篇之微调框架(一)
一. 在DeepSpeed中配置零冗余优化(ZeRO)实现显存优化的步骤 核心原理 ZeRO通过分片(Sharding)技术将模型参数、梯度和优化器状态分布到多卡,消除冗余存储。三个阶段逐步减少显存占用: Stage 1࿱…...
windows第十三章 GDI绘图技术
文章目录 GDI绘图函数介绍设备上下文函数m_hDC GDI对象画笔画刷位图字体区域 案例分享 GDI绘图函数介绍 绘图函数在CDC类里 设备上下文 DC:device context 设备上下文,显卡驱动程序,控制硬件,每个厂商的都不同,操作系统层面&am…...
使用 Nginx 进行前端灰度发布的策略与实践
1. 引言 灰度发布的概念 灰度发布,也称为金丝雀发布,是一种软件发布策略,通过向一小部分用户群体逐步推出新版本,收集反馈并监控性能,以确保新版本在大规模部署前不会出现问题。这种方法可以有效降低发布风险&#x…...
有了大语言模型还需要 RAG 做什么
一、百炼平台简介 阿里云的百炼平台就像是一个超级智能的大厨房,专门为那些想要做出美味AI大餐的企业和个人厨师准备的。你不需要从头开始做每一道菜,因为这个厨房已经为你准备了很多预制食材(预训练模型),你可以根据…...
pytest快速入门 - 目录:半天掌握pytest
1 pytest快速入门 - 目录 本系列文章将快速的带领用户进入pytest领域,通过阅读本专栏,用户将可以熟练掌握pytest的基本用法,同时对测试前置条件的构造、后置条件的清理等有较深入的了解,特别是后置条件的执行完备度有一个认识。 …...
2.4 python网络编程
在当今数字化的时代,网络连接着世界的每一个角落。从简单的网页浏览到复杂的分布式系统,网络编程无处不在。Python 作为一种功能强大且易于学习的编程语言,在网络编程领域占据着重要的地位。它丰富的库和简洁的语法使得开发者能够高效地构建各…...
网络变压器的主要电性参数与测试方法(4)
Hqst盈盛(华强盛)电子导读:网络变压器的主要电性参数与测试方法(4).. 今天我们继续来看看网络变压器的2个重要电性参数与它的测试方法: 1.反射损耗(Return loss&…...
【Springboot知识】开发属于自己的中间件健康监测HealthIndicate
文章目录 **一、技术栈****二、项目结构****三、依赖配置 (pom.xml)****四、配置文件 (application.yml)****五、自定义健康检查实现****1. Redis健康检查****2. Elasticsearch健康检查****3. Kafka健康检查****4. MySQL健康检查** **六、自定义健康检查接口 (可选)****七、测试…...
蓝桥杯备赛-二分-技能升级
问题描述 小蓝最近正在玩一款 RPG 游戏。他的角色一共有 NN 个可以加攻击力的技能。 其中第 ii 个技能首次升级可以提升 AiAi 点攻击力, 以后每次升级增加的点数 都会减少 Bi。「AiBi⌉Bi。「BiAi⌉ (上取整) 次之后, 再升级该技能将不会改变攻击力。 现在小蓝可以…...
【GPT入门】第18课 langchain介绍与API初步体验
【GPT入门】langchain第一课 langchain介绍与API初步体验 1. langchain介绍定义特点1. 模块化与灵活性2. 链式调用机制3. 数据连接能力4. 记忆管理功能5. 提示工程支持6. 可扩展性 2.langchain核心组件架构图3. 最简单的helloworld入门 1. langchain介绍 LangChain 是一个用于…...
Django部署Filemanagement
Pycharm搭建项目安装虚拟环境 mysqlclient对mysql的安装,配置有要求 pymsql伪装成mysqlclient,pymysql可以操纵mysql pip install pymysql操作sql5.7 mysql8.0会出现与pycharm不兼容问题,会报错,所以降到5.7 # 进入mysql 需要…...
Python的types库学习记录
types 库是 Python 标准库中的一部分,它提供了与 Python 对象类型相关的工具和常量,有助于在运行时处理和操作不同类型的对象。 以下是对 types 库的详细介绍: 主要用途 • 类型检查:在运行时判断对象的类型。 • 动态创建和操作…...
C# 表达式树详解
总目录 前言 在 C# 中,表达式树(Expression Trees)是一种强大的特性,允许开发者将代码表示为数据结构。这使得我们可以在运行时动态地创建和操作代码逻辑,广泛应用于 LINQ 查询、动态方法生成以及反射等领域。本文将深…...
分别用树型和UML结构展示java集合框架常见接口和类
树型结构展示java集合框架常见接口和类 Java 集合框架中的接口和子类关系可以用树形结构来展示。以下是一个简化的树形结构,展示了主要的接口和一些重要的实现类: java.util.Collection ├── java.util.List │ ├── java.util.ArrayList │ ├…...
蓝桥杯备赛-二分-青蛙过河
问题描述 小青蛙住在一条河边, 它想到河对岸的学校去学习。小青蛙打算经过河里 的石头跳到对岸。 河里的石头排成了一条直线, 小青蛙每次跳跃必须落在一块石头或者岸上。 不过, 每块石头有一个高度, 每次小青蛙从一块石头起跳, 这块石头的高度就 会下降 1 , 当石头的高度下降…...
uniapp+微信小程序+最简单局部下拉刷新实现
直接上代码 <scroll-view style"height: 27vh;" :scroll-top"scrollTop" scroll-y"true"scrolltolower"onScrollToLower1" lower-threshold"50"refresher-enabled"true" refresherrefresh"onRefresherR…...
Spring Boot 3.x 中 @NotNull 与 @NonNull 的深度解析
在 Java 开发领域,尤其是在 Spring Boot 生态系统中,空指针异常(NPEs)始终是一个顽固的挑战。这些运行时错误可能导致应用程序崩溃、数据不一致以及糟糕的用户体验。为了应对这一问题,Java 社区开发了各种空安全机制&a…...
SQLark 实战 | 如何从Excel、csv、txt等外部文件进行数据导入
数据导入导出是应用开发者在平时开发中最常用的操作之一,SQLark 里提供了方便的图形化界面来完成导入导出。本文先和大家分享如何从 Excel、csv、txt 等外部文件导入数据到数据库表中。 👉 前往 SQLark 官网:www.sqlark.com 下载全功能免费版…...
MATLAB中envelope函数使用
目录 说明 示例 chirp 的解析包络 使用滤波器计算多通道信号的解析包络 录音信号的移动 RMS 包络 语音信号的峰值包络 不对称序列的包络 envelope函数的功能是提取信号的包络。 语法 [yupper,ylower] envelope(x) [yupper,ylower] envelope(x,fl,analytic) [yupper,…...
ES搭建详细指南+常见错误解决方法
Elasticsearch(ES)是一款开源的、分布式的、RESTful风格的搜索和数据分析引擎。它用于全文搜索、结构化搜索、分析等场景。以下是Elasticsearch的搭建步骤以及处理常见错误的方法。 Elasticsearch搭建步骤: 1.环境准备: 确保你的…...
Unity 封装一个依赖于MonoBehaviour的计时器(上) 基本功能
灵感来自下面这本书的协程部分,因此我就自己尝试写了一个 我的新书Unity3D游戏开发(第3版) | 雨松MOMO程序研究院 如果你不知道什么是协程:unity保姆级教程之协同程序_unity协同-CSDN博客 一句话概括:协程就是单线程的异步操作,其作用于Unity的主线程 1…...
PostgreSQL数据库版本支持策略
PostgreSQL数据库版本支持策略 主要版本会进行复杂的更改,因此无法以向后兼容的方式维护数据目录的内容。重大升级需要转储/重新加载数据库或使用pg_upgrade应用程序。我们还建议您阅读您计划升级到的主要版本的升级部分。您可以从一个主要版本升级到另一个…...
应用层之网络应用模型,HTTP/HTTPS协议
应用层是网络协议栈的最顶层,直接为应用程序提供通信服务,定义了不同主机间应用进程交互的规则,包括报文类型、语法、语义及通信时序 一、网络应用模型 1.定义及特点 模型定义核心特点典型应用场景C/S客户端向服务器发起请求,服…...
(七)Spring Boot学习——Redis使用
有部分内容是常用的,为了避免每次都查询数据库,将部分数据存入Redis。 一、 下载并安装 Redis Windows 版的 Redis 官方已不再维护,你可以使用 微软提供的 Redis for Windows 版本 或者 使用 WSL(Windows Subsystem for Linux&a…...
11 | 给 Gin 服务器添加中间件
提示: 所有体系课见专栏:Go 项目开发极速入门实战课;欢迎加入 云原生 AI 实战 星球,12 高质量体系课、20 高质量实战项目助你在 AI 时代建立技术竞争力(聚焦于 Go、云原生、AI Infra);本节课最终…...
selenium等待
通常代码执行的速度⽐页⾯渲染的速度要快,如果避免因为渲染过慢出现的⾃动化误报的问题呢?可以使⽤selenium中提供的三种等待⽅法: 1. 隐式等待(Implicit Wait) 隐式等待适用于全局,它告诉 WebDriver 在查找元素时等待一定的时间,直到元素出现。 如果超时,WebDriver 不…...
为什么List、Set集合无法在遍历的时候修改内部元素
以常用集合ArrayList为例,ArrayList 在遍历过程中无法直接修改内部元素的结构(例如通过 remove() 或 add() 方法修改元素),是因为 遍历的过程中修改结构 可能会导致 不一致的行为、并发修改异常 或 逻辑错误。 注意:和…...
使用 Elasticsearch 构建多模式 RAG 系统:哥谭市的故事
作者:来自 Elastic Alex Salgado 学习如何构建一个多模态检索增强生成 (RAG) 系统,该系统集成文本、音频、视频和图像数据,以提供更丰富的、具有上下文的信息检索。 在这篇博客中,你将学习如何使用 Elasticsearch 构建一个多模态 …...
单一责任原则在Java设计模式中的深度解析
在软件开发中,设计模式提供了一种解决特定问题的思路。在众多的设计原则中,单一责任原则(Single Responsibility Principle,SRP)是一个非常重要的概念。它主要强调一个类应该只有一个责任,也就是说…...
设计模式学习记录
设计模式23种 创建型抽象工厂模式工厂模式生成器模式原型模式单例模式 结构型适配器模式桥接模式组合模式装饰模式外观模式享元模式代理模式 行为型责任链模式命令模式解释器模式迭代器模式中介者模式备忘录模式观察者模式状态模式策略模式模版方法模式访问者模式 创建型 与对…...
set_clock_groups
一、命令参数与工具处理逻辑 核心参数定义 参数定义工具行为工具兼容性-asynchronous完全异步时钟组,无任何相位或频率关系(如独立晶振、不同时钟树)工具完全禁用组间路径的时序分析,但需用户自行处理跨时钟域(CDC&a…...
QT创建项目(项目模板、构建系统、选择类、构建套件)
1. 项目模版 项目类型界面技术适用场景核心依赖模块开发语言Qt Widget ApplicationC Widgets传统桌面应用(复杂控件)Qt WidgetsCQt Console Application无 GUI命令行工具、服务Qt CoreCQt Quick ApplicationQML/Quick现代跨平台应用(动画/触…...
麒麟系统利用pycharm生成deb文件
在麒麟系统(Kylin OS)上使用 PyCharm 进行 Python 开发并生成 .deb 可安装软件包,可以按照以下步骤进行操作: 1. 准备工作 安装 PyCharm:确保已经在麒麟系统上安装了 PyCharm,可以使用官方提供的安装包进…...
超声重建,3D重建 超声三维重建,三维可视化平台 UR 3D Reconstruction
1. 超声波3D重建技术的实现方法与算法 技术概述 3D超声重建是一种基于2D超声图像生成3D体积数据的技术,广泛应用于医学影像领域。通过重建和可视化三维结构,3D超声能够显著提高诊断精度和效率,同时减少医生的脑力负担。本技术文档将详细阐述…...
Qt 信号与槽
目录 Qt信号和槽 connect函数 connect使用方法 自定义信号 与 自定义槽 Qt界面化工具自动生成的槽 自定义信号 带参数的信号和槽 信号与槽的断开 Qt信号和槽 谈到信号,设计3个要素 信号源:谁发出了信号 信号触发条件:哪个控件的哪个…...
卷积神经网络 - 卷积的变种、数学性质
本文我们来学习卷积的变种和相关的数学性质,为后面学习卷积神经网络做准备,有些概念可能不好理解,可以先了解其概念,然后慢慢理解、逐步深入。 在卷积的标准定义基础上,还可以引入卷积核的滑动步长和零填充来增加卷积…...
ubuntu 和 RV1126 交叉编译Mosqutiio-1.6.9
最近需要交叉编译mosquitto,遇到一些小问题记录一下。 1.众所周知使用它自带的Makefile编译的时候,只需要在编译前,指定它config.mk中的变量:CFLAGS头文件路径 和 LDFLAGS库文件路径就ok,例子如下: expor…...
从零开始学习机器人---如何高效学习机械原理
如何高效学习机械原理 1. 理解课程的核心概念2. 结合图形和模型学习3. 掌握公式和计算方法4. 理论与实践相结合5. 总结和复习6. 保持好奇心和探索精神 总结 机械原理是一门理论性和实践性都很强的课程,涉及到机械系统的运动、动力传递、机构设计等内容。快速学习机械…...
STM32 RS232通信开发全解析 | 零基础入门STM32第五十九步
主题内容教学目的/扩展视频RS232串口电路原理,跳线设置,驱动程序。与超级终端通信。了解电路原理和RS232协议。 师从洋桃电子,杜洋老师 📑文章目录 一、RS232通信系统架构二、RS232核心原理与硬件设计2.1 电气特性对比2.2 典型电路…...
文献分享: 对ColBERT段落多向量的剪枝——基于学习的方法
原论文 1. 导论 & \textbf{\&} &方法 1️⃣要干啥:在 ColBERT \text{ColBERT} ColBERT方法中,限制每个段落要保留的 Token \text{Token} Token的数量,或者说对段落 Token \text{Token} Token进行剪枝 2️⃣怎么干:注…...
(已解决)aws 上 部署Splunk 负载均衡unhealthy
在AWS 部署Splunk 服务,instance 是后端的EC2, 我把splunk 服务起好后,发现port : 8000 是listening: #netstat -an | grep 80 tcp 0 0 127.0.0.1:8065 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:8089 0.0.0.0:* …...
C# 异步编程
概述 同步:指必须等待前一个操作完成,后续操作才能继续。同步操作会阻塞线程直到任务完成。 异步:异步操作不会阻塞线程,允许程序在等待某个任务完成的同时,继续执行其他任务。 异步编程适用场景: 1、从…...
缓存之美:Guava Cache 相比于 Caffeine 差在哪里?
大家好,我是 方圆。本文将结合 Guava Cache 的源码来分析它的实现原理,并阐述它相比于 Caffeine Cache 在性能上的劣势。为了让大家对 Guava Cache 理解起来更容易,我们还是在开篇介绍它的原理: Guava Cache 通过分段(…...
Go string 字符串底层逻辑
在 Go 语言中,string 类型的底层结构是一个结构体,包含两个字段:一个指向字节数组的指针和该字节数组的长度。以下是其在 Go 源码中的大致定义:type stringStruct struct {str unsafe.Pointerlen int } str:这是一个指…...
高效集成聚水潭采购退货数据到MySQL的最佳实践
聚水潭数据集成到MySQL:采购退货单的高效对接方案 在企业的数据管理和分析过程中,数据的准确性和实时性至关重要。本文将分享一个具体的系统对接集成案例:如何通过轻易云数据集成平台,将聚水潭中的采购退货单数据高效地集成到MyS…...
STM32步进电机S型与T型加减速算法
目录 一、基本原理 二、常见类型 三、算法详解 四、应用场合 五、代码实现 1、main...
centos操作系统上传和下载百度网盘内容
探序基因 整理 进入百度网盘官网百度网盘 客户端下载 下载linux的rpm格式的安装包 在linux命令行中输入:rpm -ivh baidunetdisk_4.17.7_x86_64.rpm 出现报错: 错误:依赖检测失败: libXScrnSaver 被 baidunetdisk-4.17.7-1.x8…...
深入 Python 网络爬虫开发:从入门到实战
一、为什么需要爬虫? 在数据驱动的时代,网络爬虫是获取公开数据的重要工具。它可以帮助我们: 监控电商价格变化抓取学术文献构建数据分析样本自动化信息收集 二、基础环境搭建 1. 核心库安装 pip install requests beautifulsoup4 lxml …...