标注平台 - 内置 LLM 自动标注后端
除了对接外部模型服务做自动标注外,平台内置了一套由平台大模型驱动的自动标注 ML 后端, 直接对接 Label Studio 的「Machine Learning Backend」机制,对标注任务做自动预标注,无需自己额外部署模型服务。
后端实现:
myapp/views/view_labelstudio.py,route_base = /proxy/labelstudio。 底层调用平台大模型完成 NLP 与视觉标注,模型由配置项CHATGPT_CHAT_URL/CHATGPT_ARGS指定(OpenAI 兼容地址,见install/kubernetes/cube/overlays/config/config.py:1336-1339)。
支持的标注类型(field / model_type)
自动标注按 URL 中的 <field>/<model_type> 分派(view_labelstudio.py:76-98)。<field> 是模态域(nlp 文本 / cv 视觉),<model_type> 是具体标注类型:
文本(field=nlp)
| model_type | 用途 |
|---|---|
classification |
文本分类 |
summary |
文本摘要 |
translaton |
翻译(代码中即拼作 translaton) |
ner |
命名实体识别 |
faq |
问答 |
rank |
答案排序 |
intent |
意图识别 |
chat |
对话 |
视觉(field=cv,调用多模态大模型)
| model_type | 用途 |
|---|---|
caption |
图片描述(为图片生成一句话描述) |
detection |
目标检测 |
固定接口
后端实现了 Label Studio ML Backend 要求的一组固定接口,路径形如
/proxy/labelstudio/<field>/<model_type>/<动作>:
| 接口 | 方法 | 作用 |
|---|---|---|
/<field>/<model_type>/health |
GET/POST | 健康检查 |
/<field>/<model_type>/setup |
GET/POST | 初始化,接收 access_token / hostname / project |
/<field>/<model_type>/predict |
GET/POST | 预测(自动标注核心),返回 Label Studio 标准 result 结构 |
/<field>/<model_type>/train |
GET/POST | 训练(占位,返回空) |
/<field>/<model_type>/webhook |
GET/POST | 事件回调(占位) |
/<field>/<model_type>/delete |
GET/POST | 删除(占位) |
其中 <field> 为模态域(nlp / cv),<model_type> 为上表中的标注类型。
接入步骤
- 确保平台已配置可用的大模型:配置项
CHATGPT_CHAT_URL(OpenAI 兼容地址)与CHATGPT_ARGS(模型/参数),见install/kubernetes/cube/overlays/config/config.py:1336-1339。 - 在 Label Studio 标注项目的「Settings → Machine Learning → Add Model」中,把 Backend URL 填为
平台内置后端地址:
<平台域名>/proxy/labelstudio/<field>/<model_type>(例如文本分类:.../proxy/labelstudio/nlp/classification;图片描述:.../proxy/labelstudio/cv/caption)。 - 保存后 Label Studio 会调用
setup完成握手;标注时调用predict获取自动预标注结果。 - 标注人员在自动预标注基础上做人工校正,提升标注效率。
不同
model_type对标注模板(Labeling Config)的字段/控件有相应要求(如分类需Choices、NER 需Labels)。 每种类型的输入字段与返回result格式对应view_labelstudio.py中的分支实现(如分类nlp_classification:102、翻译nlp_translaton:213、图片描述cv_caption:578)。