当前位置: 首页 > wzjs >正文

江门市网站建设公司网站设计开发公司

江门市网站建设,公司网站设计开发公司,建设工程交易中心官网,做淘宝那样的网站要多少钱目录 背景 一、单机部署机器配置最低要求 二、系统Python环境安装 安装需要的python依赖 使用pyenv官方安装脚本 安装poetry 三、中间件部署 PostgreSQL本地部署 添加PG官方仓库 安装pg 16 检查pg版本 修改密码为dify默认 创建数据库dify 安装pg vector插件 修改…

目录

背景

一、单机部署机器配置最低要求

二、系统Python环境安装

安装需要的python依赖

使用pyenv官方安装脚本

安装poetry

三、中间件部署

PostgreSQL本地部署

添加PG官方仓库

安装pg 16

检查pg版本

修改密码为dify默认

创建数据库dify

安装pg vector插件

修改支持远程访问

Redis本地部署

Weaviate本地部署

四、配置npm环境

五、运行dify

下载源码,并切换到0.15.3的tag

切换到api目录,配置环境文件以及poetry依赖

运行API服务

运行worker服务

六、运行dify-sandbox

安装go环境

七、Rerank模型安装

安装Xinference

八、总结


Dify 0.15.3版本在Linux上的本地部署指南,涵盖单机部署机器配置、系统Python环境安装、中间件部署、npm环境配置、Dify及相关组件运行、Rerank模型安装等内容。关键要点包括:

  • 单机部署机器配置:不同服务有不同的CPU核心和内存要求 。

  • 系统Python环境安装:服务器需Python 3.12,利用pyenv安装,同时安装poetry并添加环境变量。

  • 中间件部署:在安全内网环境部署PostgreSQL、Redis、Weaviate等中间件,需进行安装、配置密码、允许远程访问等操作。

  • 配置npm环境:用nvm安装nodejs,安装npm并修改源。

  • 运行Dify:下载源码,配置环境文件和依赖,执行数据库迁移,分别运行API、worker、web服务。

  • 运行dify-sandbox:需root账号,安装go环境,克隆仓库,安装依赖,构建并启动服务器。

  • Rerank模型安装:安装Xinference,配置使用bge-reranker-v2-m3模型并启动。

背景

官方推荐的是docker部署,docker部署直接参考官方文档即可

Docker Compose 部署 | Dify

不过私有化有时需要本地部署,由于官网并没有给出本地部署的介绍,所以下面文档给出如何在linux上部署dify的详细指南:

一、单机部署机器配置最低要求

CPU核心

内存

部署服务

2 Core

2 GB

dify-api

2 Core

2 GB

dify-worker

1 Core

512 MB

nginx

1 Core

2 GB

PostgreSQL

1 Core

1GB

Redis

2 Core

2 GB

Weaviate

二、系统Python环境安装

服务器启动需要 Python 3.12

以下是使用debian 系相关系统,利用pyenv按照python 3.12的示例

安装需要的python依赖

sudo apt update && sudo apt upgrade -y
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
    libbz2-dev libreadline-dev libsqlite3-dev curl llvm \
    libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

使用pyenv官方安装脚本

如果遇到代理问题,请开代理下载脚本,或者查看https://github.com/pyenv/pyenv进行安装

curl -fsSL https://pyenv.run | bash

设置pyenv的环境变量

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init - bash)"' >> ~/.bashrcecho 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile
echo 'eval "$(pyenv init - bash)"' >> ~/.profileecho 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init - bash)"' >> ~/.bash_profile

运行安装命令,指定安装的python版本

pyenv install 3.12.0
pyenv global 3.12.0
python --version

运行结果如下:

安装poetry

使用官网安装脚本安装,如遇到代理问题,请开代理

curl -sSL https://install.python-poetry.org | python3 -

添加环境变量

echo 'export PATH=/root/.local/bin:$PATH' >> ~/.bashrc
echo 'export PATH=/root/.local/bin:$PATH' >> ~/.profile
echo 'export PATH=/root/.local/bin:$PATH' >> ~/.bash_profile

验证安装

export PATH=/root/.local/bin:$PATH
poetry --version

