871 Commits

Author SHA1 Message Date
Hudson Luiz Sales Schumaker
97b91f5e6c Update advisors.adoc (#3552)
Auto-cherry-pick to 1.0.x

Signed-off-by: Hudson Luiz Sales Schumaker <hudson.schumaker@me.com>
2025-06-16 16:10:02 +01:00
Sun Yuhan
384478edbf doc: Documentation improvements in MCP Server Boot Starter selection
- Improved the documentation in the `MCP Server Boot Starter` regarding `Starter` selection, 
   and added descriptions of precautions for `spring-ai-starter-mcp-server-webflux`. 

Fixes: #3511

Auto-cherry-pick to 1.0.x

Signed-off-by: Sun Yuhan <sunyuhan1998@users.noreply.github.com>
2025-06-13 15:36:38 -04:00
老虎是条大狼狗
ed4fb29a74 Update zhipuai-chat.adoc (#3531)
* Update zhipuai-chat docs example with "produces = MediaType.TEXT_EVENT_STREAM_VALUE"  ( Content-Type =  "text/event-stream" ) in the "@GetMapping" annotation.

Auto-cherry-pick to 1.0.x

Signed-off-by: 老虎是条大狼狗 <494509580@qq.com>
2025-06-13 10:19:34 -04:00
Jemin Huh
e4788044bb docs: fix incorrect usage of tools and defaultTools (#3533)
Auto-cherry-pick to 1.0.x

Signed-off-by: Jemin Huh <hjm1980@gmail.com>
2025-06-13 10:37:31 +01:00
pavan kumar punna
16a7084faa docs(web): fix links to ChatOptions and ChatOptions#builder() (#3447)
use DefaultChatOptionsBuilder for link to ChatOptions#builder()

Auto-cherry-pick to 1.0.x

Signed-off-by: punnapavankumar9 <punnapavankumar9@gmail.com>
2025-06-13 07:16:37 +01:00
Alexandros Pappas
9398850c2b feat: Add ElevenLabs Text-to-Speech support
This commit introduces a new `spring-ai-elevenlabs` module to integrate ElevenLabs' TTS service into Spring AI.

Key Features:
- **New Module:** `spring-ai-elevenlabs` with a Spring Boot starter for auto-configuration.
- **Core Classes:**
  - `ElevenLabsTextToSpeechModel`: Implements `TextToSpeechModel` and `StreamingTextToSpeechModel`.
  - `ElevenLabsTextToSpeechOptions`: Configurable TTS options (voice, format, speed, etc.).
  - `ElevenLabsApi` and `ElevenLabsVoicesApi`: Low-level REST clients for ElevenLabs APIs.
  - DTOs: `Speech`, `TextToSpeechMessage`, `TextToSpeechPrompt`, `TextToSpeechResponse`.
- **Auto-configuration:**
  - `ElevenLabsAutoConfiguration`, `ElevenLabsConnectionProperties`, and `ElevenLabsSpeechProperties`.
- **Functionality:**
  - Text-to-speech conversion with ElevenLabs voices.
  - Real-time streaming playback support.
  - Flexible runtime configuration via properties and model options.
- **Documentation:** Updated Spring AI reference guide with usage examples.
- **Tests:** Includes unit and integration tests for both success and failure scenarios.

Note:
- Some `tts` package classes will be relocated to the `core` module to support shared TTS abstractions, including upcoming OpenAI Speech API support.

- Added metadata support to `TextToSpeechResponse`.
- Added tests and updated documentation.

Signed-off-by: Alexandros Pappas <apappascs@gmail.com>
2025-06-11 15:26:15 -04:00
Alexandros Pappas
12f19dbfe0 feat(anthropic): Add support for streaming thinking events
Add necessary types and update stream processing to handle Anthropic's 'thinking' content blocks and deltas in streaming responses. This resolves an issue where an IllegalArgumentException was thrown for unhandled thinking event types.
format

Added docs

Signed-off-by: Alexandros Pappas <apappascs@gmail.com>
2025-06-11 13:17:53 -04:00
SiBo Ai
e9646c269e docs: Fix the incorrect code in the openai-chat.adoc document (#3493)
Auto-cherry-pick to 1.0.x

Signed-off-by: aisibo1 <aisibo1@jd.com>
2025-06-10 18:04:56 +01:00
chainHo
694bb50be5 fix:Typo cloud bindings (#3436)
* fix:Typo cloud bindings doc

Auto-cherry-pick to 1.0.x

Signed-off-by: chainHo <chainhou@gmail.com>
2025-06-06 11:34:02 +01:00
jonghoonpark
925def2725 docs: update huggingface doc (#3445)
Auto-cherry-pick to 1.0.x

Signed-off-by: jonghoonpark <dev@jonghoonpark.com>
2025-06-05 14:02:19 +01:00
SexyProgrammer
8af1d3958f fix: correct ToolDefinition.builder() usage in docs (#3431)
Auto-cherry-pick to 1.0.x

Signed-off-by: SexyProgrammer <49146257+SexyProgrammer@users.noreply.github.com>
2025-06-04 09:59:51 +01:00
jonghoonpark
b070c67336 Changes related to the response format have been added to the document. (#3434)
Fixes: #3354

Auto-cherry-pick to 1.0.x

Signed-off-by: jonghoonpark <dev@jonghoonpark.com>
2025-06-03 20:58:40 -04:00
YunKui Lu
ea995dfa51 docs:Revise the documents of deepseek and minimax-chat (#3408)
Fixes: #3408

Auto-cherry-pick to 1.0.x

Signed-off-by: YunKui Lu <luyunkui95@gmail.com>
2025-06-02 19:37:12 -04:00
pavan kumar punna
8e5a1d37d8 docs(bedrock-converse): fix MIME types and standardize formatting in video modalities docs (#3413)
Fixes: 3413

Auto-cherry-pick to 1.0.x

Signed-off-by: punnapavankumar9 <punnapavankumar9@gmail.com>
2025-06-02 18:35:30 -04:00
YunKui Lu
12bd905413 docs: Remove duplicate NoOpTemplateRenderer mention in chatclient.adoc (#3414)
Fixes: #3414

Auto-cherry-pick to 1.0.x

Signed-off-by: YunKui Lu <luyunkui95@gmail.com>
2025-06-02 18:30:35 -04:00
jonghoonpark
9beee1d0f0 add description of embedding-field-name property (#3399)
Fixes: #3399

Auto-cherry-pick to 1.0.x

Signed-off-by: jonghoonpark <dev@jonghoonpark.com>
2025-05-30 17:53:15 -04:00
Alexandros Pappas
71e56fbed0 feat(anthropic): add support for claude-opus-4 and claude-sonnet-4 (#3351)
* feat(anthropic): add support for claude-opus-4-0 and claude-sonnet-4-0 models

- Introduce `CLAUDE_OPUS_4` and `CLAUDE_SONNET_4` to `ChatModel` enum
- Update documentation to include new model options

Signed-off-by: Alexandros Pappas <apappascs@gmail.com>

* add model aliases url to anthropic documentation

Signed-off-by: Alexandros Pappas <apappascs@gmail.com>

---------

Signed-off-by: Alexandros Pappas <apappascs@gmail.com>
2025-05-30 11:32:26 +01:00
Filip Hrisafov
72ed429326 Fix CustomerTools example to use existing methods (#3390)
Signed-off-by: Filip Hrisafov <filip.hrisafov@gmail.com>
2025-05-30 09:21:56 +01:00
Sun Yuhan
a0d187d14d doc: Fix advisor doc for using the right dependencies
-  The documentation content regarding RAG has been updated. If you need to use the RetrievalAugmentationAdvisor, you should depend on spring-ai-rag.

Signed-off-by: Sun Yuhan <1085481446@qq.com>
2025-05-29 13:34:20 +01:00
Andrea Vacondio
925f176e20 Update mistralai-embeddings.adoc (#3362)
Default value for the spring.ai.model.embedding should be "mistral" and not "true"

Signed-off-by: Andrea Vacondio <andrea.vacondio@gmail.com>
2025-05-28 19:25:12 +01:00
Henning Pöttker
277bbecfaa Fix links in documentation to Media.java (#3322)
Signed-off-by: Henning Pöttker <25299532+hpoettker@users.noreply.github.com>
2025-05-27 10:39:07 +01:00
Jemin Huh
7b50bb56bc Fix awesome-spring-ai link to official repository (#3328)
Signed-off-by: Jemin Huh <hjm1980@gmail.com>
2025-05-27 07:46:54 +01:00
Cho-Hyun-Seung
14e55b2277 docs: update custom API key example using OpenAiChatModel.builder() (#3335)
Signed-off-by: Cho-Hyun-Seung <toki0327@naver.com>
2025-05-27 07:43:15 +01:00
Eddú Meléndez Gonzales
39192049ff Fix tools docs (#3292)
Signed-off-by: Eddú Meléndez <eddu.melendez@gmail.com>
2025-05-22 16:36:49 +01:00
Yang Buyi
fa0396fd07 Update mcp-server-boot-starter-docs.adoc (#3279)
Older STDIO transports can't be pulled, this should be a milestone version and should use `spring-ai-starter-mcp-server`.

Signed-off-by: Yang Buyi <52228969+yangbuyiya@users.noreply.github.com>
2025-05-22 11:07:58 +01:00
Jemin Huh
deb30c4e2d Fix incorrect external link formatting in effective-agents.adoc (#3275)
Signed-off-by: Jemin Huh <hjm1980@gmail.com>
2025-05-22 08:01:30 +01:00
Hyunsik Aeom
09dd973150 fix: Add document's title
https://docs.spring.io/spring-ai/reference/api/effective-agents.html
2025-05-22 07:46:36 +01:00
Tran Ngoc Nhan
0880d17182 Fix typos (#3263)
Signed-off-by: Tran Ngoc Nhan <ngocnhan.tran1996@gmail.com>
2025-05-22 07:41:08 +01:00
Christian Tzolov
6f61fee774 feat(tools): Add configurable exception handling for tool execution
Adds a new configuration property `spring.ai.tools.throw-exception-on-error` that controls how tool execution errors are handled:
- When false (default): errors are converted to messages and sent back to the AI model
- When true: errors are thrown as exceptions for the caller to handle

The implementation:
- Adds the property to ToolCallingProperties
- Updates ToolCallingAutoConfiguration to use the property
- Improves error handling in MCP tool callbacks to use ToolExecutionException
- Adds tests to verify both behaviors
- Updates documentation with the new property

Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2025-05-21 22:11:15 +01:00
Ilayaperumal Gopinathan
d93ab77d70 Next development version 2025-05-19 10:42:06 +01:00
Ilayaperumal Gopinathan
fcd2803f36 Release version 1.0.0 2025-05-19 10:40:35 +01:00
Mark Pollack
a5fdfdbfe9 add effective agents section (#3247) 2025-05-19 10:24:49 +01:00
shusheng007
f5243b8fe2 Update openai-embeddings.adoc
change incorrect configuration: `spring.ai.openai.chat.embeddings-path` to the correct: `spring.ai.openai.embedding.embeddings-path`

Signed-off-by: shusheng007 <wangben850113@163.com>
2025-05-19 05:20:12 -04:00
Thomas Vitale
144ae1ec92 Support custom template in RelevancyEvaluator
The RelevancyEvaluator is key for validating RAG flows. This pull request improves it by making the PromptTemplate configurable, improving the format of the default one, introducing a Builder, and extending the documentation with more details on how to use it.

I added some unit tests. The RelevancyEvaluator is used in lots of integration tests in the project to test the QuestionAnswerAdvisor and RetrievalAugmentationAdvisor, that also help assessing the evaluator itself.

Signed-off-by: Thomas Vitale <ThomasVitale@users.noreply.github.com>
2025-05-18 18:20:24 -04:00
Mark Pollack
d436ee85c4 docs: Improve ChatClient implementation notes
* Add context about reactive/imperative applications
* Fix typos and improve formatting
* Highlight Spring Boot 3.4 bug as IMPORTANT note
* Clarify tool calling impact on Micrometer observations
2025-05-18 18:16:26 -04:00
Christian Tzolov
14972f981f docs: minor adivsor docs update
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2025-05-18 19:10:32 +02:00
Christian Tzolov
36c597798d docs: reorganize tool calling documentation and add observability details
- Update Observability section with details about tool calling observability support
- Move "Migrating to ToolCallback API" guide from Tool Calling section to Upgrade Notes
- Update Observability section with details about tool calling observability support

Related to #3230

Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2025-05-18 08:37:57 -04:00
Soby Chacko
b2d5ff0693 GH-3187: Replace Spring environment variables with custom alternatives
Fixes: #3187

This commit addresses the issue with Spring environment variables that directly
mirror Spring AI application properties, which can confuse users into thinking
they should always set environment variables that match Spring property names.

Instead, we've replaced all instances of SPRING_* prefixed environment variables
in the documentation with custom-named alternatives that are referenced using
Spring Expression Language (SpEL) or retrieved programmatically.

Each documentation section now shows multiple configuration approaches:

- Direct property setting in application.properties/yml
- Using custom environment variables with SpEL
- Accessing environment variables programmatically

This gives users more flexibility while making it clear that using SPRING_*
prefixed environment variables is not required or recommended.

Signed-off-by: Soby Chacko <soby.chacko@broadcom.com>
2025-05-17 12:56:02 +01:00
Christian Tzolov
c2a694900c docs: Document the MCP ToolContext support
Resolves #3209

Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2025-05-17 13:53:24 +02:00
Christian Tzolov
9ed7535ba0 feat(mcp): Add request timeout configuration for MCP server
Add support for configuring request timeout in MCP server with a default of 20 seconds.
This timeout applies to all requests made through the client, including tool calls,
resource access, and prompt operations.

- Add requestTimeout property to McpServerProperties with default of 20s
- Configure server builder with the timeout value
- Add tests for default and custom timeout configurations
- Update documentation with the new property

Resolves #3205

Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2025-05-17 12:41:48 +02:00
Soby Chacko
8b8fb4f02d GH-886: feat(opensearch): Add path prefix configuration support
Fixes: #886

Add ability to configure path prefix for OpenSearch API endpoints via properties.
This allows connecting to OpenSearch instances running behind a reverse proxy
with a non-root path, similar to Spring Elasticsearch's path-prefix property.

- Add pathPrefix property to OpenSearchVectorStoreProperties
- Apply pathPrefix to OpenSearchClient when configured
- Add documentation and unit tests

Signed-off-by: Soby Chacko <soby.chacko@broadcom.com>
2025-05-17 09:59:49 +01:00
Christian Tzolov
327cf40e97 feat(mcp): Add granular control over MCP server capabilities
- Add capability configuration to enable/disable tools, resources, prompts, and completions individually
- Refactor server configuration to conditionally register capabilities based on configuration
- Add support for server instructions configuration
- Update documentation with new capability options and completion management
- Add tests for new capabilities and configurations

Resolves #3207

Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2025-05-16 10:08:23 -04:00
Christian Tzolov
b219c21723 docs: reorganize documentation structure
- Restructure navigation with clearer hierarchy using "Reference" and "Guides" sections
- Remove deprecated model-specific function calling documentation
- Update all model references to point to centralized Tool Calling documentation
- Rename "Docker Compose" to "Development-time Services" for clarity
- Move "Testing" under Reference section
- Add link to "Awesome Spring AI" community resources

Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2025-05-15 18:06:37 -04:00
Jast
add7ca8489 fix doc (#3171)
Signed-off-by: Jast <745925668@qq.com>
2025-05-15 13:37:10 +01:00
Ricken BAZOLO
1beff75453 add mistral ai moderation doc (#3161) 2025-05-14 16:50:34 +01:00
Ricken BAZOLO
4d79ff5c56 openai-moderation.doc fix typo (#3162)
Signed-off-by: Ricken Bazolo <ricken.bazolo@gmail.com>
2025-05-14 14:17:05 +01:00
Mark Pollack
1ede66492f update upgrade-notes (#3142) 2025-05-13 19:32:50 +01:00
Ilayaperumal Gopinathan
f2940cffce Next development version 2025-05-13 19:06:16 +01:00
Ilayaperumal Gopinathan
30a9638de8 Release version 1.0.0-RC1 2025-05-13 19:05:52 +01:00
Linar Abzaltdinov
77be609c4a updated docs for new OpenSearch vector-store properties (#3140)
Signed-off-by: Linar Abzaltdinov <abzaltdinov@gmail.com>
2025-05-13 17:37:53 +01:00