Vision 多模态支持

wesgine 的 Vision(视觉)能力声明与图片处理机制。


能力声明

Vision 是 Model 的能力,不是 Provider 的能力。

v1.0.1 破坏性变更

已删除的字段:

替代方案:在 Models[].SupportsVision 中声明:

providers:
  - name: azure-gpt4o
    models:
      - id: gpt-4o
        supports_vision: true
        context_window: 128000
      - id: gpt-4o-mini
        supports_vision: true

行为

请求含图片时

Provider Adapter 通过 capsForModel(req.Model) 按请求的实际模型查询 vision 能力:

连通性测试

POST /cells/{id}/providers/test

新增 mode=vision 挑战码 probe,验证模型是否真正支持视觉输入。


图片处理流水线

写入时(INV-PERSIST-01)

三条写入路径统一调用 stripInlineImages():

  1. onRunStart:user 消息中的图片
  2. onTurnEnd:assistant 回复中的图片
  3. onToolResult:工具返回的图片

处理逻辑:

上下文组装时

图片 block 在 Context Assembly 中保持原始格式传递给模型。


与 Provider 的关系

Vision 能力声明随 Provider 配置传入,引擎不含模型知识库(INV-DS-01):