三、中间件部署

中间件部署都默认要求是安全的内网环境,端口可以互相访问

PostgreSQL本地部署

pg由于是比较简单常见的中间件,这里简单介绍一下使用官方源安装的方式

添加PG官方仓库

sudo apt update && sudo apt install -y wget gnupg
wget -qO - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/postgresql.asc
echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list

安装pg 16

sudo apt update
sudo apt install -y postgresql-16 postgresql-contrib

检查pg版本

psql --version

修改密码为dify默认

#切换用户
sudo -i -u postgres
#修改密码
psql -c "ALTER USER postgres PASSWORD 'difyai123456';"

创建数据库dify

#注意当前用户是postgres
psql -c "CREATE DATABASE dify;"

安装pg vector插件

使用pgxn安装插件

sudo apt install -y pgxnclient
pgxn --version
sudo pgxn install vector
#注意当前用户是postgres
psql -d dify -c "CREATE EXTENSION vector;"

修改支持远程访问

编辑postgresql.conf

sudo vi /etc/postgresql/16/main/postgresql.conf

找到#listen_addresses = 'localhost',改为listen_addresses = '*'

编辑 pg_hba.conf

sudo vi /etc/postgresql/16/main/pg_hba.conf

找到

local   all   postgres   peer

改为

local   all  postgres   md5

文件末尾添加

host   all   all   0.0.0.0/0   md5

修改完成后重启

sudo systemctl restart postgresql

远程访问测试

Redis本地部署

redis由于是比较简单常见的中间件,这里就简单介绍一下

通过apt安装的方式

sudo apt install -y redis
redis-server --version

配置允许远程访问

执行下面的命令,修改redis.conf文件,

sudo vi /etc/redis/redis.conf

找到bind 127.0.0.1 ::1,改为bind 0.0.0.0,

找到protected-mode yes,改为protected-mode no,

找到requirepass foobared,改为requirepass difyai123456,修改密码为difyai123456

重启redis

sudo systemctl restart redis

测试

Weaviate本地部署

详细请参考

Weaviate 1.19(向量数据库)安装配置

四、配置npm环境

使用nvm安装nodejsh

curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.4/install.sh | bash

配置环境变量后安装最新版本

#配置环境变量
source ~/.bashrc
#安装最新版本
nvm install --lts
# 安装npm
npm install -g yarn
# 修改源
npm config set registry https://registry.npmmirror.com
yarn config set registry https://registry.npmmirror.com

五、运行dify

下载源码,并切换到0.15.3的tag

git clone https://github.com/langgenius/dify.git
cd dify
git checkout tags/0.15.3 -b v0.15.3
git branch

切换到api目录,配置环境文件以及poetry依赖

复制环境变量配置文件

cp .env.example .env

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

awk -v key="$(openssl rand -base64 42)" '/^SECRET_KEY=/ {sub(/=.*/, "=" key)} 1' .env > temp_env && mv temp_env .env

由于有些代码逻辑,前端是取后端返回的URL进行请求的,例如图标地址是后端给的地址,因此需要修改一下.env文件里面的各种http地址为具体的ip或者域名,如下图,根据自己部署的域名或者IP,将原来的127.0.0.1改成对应的地址,生产建议全域名。

在pyproject.toml文件末尾追加如下内容,使用国内poetry的依赖源

[[tool.poetry.source]]

name = "tuna"

url = "https://pypi.tuna.tsinghua.edu.cn/simple"

priority = "supplemental"

[[tool.poetry.source]]

name = "douban"

url = "https://pypi.doubanio.com/simple/"

priority = "primary"

通过poetry安装python依赖

poetry env use 3.12
poetry lock
poetry install

有时候需要重复执行一下poetry install ,确保所有依赖都安装完毕

执行数据库迁移

poetry run bash
flask db upgrade

运行API服务

poetry run bash
# 生产运行时,不加--debug参数
flask run --host 0.0.0.0 --port=5001 --debug

运行worker服务

cd api
poetry run bash
celery -A app.celery worker -P gevent -c 1 -Q dataset,generation,mail,ops_trace --loglevel INFO

运行web服务

