Dify v0.6.14源码部署

news2024/11/13 11:06:26

一.前置条件

1.安装和配置poetry

通过Windows PowerShell安装poetry:

 (Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -

关于poetry相关配置参考文献[1]。

2.下载dify和启动中间件容器

克隆Dify v0.6.14代码:

git clone https://github.com/langgenius/dify.git
git checkout 0.6.14

在启用业务服务之前,需要先部署 PostgresSQL / Redis / Weaviate(如果本地没有的话),可以通过以下命令启动:

cd docker
cp middleware.env.example middleware.env
docker compose -f docker-compose.middleware.yaml -p "dify0614" up -d

PyCharm界面如下所示:

Docker Desktop界面如下所示:

Portainer界面如下所示:

二.服务端部署

1.进入api目录

cd api

2.复制环境变量配置文件

cp .env.example .env

3.生成随机密明,并替换.env中 SECRET_KEY的值

sed -i "/^SECRET_KEY=/c\SECRET_KEY=$(openssl rand -base64 42)" .env

4.安装依赖包

poetry install

5.执行数据库迁移

poetry shell
flask db upgrade

6.启动API服务

flask run --host 0.0.0.0 --port=5001 --debug

7.启动Worker服务

用于消费异步队列任务,如数据集文件导入、更新数据集文档等异步操作。 Linux / MacOS 启动:

celery -A app.celery worker -P gevent -c 1 -Q dataset,generation,mail,ops_trace,app_deletion --loglevel INFO

解释命令如下所示:

如果使用 Windows 系统启动,请替换为该命令:

celery -A app.celery worker -P solo --without-gossip --without-mingle -Q dataset,generation,mail,ops_trace,app_deletion --loglevel INFO

三.前端页面部署

1.进入web目录

cd web

2.安装依赖包

npm install

3.配置环墳变量

在当前目录下创建文件 .env.local,并复制.env.example中的内容。

4.构建代码

npm run build

5.启动 Web服务

npm run dev

访问 http://127.0.0.1:3000 即可使用本地部署的 Dify。设置管理员密码,根据邮箱和密码登录Dify平台,然后可看到探索、工作室、知识库、工具界面。

参考文献

[1] Poetry入门教程:https://z0yrmerhgi8.feishu.cn/wiki/KapBwuGITiQ2I6ktYpicZl01nyh

[2] What’s New in v0.6.14:https://github.com/langgenius/dify/releases

[3] Dify v0.6.9源码部署:https://z0yrmerhgi8.feishu.cn/wiki/RhZLwjuYxiK8ZikpUMVcICCwn1b

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

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

相关文章

Ubuntu/Kali简洁高效安装最新版的docker-compose

基于docker已安装的情况下,通过执行一下代码完成docker-compose的安装 sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep \"tag_name\": | sed …

Unity不用脚本实现点击按钮让另外一个物体隐藏

1.首先在场景中创建一个按钮和一个其他随便什么东西 2.点击按钮中的这个加号 3.然后将刚刚你创建的物体拖到这里来 4.然后依次点击下面这些给按钮绑定事件 5.运行游戏并点击按钮,就会发现拖进来的物体消失了 总结:如果按钮的功能单一,可以使用…

数据结构之线性表表示集合详解与示例(C,C#,C++)

文章目录 基本特征线性表的特点:线性表的表示方法:C、C#和C语言如何实现一个线性表表示集合1. C实现2. C#实现3. C实现 总结 线性表是计算机数据结构中的一个基本概念,它是一种最简单的抽象数据类型。在线性表中,数据元素之间的关…

相对定位语法:css+xpath基础语法使用-定位页面元素

文章目录 CSS相对定位获取元素关系定位顺序关系 XPath相对定位基础语法顺序关系-通过索引获取元素选取元素 总结 ✨✨✨学习的道路很枯燥,希望我们能并肩走下来! 编程真是一件很奇妙的东西。你只是浅尝辄止,那么只会觉得枯燥乏味&#xff0c…

图片压缩python

linux粘贴文本格式错乱: vi/vim :set paste然后再 insert ,粘贴 centos安装pillow图像处理库: 引用:https://blog.csdn.net/newbieLCQ/article/details/125345335 linux赋予执行权限: # 创建文件 touch comperss.p…

docker快速安装(环境CentOS7)

1. 查看自己的Linux系统 cat /etc/redhat-release 2. 安装依赖插件 yum -y install gcc yum -y install gcc-c yum install -y yum-utils yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum makecache fast yum -y insta…

uniapp开发钉钉小程序流程

下载开发工具 1、小程序开发工具 登录钉钉开发平台,根据自己的需求下载合适的版本,我这里下载的是Windows (64位)版本 小程序开发工具 - 钉钉开放平台 2、HBuilder X HBuilderX-高效极客技巧 新建项目及相关配置 新建项目 …

图示 JVM 可达性分析算法

可达性分析算法: 以 GC Roots 为起始点进行搜索,可达的对象都是存活的,不可达的对象可被回收。 Java 虚拟机使用该算法来判断对象是否可被回收,GC Roots 一般包含以下内容: 虚拟机栈中局部变量表中引用的对象本地方法栈…

LabVIEW机器学习实现外观检测

介绍如何利用LabVIEW平台结合机器学习技术实现对被测样品的外观检测。详细说明了硬件选择、算法使用、操作步骤以及注意事项。 硬件选择 工业相机:高分辨率工业相机(如Basler、FLIR等)用于采集样品的图像。 照明设备:均匀的LED照…

30.【C语言】详解printf

1.printf&#xff08;print formate&#xff09;输入函数 01.简单使用 调用前要引用头文件 #include <stdio.h> printf("abc"); 默认情况下打印完光标停留在同一行 \n可以换行 printf("abc\n"); ​ printf("ab\nc"); ​ printf(…

RocketMQ 如何保证全链路消息不丢失?

目录 1. RocketMQ 消息丢失的原因有哪些 2. 如何保证 RocketMQ 全链路消息不丢失 2.1 保证生产者发送消息到 MQ&#xff0c;消息不丢失 2.2 保证消息写入 Broker 后不丢失 2.3 保证 Broker 集群时&#xff0c;消息不丢失 2.4 保证消费者消费消息不丢失 3. 如果整个 MQ 服…

学习测试9-接口测试 3-jmeter

jmeter启动 测试计划 1 创建线程组 2 创建http请求 数据类型 from表单数据可以通过剪切板直接粘贴 JSON数据需要从括号开始复制 3 查看结果树 4 http cookie管理器&#xff0c;可以记住登录状态 内部不用设置 5 断言 系统返回的信息进行判断 系统返回“新增会议信息成功” …

SerDes系列之如何选择AC耦合电容

交流耦合电容用于隔离PCB互连时的直流分量&#xff08;Common-mode voltage&#xff09;&#xff0c;同时传递交流分量&#xff08;Voltage swing&#xff09;&#xff0c;其作用类似于一个高通滤波器。 但是&#xff0c;如果电容容值选取不当&#xff0c;使用过程中会产生信号…

Linux中的环境变量

一、基本概念 环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数。 如&#xff1a;我们在编写C/C代码的时候&#xff0c;在链接的时候&#xff0c;从来不知道我们的所链接的动态静态库在哪里&#xff0c;但是照样可以链接成功&#xff…

Guava LocalCache源码分析:LocalCache的get、put、expand、refresh、remove、clear、cleanUp

Guava LocalCache源码分析&#xff1a;LocalCache的get、put、expand 前言一、get二、put三、expand 前言 上篇文章&#xff0c;详细描写了Guava LocalCache怎样如ConcurrentHashMap对缓存数据进行了分段存储。本章主要针对LocalCache重要的几个接口进行说明。 一、get CanIg…

[笔记]Fluke3563 振动分析仪

参考文档&#xff1a;Fluke 3563 Analysis Vibration Sensor system | Fluke 1.四大机械故障损伤原因 2.振动特征 福禄克做的示意图很棒&#xff1a; 不平衡对应转动轴的一倍频&#xff0c;不对中是2倍频&#xff0c;然后3~6倍频会有未紧固故障&#xff0c;更高频的位置是齿轮…

怎么压缩视频文件?简单的压缩视频方法分享

视频已成为我们日常生活中不可或缺的一部分。但随着视频质量的提高&#xff0c;文件大小也逐渐成为我们分享的阻碍。如何有效压缩视频文件&#xff0c;使其既能保持清晰&#xff0c;又能轻松分享&#xff1f;今天&#xff0c;给大家分享五种实用的视频压缩方法&#xff0c;快来…

ubuntu上模拟串口通信

前言 有时候写了一些串口相关的程序&#xff0c;需要调试的时候&#xff0c;又没有硬件&#xff0c;或者需要等其他模块完成才能一起联调。这样搭建环境费时费力&#xff0c;很多问题等到最后联调才发现就已经很晚了。 本文提供一种在ubuntu环境下模拟串口&#xff0c;直接就可…

性价比高的宠物空气净化器什么牌子好?热门养宠空气净化器分享

作为一名有6年经验的铲屎官&#xff0c;许多新手铲屎官可能听说过宠物空气净化器&#xff0c;但了解不多。实际上&#xff0c;宠物空气净化器是养猫家庭必备的小家电之一。它的大面积进风口能有效吸附空气中的浮毛和皮屑&#xff0c;专门的除臭技术可以去除猫咪带来的异味。宠物…

Python 视频水印批量添加器

功能如下可以 一、选择水印位置 二、批量添加水印 三、可添加文本或图片 # -*- 编码&#xff1a;utf-8 -*- import cv2 import os import numpy as np from moviepy.editor import VideoFileClip from concurrent.futures import ThreadPoolExecutor import tkinter as tk fro…