spring-ai
spring-ai copied to clipboard
An Application Framework for AI Engineering
Motivation: Use stream flatmap to make code a little clean.
**Bug description** This is one of my connection addresses: yaml spring: ai: mcp: client: enabled: true name: my-mcp-client version: 1.0.0 request-timeout: 30s type: SYNC sse: enabled: true connections: server: url:...
This commit introduces support for ElevenLabs Text-to-Speech (TTS) service within the Spring AI framework. **Key Changes:** - **New Model Module:** Added `spring-ai-elevenlabs` module for ElevenLabs integration. - **Core Classes:** -...
This PR resolves: https://github.com/spring-projects/spring-ai/issues/2283 by adding reasoning content support to OpenAiChatModel and related classes, following the approach of this https://github.com/spring-projects/spring-ai/commit/45421b1c93bbf19f5d7c5871f5064c9a4df8b067 . Reasoning Content Details ``` reasoning_content : string / nullable...
1.0.0-M7 版本: client 采用sse 方式连接上 mcp server,可以正常运行;这个时候重启 mcp server, client 端就不会重连 mcp server,导致一直报错 reactor.core.Exceptions$ReactiveException: java.util.concurrent.TimeoutException: Did not observe any item or terminal signal within 20000ms in 'source(MonoCreate)' (and no fallback...
- Implement FilterExpressionDsl class for building complex filter expressions - Add support for various filter operations: and, or, eq, ne, gt, gte, lt, lte, in, nin ... - Implement logical...
When I use something like `ReReadingAdvisor`, I will use `{re2_input_query}` for parameter substitution.  However, when `MessageChatMemoryAdvisor` executes `this.getChatMemoryStore().add`, it does not perform replacement and will directly save `{re2_input_query}` to...
## Description The application is failing to process responses from Claude 3.7 Sonnet when using the `thinking` parameter. We're encountering a JSON parsing exception because Spring AI's Anthropic client doesn't...
In the Neo4jVectorStore.java, please enable the builder to update the context property name. Currently: ``` private Document recordToDocument(Record neoRecord) { Node node = neoRecord.get("node").asNode(); float score = neoRecord.get("score").asFloat(); HashMap metaData...
**Expected Behavior** SpringAI could support both DeepSeek and OpenAI configurations at the same time in one application. **Current Behavior** I failed to find a way to support both models at...