Skip to content

spring-ai 的一个bug:DefaultChatClient.toAdvisedRequest(...) 中将UserMessage中的metadata属性给丢弃掉了 #559

@ck-jesse

Description

@ck-jesse

1、版本:1.0.0-M5.1

2、问题:

  • 通过图片列表方式处理video模态时,未正确处理 DashScopeApi.ChatCompletionMessage.MediaContent
  • 具体代码如下,所有情况都会走到else分支中,导致都会被处理为image模态,对于video模态通过图片列表来处理,不会报错,但当我使用audio模态时,就会有问题了
  • 代码位置:DashScopeChatModel.convertMediaContent(...)

Image

3、分析:

  • 通过debug,发现这是spring-ai的一个bug,spring-ai 在 DefaultChatClient.toAdvisedRequest() 这个方法中,构建AdvisedRequest时,将UserMessage中的metadata属性给丢弃掉了(或者说是将最后一个UserMessage给排除掉了),导致未将 MessageFormat.VIDEO 正确传递下去,以至于DashScopeChatModel.convertMediaContent(...)
    无法识别到 MessageFormat,也就无法处理 image 模态以外的其他模态

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions