docs: record upstream model config fix
This commit is contained in:
+17
@@ -1338,3 +1338,20 @@
|
||||
- `docs/api.md`:补充 `upstream_error` + 「上游模型配置不可用」的判定口径。
|
||||
- `docs/deployment.md`:新增 AI 上游配置故障处理步骤、shell 诊断命令和验收路径。
|
||||
- `docs/current-state.md`:记录线上复现结果,并把真实 AI blocker 从“待验证”改为“已复现模型配置不可用,需修模型运行配置”。
|
||||
|
||||
## 2026-07-06 线上修复:重新导入 AI 模型密钥并跑通标题生成
|
||||
|
||||
- 根因确认:VPS 上 `AI_KEY_ENCRYPTION_KEY` 已配置且长度正常,`title-standard` 别名、`AiModel.url`、`model`、`api_type`、`capabilities` 均存在,但 `model.to_resolved_model()` 抛 `AiKeyEncryptionError: AI api_key cannot be decrypted`。说明数据库里的 `AiModel.api_key_encrypted` 是旧 Fernet key 加密或与当前线上 key 不匹配。
|
||||
- 修复动作:
|
||||
- 本机确认 `D:\chengma\cmhub\ai_models.json` 含 `GPT-5.5 文本`、`GPT Image 2`、`Nano Banana 2` 三个 vectorengine 模型配置,且每项均有 API Key;检查过程不打印 key。
|
||||
- 在 VPS 创建 `/secure/cmhub`,权限 `700`;上传 `ai_models.json` 到 `/secure/cmhub/ai_models.json`,文件权限 `600`,不入 git。
|
||||
- 执行 `python3.12 manage.py import_ai_models /secure/cmhub/ai_models.json`,用当前线上 `AI_KEY_ENCRYPTION_KEY` 重新加密入库;结果 `created=1, updated=2, aliases=0`,未改现有默认别名。
|
||||
- 重新诊断 `title-standard`:`to_resolved_model()` 成功,`resolved_has_api_key=True`,`get_provider()` 成功,provider 为 `ChatCompletionsProvider`。
|
||||
- 重启 `cmhub-web.service` 与 `cmhub-generate.service`,两者均 `active`。
|
||||
- 验证:
|
||||
- `python3.12 manage.py check`:通过,0 issues。
|
||||
- `python3.12 manage.py smoke_ai_generation title`:真实调用成功,`model_used=gpt-5.5`,`elapsed_ms=16865`,`title_count=3`。
|
||||
- 用 `api_key.txt` 第二个 Key 调线上 `/api/v1/balance`:修复前余额 1010。
|
||||
- 调 `POST https://cm.833729.com/api/v1/generate/title`:成功返回 5 个中文标题,`alias=title-standard`,`model_used=gpt-5.5`,`points_cost=1`,`points_balance=1009`,`call_id=1`。
|
||||
- 再查 `/api/v1/balance`:余额 1009,确认真实扣点闭环正常。
|
||||
- 结论:标题生成的「上游模型配置不可用」已修复。后续仍需补测图片生成真实耗时与微信支付回调到账闭环。
|
||||
|
||||
Reference in New Issue
Block a user