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

深圳建设交易公司厦门seo

深圳建设交易公司,厦门seo,久久网站建设,提供网站建设商家目录 背景 一、单机部署机器配置最低要求 二、系统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/330858.html

相关文章:

  • 洪梅镇网站建设公司开封网络推广公司
  • 个人怎么做微信公众号和微网站线上推广具体应该怎么做
  • 如果做微商需不需要开个网站。网站seo哪家好
  • html5网站正在建设中模板下载营销引流都有什么方法
  • aspnet网站开发到部署流程北京疫情消息1小时前
  • 国外做网站的公司杭州排名优化公司
  • 陕西恒立建设集团网站线上怎么做推广和宣传
  • 淘宝网页模板免费下载关键词优化怎么弄
  • 如何创网站seo代码优化
  • 泗洪建设局网站好用的百度网盘搜索引擎
  • 网站怎么做自然优化seo什么意思
  • 怎么做网站关键词优化免费发布软文广告推广平台
  • 网线水晶头接法顺序seo主要是指优化
  • 贵阳建站推广公司seo如何建立优化网站
  • 韶关做网站需要多少钱电商平台哪个最好最可靠
  • 深圳建设网站个人网上怎么找客户资源
  • wordpress最佳服务器配置长沙seo网站排名优化公司
  • 专门做吃播的网站经典软文文案
  • 建设通网站登录不进去百度竞价排名是以什么形式来计费的广告?
  • 衣邦人上门定制靠谱吗百度seo还有前景吗
  • 英文网站建设比较好浏览器广告投放
  • 织梦 网站复制宁波做网站的公司
  • 网购网站建设论文如何搭建网站平台
  • 网站开发专员招聘百度公司简介介绍
  • 免费空间做网站如何开发自己的小程序
  • 网站什么时候恢复彩色上海百度seo公司
  • sm做任务的网站有哪些百度关键词相关性优化软件
  • 给别人做网站的销售叫什么线上广告推广
  • 网站建设公司下载企业网络推广
  • 濮阳建设工程网站2023年8月份新冠