32 lines
1.2 KiB
Markdown
32 lines
1.2 KiB
Markdown
# Detect Client
|
||
|
||
这里放置不依赖 pipeline 的 Detect HTTP SDK 使用示例。SDK 只负责:
|
||
|
||
- `list_models()` 查询 `active_push` 与 `passive_invoke` 能力;
|
||
- `infer(category, image, media_type, parameters, image_roles)` 调用
|
||
`POST /v1/inference`;
|
||
- 严格校验版本化响应,并把连接、HTTP 状态和协议错误分成不同异常。
|
||
|
||
客户端不得传入 `model_id`、权重路径或 pipeline 配置。模型选择和权重生命周期属于
|
||
`server/detect`;客户端只使用服务端公开的稳定业务 `category`。
|
||
|
||
安装 HTTP extra 后运行 [example.py](example.py):
|
||
|
||
```bash
|
||
uv sync --extra http
|
||
CMVR_DETECT_BASE_URL=http://127.0.0.1:8081 \
|
||
uv run --no-sync python client/detect/example.py ./sample.jpg detect.ppe
|
||
```
|
||
|
||
远程服务配置了 `server.http.bearer_token` 时,通过环境变量传入同一 token;TLS 部署应把
|
||
base URL 改为 `https://`:
|
||
|
||
```bash
|
||
CMVR_DETECT_BASE_URL=https://edge.example.com:8081 \
|
||
CMVR_DETECT_BEARER_TOKEN='deployment-secret' \
|
||
uv run --no-sync python client/detect/example.py ./sample.jpg detect.ppe
|
||
```
|
||
|
||
SDK 的生产代码位于 `cmvr_edge_ai.client.detect`。base URL、认证 header 和 timeout
|
||
属于调用应用配置;本目录不复制服务端 category/model/weights 配置。
|