spring-ai
spring-ai copied to clipboard
An Application Framework for AI Engineering
**Expected Behavior** VertexAiGeminiChatModel should use retry options similar to e.g. OpenAiChatModel. **Current Behavior** VertexAiGeminiChatModel does not use retry. **Context** Gemini model 1.5 Pro sometimes returns error: ``` java.lang.RuntimeException: Failed to...
OpenAI added a new usage field, ``` "usage": { "prompt_tokens": 13, "completion_tokens": 7, "total_tokens": 20, "completion_tokens_details": { "reasoning_tokens": 0 } }, ``` this should be made available in some way...
Please do a quick search on GitHub issues first, the feature you are about to request might have already been requested. **Expected Behavior** Integration uses cache for many contexts, one...
Google Gemini Pro 1.5 (especially the new experimental version) is one of the top models in the the LLM leaderboard, showcasing its exceptional capabilities and potential. The model performs well...
The deepseek model cost reduces the ai model to a very low level. More and more people are using this open source model. I want to integrate it into spring...
Please do a quick search on GitHub issues first, there might be already a duplicate issue for the one you are about to create. If the bug is trivial, just...
Thank you for taking time to contribute this pull request! You might have already read the [contributor guide][1], but as a reminder, please make sure to: * Sign the [contributor...
The streaming response does not take effect when configuring ChatClient Tools ```java package com.ustc.myy.mcpclientserverdemo.config; import org.springframework.ai.chat.client.ChatClient; import org.springframework.ai.chat.client.advisor.MessageChatMemoryAdvisor; import org.springframework.ai.chat.client.advisor.SimpleLoggerAdvisor; import org.springframework.ai.chat.memory.InMemoryChatMemory; import org.springframework.ai.ollama.OllamaChatModel; import org.springframework.ai.tool.ToolCallbackProvider; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean;...
**Bug description** 英语不好中文描述了哈 我实现了一个通过百度进行天气查询的MCP Server,实现了两个Tool:String getDistrictId(String district)和String getWeatherForecastDistrictId(String districtId),在使用Spring AI的MCP Client进行查询”济南今天的天气“时,报如下错误,从基本的分析情况看时在调用getWeatherForecastDistrictId这个tool时出现的了错误,初步排查时第一次调用getDistrictId返回的response里text已经是String了,然后调用大模型获取下次需要调用的tool时给出的toolInputArguments应该时一个可以反序列化为Map的String,但实际给出的是'{"districtId": "370100"}',因此再次反序列化出现错误 2025-04-19T15:07:06.172+08:00 DEBUG 4904 --- [mcp] [nio-8089-exec-1] o.s.a.m.tool.DefaultToolCallingManager : Executing tool call: spring_ai_mcp_client_server1_getWeatherForecastDistrictId 2025-04-19T15:07:06.193+08:00 DEBUG 4904 --- [mcp] [nio-8089-exec-1]...
The boxed() method is not a method in List, but a method in Java's IntStream class. Thank you for taking time to contribute this pull request! You might have already...