Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[Bug] 传递图片时,若未设定图片转述模型,未能fallback #8087

Description

@Dominic485649

What happened / 发生了什么

原来 fallback_chat_models 只有在默认模型请求失败时报错后才会尝试切换。默认模型不支持图片时,系统会把图片降级成 [Image],但不会主动切到备用多模态模型。
正确流程应该为:

  1. 如果配置了“默认图片转述模型”先用转述模型看图,把图片描述变成文本,再交给默认对话模型。
  2. 如果没有配置“默认图片转述模型”,并且当前请求里有图片:
  • 默认模型支持图片:继续用默认模型。
  • 默认模型不支持图片:从回退对话模型列表里找第一个支持图片的模型。
  • 找到后,本次请求直接切到那个视觉模型。
  1. 如果回退列表里也没有支持图片的模型,就记录 warning,然后保持原来的降级行为(把真实图片内容移除,只给模型留下文本占位)。

故应该做到如下修正:

py312\Lib\site-packages\astrbot\core\astr_main_agent.py

改为:

astr_main_agent.py

Reproduce / 如何复现?

  1. 选择纯文本的默认模型+多模态的回退对话模型列表,并且不设置图片转述模型
  2. 传输图片
  3. 不会自动callback:
    如果是只有图片,则会异常终止,bot不会上传任何内容
    如果是图文混排(未测试,不知道具体情况)

AstrBot version, deployment method (e.g., Windows Docker Desktop deployment), provider used, and messaging platform used. / AstrBot 版本、部署方式(如 Windows Docker Desktop 部署)、使用的提供商、使用的消息平台适配器

AstrBot(Windows)
v4.24.2

OS

Windows

Logs / 报错日志

无报错日志,复现结论极其容易,可以自行测试

Are you willing to submit a PR? / 你愿意提交 PR 吗?

  • Yes!

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:coreThe bug / feature is about astrbot's core, backendbugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions