Skip to content

Commit db287be

Browse files
committed
refactor: remove db table management from LS adapter (mv to scripts later); change adapter to use the same MySQL DB as other modules.
1 parent 46dfb38 commit db287be

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+1096
-700
lines changed

runtime/label-studio-adapter/.env.example

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,6 @@ LS_TASK_PAGE_SIZE=1000
5353
# =========================
5454
# Data Management 服务配置
5555
# =========================
56-
# DM 服务地址
57-
DM_SERVICE_BASE_URL=http://data-engine:8080
58-
5956
# DM 存储文件夹前缀(通常与 Label Studio 的 local-files 文件夹映射一致)
6057
DM_FILE_PATH_PREFIX=/
6158

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# Label Studio Adapter (DataMate)
2+
3+
这是 DataMate 的 Label Studio Adapter 服务,负责将 DataMate 的项目与 Label Studio 同步并提供对外的 HTTP API(基于 FastAPI)。
4+
5+
## 简要说明
6+
7+
- 框架:FastAPI
8+
- 异步数据库/ORM:SQLAlchemy (async)
9+
- 数据库迁移:Alembic
10+
- 运行器:uvicorn
11+
12+
## 快速开始(开发)
13+
14+
1. 克隆仓库并进入项目目录
15+
2. 创建并激活虚拟环境:
16+
17+
```bash
18+
python -m venv .venv
19+
source .venv/bin/activate
20+
```
21+
22+
3. 安装依赖:
23+
24+
```bash
25+
pip install -r requirements.txt
26+
```
27+
28+
4. 准备环境变量(示例)
29+
30+
创建 `.env` 并设置必要的变量,例如:
31+
32+
- DATABASE_URL(或根据项目配置使用具体变量)
33+
- LABEL_STUDIO_BASE_URL
34+
- LABEL_STUDIO_USER_TOKEN
35+
36+
(具体变量请参考 `.env.example`
37+
38+
5. 数据库迁移(开发环境):
39+
40+
```bash
41+
alembic upgrade head
42+
```
43+
44+
6. 启动开发服务器(示例与常用参数):
45+
46+
- 本地开发(默认 host/port,自动重载):
47+
48+
```bash
49+
uvicorn app.main:app --reload
50+
```
51+
52+
- 指定主机与端口并打开调试日志:
53+
54+
```bash
55+
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload --log-level debug
56+
```
57+
58+
- 在生产环境使用多个 worker(不使用 --reload):
59+
60+
```bash
61+
uvicorn app.main:app --host 0.0.0.0 --port 8000 --workers 4 --log-level info --proxy-headers
62+
```
63+
64+
- 使用环境变量启动(示例):
65+
66+
```bash
67+
HOST=0.0.0.0 PORT=8000 uvicorn app.main:app --reload
68+
```
69+
70+
注意:
71+
72+
- `--reload` 仅用于开发,会监视文件变化并重启进程;不要在生产中使用。
73+
- `--workers` 提供并发处理能力,但会增加内存占用;生产时通常配合进程管理或容器编排(Kubernetes)使用。
74+
- 若需要完整的生产部署建议使用 ASGI 服务器(如 gunicorn + uvicorn workers / 或直接使用 uvicorn 在容器中配合进程管理)。
75+
76+
访问 API 文档:
77+
78+
- Swagger UI: http://127.0.0.1:8000/docs
79+
- ReDoc: http://127.0.0.1:8000/redoc (推荐使用)
80+
81+
## 使用(简要)
82+
83+
- 所有 API 路径以 `/api` 前缀注册(见 `app/main.py``app.include_router(api_router, prefix="/api")`)。
84+
- 根路径 `/` 返回服务信息和文档链接。
85+
86+
更多细节请查看 `doc/usage.md`(接口使用)和 `doc/development.md`(开发说明)。

runtime/label-studio-adapter/alembic.ini

Lines changed: 0 additions & 148 deletions
This file was deleted.

runtime/label-studio-adapter/alembic/README

Lines changed: 0 additions & 1 deletion
This file was deleted.

runtime/label-studio-adapter/alembic/env.py

Lines changed: 0 additions & 145 deletions
This file was deleted.

0 commit comments

Comments
 (0)