Fetching metadata from the HF Docker repository... 27 days ago
-
模型列表改用账号真实探测;修复流式与思考的可观测性
/v1/models 之前遍历的是 gemini-webapi 已标记废弃的 Model 枚举:成员硬编码、名字没有版本号、也不反映账号实际拥有的档位。改为读 client.list_models() 的账号真实探测结果(带 display_name/description/model_id),响应加 source 字段区分 account / fallback,并过滤掉本次会话不可选用的模型。
map_model_name() 之前把请求模型映射到废弃枚举,账号里没有对应项时库只会静默降级成默认模型,请求就悄悄打到别的模型上。改为 client.resolve_model():按 model_id → model_name → display_name → 别名 → 版本无关匹配解析;真的匹配不上才省略 model 参数,让 Gemini 用它自己的默认模型。
admin.html:快速测试聊天从写死的 stream:false 改为真流式(逐分片渲染),思考过程用可折叠区块单独展示;模型下拉改用 display_name + id;功能开关处提示在 HF Space 上必须设置 Space Variable,容器内 .env 会被重建清掉。
新增 tests/test_models.py(25 项,把真实 GeminiClient 注入 _model_registry 后走真库逻辑)与 tests/test_streaming.py(11 项,真起 uvicorn 用 httpx 测 TTFB 与分片间隔)。全套 114 项断言通过。