doccano自动标注未触发自定义REST端点调用问题求助
排查doccano Sequence Labeling自动标注无响应问题
环境与问题回顾
- 两台Ubuntu 20 EC2实例,均采用Docker部署服务
- 实例1:部署doccano,完成数据上传与部分标注,基于Hugging Face训练自定义Sequence Labeling模型
- 实例2:部署FastAPI模型服务,已通过连通性测试
- 问题:按官方文档及issue#1417配置自动标注后,触发操作无任何反馈,模型服务器无请求日志
排查方向与解决步骤
1. 核对doccano API配置的准确性
- 确认模型API地址:必须是实例2的公网IP/可访问域名+正确端口,同时检查Docker端口映射是否生效(比如FastAPI容器监听8000,主机是否映射了8000端口)
- 检查接口路径:确保doccano中填写的地址包含完整的预测接口路径(如
http://x.x.x.x:8000/predict),FastAPI的接口路由需严格匹配 - 验证请求/响应格式:Sequence Labeling任务要求:
- 请求体格式:
{"text": "待标注文本内容"} - 响应体格式:
{"labels": [{"start": 0, "end": 4, "label": "PER"}]}
确认FastAPI接口的输入输出完全符合该规范,标签名称需与doccano项目中的标签完全一致(大小写、拼写无差异)
- 请求体格式:
2. 排查网络与安全组限制
- 容器内连通性测试:在实例1的doccano容器中执行
curl -X POST http://实例2IP:端口/predict -H "Content-Type: application/json" -d '{"text": "测试文本"}',确认是否能收到正确响应 - EC2安全组检查:实例2需开放模型API端口给实例1的IP(公网/私网均可);实例1需允许出站访问实例2的对应端口
- Docker网络模式:若实例2使用
bridge模式,需确保端口映射正确;若使用host模式,需确认主机防火墙未拦截端口
3. 检查服务日志与权限
- 查看doccano容器日志:执行
docker logs [doccano容器名/ID],搜索自动标注相关的错误信息(如请求超时、格式报错) - 查看FastAPI容器日志:执行
docker logs [FastAPI容器名/ID],确认是否有请求进入(无日志则说明请求未到达服务) - 确认doccano权限:当前操作用户需拥有项目的自动标注权限,且项目已开启自动标注功能
4. 验证issue#1417的配置细节
- 确认doccano启动时是否添加了环境变量
AUTOMATIC_LABELING_ENABLED=True(Docker部署需在docker run命令中通过-e参数设置) - 核对模型训练输出:确保训练后的模型输出标签与doccano项目中的标签体系完全匹配,避免因标签不匹配导致无结果返回
内容的提问来源于stack exchange,提问作者SRC
相关产品推荐
相关产品推荐

