# wolai-backend(stage0 骨架) 本目录是 design3.0 指南下的 FastAPI + Celery 阶段 0 脚手架。当前目标: 1. 暴露健康检查与占位 API(`/api/v1/tasks/ocr`、`/api/v1/chat`),供前端联调。 2. 预留 Celery 队列、LightRAG、MinerU 集成点,但将重计算逻辑延后到阶段 1。 3. 依赖全部维护在 `requirements.txt`,其中 LightRAG 与 MinerU 通过本地源码安装,使用项目根目录已经下载好的仓库。 ## 环境初始化 ```powershell python -m venv venv .\venv\Scripts\activate # 如遇代理报错,可在同一终端先运行: # set HTTP_PROXY= # set HTTPS_PROXY= # set ALL_PROXY= # set NO_PROXY=* # 安装 PyPI 依赖 + 本地 LightRAG (项目根目录已放置源码) pip install -r requirements.txt ``` > MinerU 已位于 `services/mineru`,按 README 启动为独立 OCR 服务,无需作为 Python 包安装。 ## 运行服务 ```powershell # FastAPI uvicorn app.main:app --reload --port 8000 # Celery worker(后续阶段会真正处理 MinerU / LightRAG 作业) celery -A app.workers.celery_app worker --loglevel=info ``` ## 目录速览 ``` app/ ├── config.py # Pydantic 设置,统一读取 .env ├── deps.py # Supabase JWT / 客户端依赖 ├── routers/ │ ├── health.py # GET /health │ ├── tasks.py # POST /api/v1/tasks/ocr、GET /api/v1/tasks/{id} │ └── chat.py # GET /api/v1/chat(SSE 占位) ├── schemas/ # Pydantic 请求/响应模型 ├── services/ # LightRAG、MinerU、Storage 等服务占位 └── workers/ ├── celery_app.py # Celery 配置 └── tasks.py # 后台任务入口(当前返回占位日志) ``` 阶段 0 完成后,stage1 将在此基础上补充: - MinerU OCR 实装(下载 Supabase Storage 文件 → 解析 → 更新 `documents`) - LightRAG 的增量索引 / 查询 - SSE 流式回答 + 来源引用 - Redis/APScheduler 任务状态回传