centos安装

手动安装高版本 containerd.io

​下载最新版 containerd.io RPM 包

wget https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/containerd.io-1.6.33-3.1.el7.x86_64.rpm

强制安装依赖包

sudo yum install -y ./containerd.io-*.rpm --skip-broken

配置国内 Docker 仓库

移除官方仓库​(避免冲突)

sudo rm -f /etc/yum.repos.d/docker-ce*.repo

​添加阿里云镜像源

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

​更新仓库缓存

sudo yum clean all && sudo yum makecache

安装 Docker CE

指定版本安装​(规避依赖冲突)

# 查看可用版本
sudo yum list docker-ce --showduplicates | sort -r

# 安装兼容版本(示例)
sudo yum install -y docker-ce-26.1.4 docker-ce-cli-26.1.4 containerd.io

配置镜像加速

vim /etc/docker/daemon.json

{
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://xxxxx.mirror.aliyuncs.com"
  ]
}

重启docker

systemctl restart docker

安装dify

下载源码

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

cd dify

cd docker

cp .env.example .env

docker compose up -d

修改 .env 配置

NGINX_PORT=8080
NGINX_SSL_PORT=30443
EXPOSE_NGINX_PORT=8080
EXPOSE_NGINX_SSL_PORT=40443

docker compose down && docker compose up -d

如果要二开,需要 本地源码部署

安装ollma

curl -fsSL https://ollama.com/install.sh | sh

如果网速慢,本地下载好以后上传到服务器

https://github.com/ollama/ollama/releases/tag/v0.6.3

下载 ollama-linux-amd64.tgz

上传到服务器并解压, tar -xzf ollama-linux-amd64.tgz

启动服务,ollama serve

dify重置密码

运行: docker exec -it docker-api-1 flask reset-password

输入邮箱和密码

连接数据库

docker exec -it docker-db-1 psql -U postgres -d dify

UPDATE accounts SET failed_login_attempts = 0 WHERE email = 'your_email@example.com';

docker exec -it docker-redis-1 redis-cli

KEYS login_attempts

删除掉

更新dify

cd dify/docker

docker compose down

git pull origin main

docker compose pull

docker compose up -d

如果 .env.example 文件有更新,务必同步修改 .env 文件

环境变量

安装python扩展


vim dify/docker/volumes/sandbox/dependencies/python-requirements.txt

# python-requirements.txt示例
pandas

# 重新构建并重启容器

docker compose build --no-cache sandbox

docker compose stop sandbox

docker compose up -d sandbox

使用pyenv管理多版本

安装依赖包

yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libpcap-devel xz-devel

sudo yum groupinstall "Development Tools" -y

sudo yum install -y \ zlib-devel bzip2-devel openssl-devel ncurses-devel \ sqlite-devel readline-devel tk-devel libffi-devel \ xz-devel gdbm-devel db4-devel libpcap-devel

通过脚本自动安装并配置环境变量

vim ~/.bashrc 或者 vim ~/.bash_profile


export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init - bash)"
eval "$(pyenv virtualenv-init -)"

source ~/.bashrc 或者 source ~/.bash_profile

pyenv install 3.11.0

全局切换版本,举例: pyenv global 3.11.0

局部切换

cd /path/to/project

pyenv local 3.11.0

两个项目,如果python版本相同,那么pip安装包是不隔离的,可以使用以下方式隔离

安装 pyenv-virtualenv 插件

git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv

windows中这个命令可能无效

pyenv which python 找到$(pyenv root),然后直接填入绝对路径

C:\Users\admin.pyenv\pyenv-win\versions\3.12.9\python.exe

git clone https://github.com/pyenv/pyenv-virtualenv.git C:\Users\admin.pyenv\pyenv-win\plugins\pyenv-virtualenv

# 在目录 A 中
pyenv virtualenv 3.11.0 projectA-env  # 创建虚拟环境
pyenv local projectA-env              # 绑定到目录 A

# 在目录 B 中
pyenv virtualenv 3.11.0 projectB-env  # 创建另一个虚拟环境
pyenv local projectB-env              # 绑定到目录 B

windows中如果 pyenv virtualenv 3.12.0 test_env 无法找到 virtualenv

使用 python 自带的 virtualenv

安装

pip install virtualenv

创建env环境

python -m virtualenv myenv

激活