进入到web目录,使用npm安装前端需要的依赖,然后修改环境文件

cd web
npm install

配置环境文件,在当前目录下创建文件 .env.local,并复制.env.example中的内容。根据需求修改这些环境变量的值

cp .env.example .env.local

同时需要修改.env.local文件内如下的两个地址的URL为机器IP或者对应域名

编译并运行

#构建代码
npm run build
#运行
npm run start

六、运行dify-sandbox

运行需要使用root账号,因为dify-sandbox启动时,会自动判断一些系统文件夹目录是否创建,不存在会自动创建。

安装go环境

需要安装1.22.x以上版本

sudo apt instlal golang

使用以下命令克隆仓库并进入项目目录:

git clone https://github.com/langgenius/dify-sandbox  
cd dify-sandbox  

运行以下命令安装必要的依赖:

./install.sh  

运行以下命令构建沙箱二进制文件(根据架构选择 amd64 或 arm64):

./build/build_[amd64|arm64].sh  

运行以下命令启动服务器:

./main 

七、Rerank模型安装

安装Xinference

  • 配置使用bge-reranker-v2-m3模型

https://zhuanlan.zhihu.com/p/691190576

Xinference 本地部署 Rerank 模型,提高检索结果准确性 - 专栏家

  • 启动Xinference
conda activate xinference 
export  HF_ENDPOINT=https://hf-mirror.com
export XINFERENCE_MODEL_SRC=modelscope
xinference-local -H 0.0.0.0
  • 启动模型
conda activate xinference 
xinference launch --model-name bge-reranker-v2-m3 --model-type rerank

八、总结

Dify 0.15.3版本本地部署指南详细列出了在Linux上部署Dify所需的最低机器配置、Python环境安装、中间件部署(如PostgreSQL、Redis、Weaviate)、npm环境配置以及运行Dify服务的具体步骤。通过遵循这份指南,用户可以轻松地在本地环境中搭建起Dify,享受到其强大的文本处理和分析能力。

Dify作为一款先进的文本处理和分析工具,能够为企业和个人用户提供精准、高效的文本处理服务。通过本地部署,用户可以更灵活地定制和扩展Dify的功能,满足多样化的需求。因此,强烈推荐大家尝试按照这份指南部署Dify,探索并发挥其在文本处理和分析方面的卓越能力。


作者:道一云低代码

作者想说:喜欢本文请点点关注~

http://www.dtcms.com/wzjs/822366.html

相关文章:

  • 外链的论坛网站做自己的网站的一般步骤
  • 做网站公司那家好国家企业信用信息查询平台
  • 泉州企业建站系统让顾客进店的100条方法
  • 小型网站开发成本腾讯云网站建设教程
  • 深圳做网站哪家wordpress5.2.2下载
  • 广饶网站制作不建网站网络营销怎么做
  • 资生堂网站建设外贸软件建设
  • 网站开发 理念怎么写泉州网站建设科技公司
  • 做目的旅游网站的网页制作图片大小设置
  • 购物网站功能设计招标建设网站
  • 网站公司技术交接网站开发和软件开发
  • 资阳地网站seo自己给网站做logo
  • 单页销售网站源码快三网站开发
  • seo网站免费优化软件wordpress搭建ppt
  • 南昌旅游集团网站建设给人做违法网站规避
  • 网站手机网站怎么建立网络推广哪个网站好
  • 什么网站做企业邮箱服务器东莞seo网站排名优化公司
  • 免费网站认证做网站多久
  • 南海区建设局网站网站维护得多久
  • 网站想做个链接怎么做的网站建设公司gzzhixun
  • 网站的字体微信公众号模板素材网站
  • 检察门户网站建设博物馆网站 微信 微博 建设
  • 泰兴做网站的公司建设营销型网站有哪些步骤
  • 什么网站有题目做网站不稳定有什么影响
  • 企业网站外包建设朝阳网站制作
  • 室内设计师网站十大网站兰州新区规划建设局网站
  • 谷歌云做网站终身免费网站建设
  • 做网站怎么能在百度搜索到wordpress 百度站长
  • 房产网站的全景图怎么做一键生成app软件下载
  • 天津 公司网站建设做网站简单么