
approachingai/ktransformersQT (Quick Transformers) 是一个专注于提供快速部署和使用Transformer模型能力的Docker镜像。该镜像旨在简化Transformer模型的部署流程,降低深度学习应用的开发门槛,使开发者能够快速集成先进的自然语言处理能力到各类应用中。
拉取镜像:
bashdocker pull qt/quick-transformers:latest
基础启动命令:
bashdocker run -d -p 8080:8080 --name qt-service qt/quick-transformers:latest
指定模型启动:
bashdocker run -d -p 8080:8080 \ -e MODEL_NAME="bert-base-uncased" \ -e TASK="text_classification" \ --name qt-service qt/quick-transformers:latest
持久化存储配置:
bashdocker run -d -p 8080:8080 \ -v /local/models:/app/models \ -v /local/config:/app/config \ -e MODEL_PATH="/app/models/custom-model" \ --name qt-service qt/quick-transformers:latest
yamlversion: '3.8' services: qt-service: image: qt/quick-transformers:latest container_name: qt-service restart: always ports: - "8080:8080" environment: - MODEL_NAME="bert-base-uncased" - TASK="text_classification" - MAX_SEQ_LENGTH=128 - BATCH_SIZE=32 - LOG_LEVEL="INFO" - ALLOW_CORS=true volumes: - ./models:/app/models - ./config:/app/config - ./logs:/app/logs deploy: resources: limits: cpus: '4' memory: 8G
| 环境变量名 | 描述 | 默认值 | 可选值 |
|---|---|---|---|
| MODEL_NAME | 预训练模型名称 | "bert-base-uncased" | 支持Hugging Face模型库中的模型名称 |
| MODEL_PATH | 本地模型路径 | 空 | 本地模型目录路径 |
| TASK | 任务类型 | "text_classification" | "text_classification", "ner", "question_answering", "text_generation", "sentiment_analysis" |
| MAX_SEQ_LENGTH | 最大序列长度 | 128 | 16-512 |
| BATCH_SIZE | 批处理大小 | 32 | 1-128 |
| PORT | 服务端口 | 8080 | 1-65535 |
| HOST | 服务绑定地址 | "0.0.0.0" | 有效的IP地址 |
| LOG_LEVEL | 日志级别 | "INFO" | "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL" |
| ALLOW_CORS | 是否允许跨域请求 | false | true, false |
| CACHE_SIZE | 缓存大小 | 1000 | 正整数 |
| REQUEST_TIMEOUT | 请求超时时间(秒) | 30 | 正整数 |
| MAX_CONCURRENT_REQUESTS | 最大并发请求数 | 100 | 正整数 |
文本分类请求:
bashcurl -X POST http://localhost:8080/api/classify \ -H "Content-Type: application/json" \ -d '{"text": "This is a sample text for classification"}'
响应示例:
json{ "status": "success", "result": { "label": "positive", "score": 0.923, "processing_time": 0.045 }, "timestamp": "2023-11-15T10:30:45Z" }
将自定义模型文件放置在宿主机目录,通过卷挂载方式加载:
bashdocker run -d -p 8080:8080 \ -v /path/to/custom/model:/app/models/custom-model \ -e MODEL_PATH="/app/models/custom-model" \ -e TASK="text_classification" \ --name qt-service qt/quick-transformers:latest
针对GPU环境的优化配置:
bashdocker run -d -p 8080:8080 \ --gpus all \ -e MODEL_NAME="bert-large-uncased" \ -e TASK="text_classification" \ -e DEVICE="cuda" \ -e FP16_INFERENCE=true \ --name qt-service qt/quick-transformers:latest
Q: 如何更换模型?
A: 可以通过设置MODEL_NAME环境变量指定Hugging Face模型库中的模型名称,或通过MODEL_PATH指定本地模型路径。
Q: 服务启动后如何验证是否正常运行?
A: 可以访问http://localhost:8080/health端点检查服务健康状态。
Q: 如何查看模型推理性能指标?
A: 启用LOG_LEVEL="DEBUG"可以查看详细的性能指标,或访问http://localhost:8080/metrics端点获取Prometheus格式的指标数据。
Q: 服务支持批量请求吗?
A: 支持,API接受包含多个文本的数组作为输入,可通过BATCH_SIZE环境变量调整内部批处理大小。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务