.\myenv\Scripts\activate

dify文档

节点说明

dify插件开发

python环境需 >= 3.12 pyenv install 3.12.0

pycharm引入python路径 ~/.pyenv/versions/3.12.x/bin/python3.12

下载客户端 https://github.com/langgenius/dify-plugin-daemon/releases

chmod +x dify-plugin-darwin-amd64

./dify-plugin-darwin-amd64 version

./dify-plugin-darwin-amd64 plugin init

根据提示填写相关信息, 使用 TAB建 可以进行勾选

Storage Size 根据实际情况调节, 比如: 104857600 100M

如果是上传文件的场景,扩大到100M了,那么 .env 配置同步扩大下

# 允许上传 50MB 文件
NGINX_CLIENT_MAX_BODY_SIZE=50M

# 插件包体积限制
PLUGIN_MAX_PACKAGE_SIZE=104857600

打开 /provider 下的 xxx.yaml 也可以自行重命名

配置xxx.yaml

pip install dify_plugin

编写相关逻辑

发布插件

./dify-plugin-darwin-amd64 plugin package ./your_plugin_dir

Xorbits Inference

github

中文文档

pip install 安装报错的话,使用 docker 安装,latest可以替换为最新的稳定版本

docker pull registry.cn-hangzhou.aliyuncs.com/xprobe_xinference/xinference:latest

nginx代理


server {
    listen 80;
    server_name dify.xxx.com;
    client_max_body_size 100M;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # WebSocket支持(如需)
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

名词解释

模型配置参数

温度:通常是0-1的一个值,控制随机性。温度越接近0,结果越确定和重复,温度越接近1,结果越随机。 最大标记:Max Tokens。控制生成内容的长度,根据实际情况调整。 Top P:控制结果的多样性。模型根据概率从候选词中选择,确保累积概率不超过预设的阈值P。 频率惩罚:对过于频繁出现的词或短语施加惩罚,通过降低这些词的生成概率。随着参数值的增加,对频繁出现的词或短语施加更大的惩罚。较高的参数值会减少这些词的出现频率,从而增加文本的词汇多样性。

外部知识库

地址后面需要填:/api/v1/dify

示例如下:

http://ragflow.txf.com/api/v1/dify

API扩展

基于API的变量、内容审查等场景可使用API扩展

设置 -> API扩展 -> 新增API扩展

注意:

首次保存API扩展需要在接口处返回 {"result": "pong"}

MCP

模型上下文协议(Model Context Protocol),可以简单理解为LLM的USB

官网

SKD

Servers

MCP Server Demo

python版本3.10+

MCP SDK 1.2.0+

curl -LsSf https://astral.sh/uv/install.sh | sh

# 创建项目目录
uv init weather
cd weather

# 创建虚拟环境并激活
uv venv
source .venv/bin/activate

# 安装依赖
uv add "mcp[cli]" httpx

# 创建服务文件
touch weather.py

from typing import Any
import httpx
from mcp.server.fastmcp import FastMCP

# Initialize FastMCP server
mcp = FastMCP("weather")


@mcp.tool()
async def get_alerts(city: str) -> str:
    return f'{city},21度'


if __name__ == "__main__":
    mcp.run(transport='stdio')

uv run weather.py

MinerU

conda activate MinerU

https://mineru.readthedocs.io/en/latest/user_guide/usage/api.html

magic-pdf -p xxxdir/small_ocr.pdf -o ./output

magic-pdf -p a.jpg -o output -m auto

magic-pdf -p a.doc -o output -m auto

MCP

servers

python-sdk

Cherry Studio

下载 并 安装 cherry studio

设置 -> MCP服务器 -> 右上角如果有黄色感叹号(点击安装)

添加服务器 -> 命令选uv -> 参数如下: -> 保存

--directory
/Users/txf/wwwroot/mcp-server
run
main.py

新建一个聊天,然后选则MCP服务器,就可以测试了

设置 -> MCP服务器 -> 找到刚才保存的 -> 编辑 -> 就能看到JSON配置了(改一改放到dify的mcp插件中)

如果不想自己写MCP-Server也可以找人家写好的。比如抓取网页的MCP,如下:


{
  "mcpServers": {
    "fetch": {
        "command": "uvx",
        "args": ["mcp-server-fetch"]
    }
  }
}

results matching ""

    No results matching ""