chore: init monorepo snapshot
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
# 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 任务状态回传
|
||||
Reference in New Issue
Block a user