Class MessageConverter
java.lang.Object
com.google.adk.models.springai.MessageConverter
Converts between ADK and Spring AI message formats.
This converter handles the translation between ADK's Content/Part format (based on Google's genai.types) and Spring AI's Message/ChatResponse format. It supports:
- Text content in all message types
- Tool/function calls in assistant messages
- System instructions and configuration options
Note: Media attachments and tool responses are currently not supported due to Spring AI 1.1.0 API limitations (protected/private constructors). These will be added once Spring AI provides public APIs for these features.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetToolRegistry(LlmRequest llmRequest) Gets tool registry from ADK tools for internal tracking.org.springframework.ai.chat.prompt.PrompttoLlmPrompt(LlmRequest llmRequest) Converts an ADK LlmRequest to a Spring AI Prompt.toLlmResponse(org.springframework.ai.chat.model.ChatResponse chatResponse) Converts a Spring AI ChatResponse to an ADK LlmResponse.toLlmResponse(org.springframework.ai.chat.model.ChatResponse chatResponse, boolean isStreaming) Converts a Spring AI ChatResponse to an ADK LlmResponse with streaming context.
-
Constructor Details
-
MessageConverter
public MessageConverter(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
-
-
Method Details
-
toLlmPrompt
Converts an ADK LlmRequest to a Spring AI Prompt.- Parameters:
llmRequest- The ADK request to convert- Returns:
- A Spring AI Prompt
-
getToolRegistry
Gets tool registry from ADK tools for internal tracking.- Parameters:
llmRequest- The ADK request containing tools- Returns:
- Map of tool metadata for tracking available tools
-
toLlmResponse
Converts a Spring AI ChatResponse to an ADK LlmResponse.- Parameters:
chatResponse- The Spring AI response to convert- Returns:
- An ADK LlmResponse
-
toLlmResponse
public LlmResponse toLlmResponse(org.springframework.ai.chat.model.ChatResponse chatResponse, boolean isStreaming) Converts a Spring AI ChatResponse to an ADK LlmResponse with streaming context.- Parameters:
chatResponse- The Spring AI response to convertisStreaming- Whether this is part of a streaming response- Returns:
- An ADK LlmResponse
-