---
title: UHR-BAT
canonical_url: "https://www.modelscope.cn/studios/KAIWANG/UHR-BAT"
md_url: "https://www.modelscope.cn/studios/KAIWANG/UHR-BAT.md"
repository: KAIWANG/UHR-BAT
chinese_name: "亿级分辨率大模型"
last_updated: 2026-09-15
sdk_type: gradio
sdk_version: 6.17.3
downloads: 0
stars: 0
---

# UHR-BAT

> UHR-BAT - KAIWANG 在 ModelScope 创建的在线 Demo。UHR-BAT · 超高分辨率遥感图像问答

KAIWANG/UHR-BAT 是 ModelScope 魔搭社区上的在线可交互 Demo（创空间），基于 gradio 6.17.3 构建，中文名为「亿级分辨率大模型」。

- **Repository**: KAIWANG/UHR-BAT
- **SDK**: gradio
- **SDK version**: 6.17.3
- **Downloads**: 0
- **Stars**: 0
- **Last updated**: 2026-09-15

Source: https://www.modelscope.cn/studios/KAIWANG/UHR-BAT

---

# UHR-BAT · 超高分辨率遥感图像问答

上传一张遥感图像并使用自然语言提问。每次请求独立处理当前图像和问题，不延续历史对话。

- 原始文件上传，不在前端压缩或重新编码图像。
- 上传后显示图像预览，支持全屏查看；预览缩略图与模型使用的原始文件分开处理。
- 提供中文和 English 两组可点击参考问题。
- 支持 JPG、PNG、WebP、TIFF、BMP 单帧图像；最多 32 MB、1.5 亿像素。
- 回答长度上限为 16–512，默认 256。
- 展示真实模型回答、推理耗时和原图尺寸。

## 部署结构

创空间运行 Gradio 前端和任务中转服务。A6000 工作进程主动通过 HTTPS 领取任务并回传结果；无需开放 A6000 入站端口。

默认模式仅需在创空间 Secret 中设置 `UHR_BACKEND_TOKEN`，并在工作进程环境中使用相同密钥。不要把密钥写入代码或公开变量。`app.py` 为入口，监听 `0.0.0.0:7860`。

`UHR_BACKEND_URL` 是可选的兼容配置：设置后，前端直接调用该地址的 `POST /v1/predict`；未设置则使用任务中转模式。它不是默认部署所必需的。

### 工作进程接口

以下 `/relay/*` 接口必须携带 `X-UHR-Key` 请求头：

- `POST /relay/heartbeat`：`{"ready": true}`。只有最近 60 秒内的就绪心跳才视为在线；建议每 15 秒发送。
- `GET /relay/poll`：最多等待 25 秒，无任务返回 204；有任务返回 `job_id`、`image_base64`、`filename`、`question`、`max_new_tokens`。
- `POST /relay/result`：回传 `job_id`、`answer`、`elapsed_seconds`、`image_size: [width, height]`、`tiles`。失败时可回传 `job_id` 和 `error`；错误在前端统一显示为通用提示。
- `GET /health`：公开返回就绪状态、排队数和运行数，不返回密钥或后台地址。

任务中转队列最多 16 个任务，总等待及处理时间为 600 秒。任务一旦领取，不会再次派发。重复回传同一结果可安全重试；过期任务返回 410。任务仅保存在内存中，创空间重启后需要重新提交。

中转接口先检查鉴权，再读取请求体。心跳请求体最多 1 KB，结果请求体最多 128 KB；同时校验声明长度和实际接收字节。此内存中转实现使用单个应用进程；如需多实例部署，应先替换为共享任务存储。

## 本地检查

```bash
python -m unittest -v test_app.py
python app.py
```

测试覆盖上传限制、原始字节保持、后端错误隐藏、工作进程鉴权、任务轮询与回传、重复结果、任务超时及心跳过期，不需要 GPU。

## 源码

```bash
git clone https://www.modelscope.cn/studios/KAIWANG/UHR-BAT.git
```
