本地启动Flower来监控Dify的Celery任务队列

本地启动Flower来监控Dify的Celery任务队列

说明:

启动Middleware服务

bash 复制代码
git clone https://github.com/langgenius/dify.git
cd dify
cd docker
cp middleware.env.example middleware.env
docker compose -f docker-compose.middleware.yaml --profile weaviate -p dify up -d

准备SECRET_KEY:

bash 复制代码
cd ../api
cp .env.example .env
# Generate a `SECRET_KEY` in the `.env` file.
sed -i "/^SECRET_KEY=/c\SECRET_KEY=$(openssl rand -base64 42)" .env

创建Python环境并安装依赖:

bash 复制代码
python3 -m venv venv
source venv/bin/activate
pip install poetry
poetry run which python
poetry shell
poetry install
poetry add flower

运行迁移命令使得数据库保持最新:

bash 复制代码
poetry run python -m flask db upgrade

注释掉api/app.py中的monkey.patch_all(),注释后头部代码如下:

python 复制代码
import os

if os.environ.get("DEBUG", "false").lower() != "true":
    from gevent import monkey

    # monkey.patch_all()

    import grpc.experimental.gevent

    grpc.experimental.gevent.init_gevent()

如果不关闭monkey patching,flower的页面将无法正常刷新出来,见我在flower库上提出的issue: https://github.com/mher/flower/issues/1390

启动Flask API服务:

bash 复制代码
poetry run python -m flask run --host 0.0.0.0 --port=5001 --debug

启动Web服务:

bash 复制代码
cd ../web
npm install
npm run dev

启动Celery任务队列:

bash 复制代码
# source venv/bin/activate
poetry run python -m celery -A app.celery worker -P gevent -c 1 --loglevel INFO -Q dataset,generation,mail,ops_trace,app_deletion

启动Flower:

bash 复制代码
# source venv/bin/activate
poetry run python -m celery -A app.celery flower --port=5555 --address='0.0.0.0' --debug --enable_events
相关推荐
wjcroom14 小时前
celery-APP在windows平台的发布方法(绿色免安装exe可搭配eventlet)
windows·python·celery
致Great3 天前
【GoMate框架案例】讯飞大模型RAG智能问答挑战赛top10 Baseline
人工智能·搜索引擎·自然语言处理·大模型·信息检索·rag
大鹏的NLP博客3 天前
本地源码方式部署启动MaxKB知识库问答系统
大模型·知识库·rag·maxkb
deephub3 天前
RAG系统的7个检索指标:信息检索任务准确性评估指南
人工智能·机器学习·大语言模型·信息检索·rag
汀、人工智能3 天前
从数据洞察到智能决策:合合信息&infiniflow RAG技术的实战案例分享
rag
奔跑草-4 天前
【拥抱AI】介绍Prompt框架ICIO和CRIPSE
人工智能·prompt·ai编程·rag·提示词工程·crispe·icio
奔跑草-4 天前
【拥抱AI】浅谈Prompt的书写规范及要点
人工智能·大模型·llm·prompt·ai编程·rag·ai agent
AI劳模5 天前
长文本分块的新策略——后期分块(Late Chunking),让RAG应用“又准又高效“
人工智能·算法·机器学习·自然语言处理·大模型·rag·后期分块
网安-搬运工9 天前
揭秘AI数字人:RAG技术如何重塑数字人交互新纪元(一)
人工智能·自然语言处理·llm·大语言模型·数字人·ai大模型·rag
非晓为骁10 天前
【GPT】Coze使用开放平台接口-【1】创建插件
gpt·插件·工作流·dify·开放平台·coze