类 DashScopeChatFormatter

所有已实现的接口:
Formatter<DashScopeMessage,DashScopeResponse,DashScopeRequest>

public class DashScopeChatFormatter extends AbstractBaseFormatter<DashScopeMessage,DashScopeResponse,DashScopeRequest>
Formatter for DashScope Conversation/Generation APIs. Converts between AgentScope Msg objects and DashScope DTO types.

This formatter handles both text and multimodal messages, supporting the DashScope Generation API and MultiModalConversation API.

  • 构造器详细资料

    • DashScopeChatFormatter

      public DashScopeChatFormatter()
  • 方法详细资料

    • doFormat

      protected List<DashScopeMessage> doFormat(List<Msg> msgs)
      指定者:
      doFormat 在类中 AbstractBaseFormatter<DashScopeMessage,DashScopeResponse,DashScopeRequest>
    • parseResponse

      public ChatResponse parseResponse(DashScopeResponse result, Instant startTime)
      从接口复制的说明: Formatter
      Parse provider-specific response to AgentScope ChatResponse.
      参数:
      result - Provider-specific response object
      startTime - Request start time for calculating duration
      返回:
      AgentScope ChatResponse
    • applyOptions

      public void applyOptions(DashScopeRequest request, GenerateOptions options, GenerateOptions defaultOptions)
      从接口复制的说明: Formatter
      Apply generation options to provider-specific request parameters.
      参数:
      request - Provider-specific request parameters builder
      options - Generation options to apply
      defaultOptions - Default options to use if options parameter is null
    • applyTools

      public void applyTools(DashScopeRequest request, List<ToolSchema> tools)
      从接口复制的说明: Formatter
      Apply tool schemas to provider-specific request parameters.
      参数:
      request - Provider-specific request parameters builder
      tools - List of tool schemas to apply (may be null or empty)
    • applyToolChoice

      public void applyToolChoice(DashScopeRequest request, ToolChoice toolChoice)
      Apply tool choice configuration to DashScopeRequest.
      参数:
      request - DashScope request
      toolChoice - Tool choice configuration
    • formatMultiModal

      public List<DashScopeMessage> formatMultiModal(List<Msg> messages)
      Format AgentScope Msg objects to DashScope MultiModal message format. This method is used for vision models that require the MultiModalConversation API.
      参数:
      messages - The AgentScope messages to convert
      返回:
      List of DashScopeMessage objects with multimodal content
    • buildRequest

      public DashScopeRequest buildRequest(String model, List<DashScopeMessage> messages, boolean stream)
      Build a complete DashScopeRequest for the API call.
      参数:
      model - Model name
      messages - Formatted DashScope messages
      stream - Whether to enable streaming
      返回:
      Complete DashScopeRequest ready for API call
    • buildRequest

      public DashScopeRequest buildRequest(String model, List<DashScopeMessage> messages, boolean stream, GenerateOptions options, GenerateOptions defaultOptions, List<ToolSchema> tools, ToolChoice toolChoice)
      Build a complete DashScopeRequest with full configuration.
      参数:
      model - Model name
      messages - Formatted DashScope messages
      stream - Whether to enable streaming
      options - Generation options
      defaultOptions - Default generation options
      tools - Tool schemas
      toolChoice - Tool choice configuration
      返回:
      Complete DashScopeRequest ready for API call
    • applyCacheControl

      public void applyCacheControl(List<DashScopeMessage> messages)
      Apply cache control to DashScope messages.

      Adds cache_control: {"type": "ephemeral"} to all system messages and the last message in the list. Messages that already have cache_control set (e.g., via manual metadata marking) will not be overwritten.

      参数:
      messages - the list of formatted DashScope messages