Consolidate the Ollama auto-pull logic at startup time, supporting the auto-pull for the default models specified via configuration properties and for optional models specified for initialization.
Signed-off-by: Thomas Vitale <ThomasVitale@users.noreply.github.com>
- Upgrade Antora Maven plugin to 1.0.0-alpha.4 (replace
Replace the io.spring.maven.antora:antora-maven-plugin:0.0.4)
- Update playbook configuration for Antora 3.2.0-alpha.6
- Refine documentation layout and styling
- Enhance observability documentation with formatted tables
- Adjust Spring AI logo size and update integration diagram
* Fix configuration inheritance issue when default value is not specified.
* Make it possible to enable the auto-pull feature only for specific model types (e.g. for chat models only).
* Add the possibility to list explicit models to auto-pull at startup time.
Update Ollama model defaults and add new embedding model
* Change default chat model to Mistral
* Change default embedding model to mxbai-embed-large
* Add MXBAI_EMBED_LARGE to OllamaModel enum
* Remove DEFAULT_MODEL constant from OllamaOptions
* Update relevant classes to use new defaults
Signed-off-by: Thomas Vitale <ThomasVitale@users.noreply.github.com>
Co-authored-by:Christian Tzolov <ctzolov@vmware.com>
* Introduce support for Ollama model auto-pull at startup time
* Enhance support for Ollama model auto-pull at run time
* Update documentation about integrating with Ollama and managing models
* Adopt Builder pattern in Ollama Model classes for better code readability
* Unify Ollama model auto-pull functionality in production and test code
* Improve integration tests for Ollama with Testcontainers
- Enhance OllamaModelPuller with configurable retry timeout
- Update test cases to use LLAMA3_1 instead of LLAMA3_2
- Improve Ollama documentation with clearer prerequisites and model pulling instructions
- Update Spring AI introduction page with new logo and diagram
- Remove unnecessary main method from OllamaModelPuller
- correct response key from "generation" to "completion" in example code
The example response in the documentation incorrectly uses "generation" as the response key. This commit updates it to "completion" to accurately reflect the API's actual response format.
- Add detailed explanation of function calling mechanism
- Examples use only the portable, ChatClient API
- Include quick start guide with code examples
- Describe multiple ways to register custom functions as beans
- Explain how to enable functions by bean name
- Add section on registering functions dynamically
- Introduce new Tool Context feature for passing additional data
- Improve overall structure and readability of the document
- Only the catalog is updated. No existing links are changed
- Move 'AI Concepts' under 'Overview'
- Reorganize API sections for better hierarchy
- Move 'Vector Databases' into its own top-level section
- Reposition 'Function Calling', 'Multimodality', 'Testing', and 'Structured Output' as top-level items
- Remove redundant nesting in some sections
- Comment out 'Generic Model' section
- Rename AI Model API into AI Models
- Get rid of the API suffix
- Improve Multimodality doc
- Update feature listing
- Introduce builder pattern for MessageChatMemoryAdvisor, PromptChatMemoryAdvisor,
QuestionAnswerAdvisor, SafeGuardAdvisor, and VectorStoreChatMemoryAdvisor.
- Add 'order' parameter to control advisor execution priority
- Modify constructors to include the new 'order' parameter
- Update AbstractChatMemoryAdvisor to support the new 'order' parameter
- Update docs
- Replaced `Map<String, Object>` with `ToolContext` in the `FunctionCallback`, `AbstractFunctionCallback`, and related classes.
- Updated all BiFunction definitions to use `ToolContext` as the second parameter,
enhancing the clarity and structure of the tool context management.
- Modified `FunctionCallbackWrapper` and `FunctionCallbackContext` to adapt to the new `ToolContext` parameter.
- Adjusted the handling of tool context in the documentation and test classes.
- Updated relevant test cases to reflect the API changes and modified the function handling logic to ensure consistency.
This enhancement allows users to specify a JSON Pointer to extract
specific parts of a JSON document when reading. Key changes include:
- New get(String pointer) method in JsonReader class
- Updated JsonReaderTests with pointer-based extraction tests
- Added documentation for JSON Pointer usage in etl-pipeline.adoc
This feature enables more flexible parsing of complex JSON structures,
allowing users to easily target nested data for extraction.
* Update attributes
* Add more information on optional attributes and risks
* Include documentation for events.
Signed-off-by: Thomas Vitale <ThomasVitale@users.noreply.github.com>