Latest commit

History

4,026 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Spring AI build statusMaven Central

The Spring AI project provides a Spring-friendly API and abstractions for developing AI applications.

Its goal is to apply Spring ecosystem design principles, such as portability and modular design, to the AI domain and promote using strongly-typed data structures and APIs as the building blocks of an application.

spring-ai-integration-diagram-3

At its core, Spring AI addresses the fundamental challenge of AI integration: connecting your enterprise Data and APIs with the AI Models.

Getting Started

The reference documentation includes a Getting Started guide.

Spring Boot Version Compatibility:

  • Spring AI 2.x.x (main branch) - Spring Boot 4.x
  • Spring AI 1.1.x (1.1.x branch) - Spring Boot 3.5.x

Project Resources

Contributing

We welcome contributions of all kinds! Please read our contribution guidelines before submitting a pull request or an issue.

Features

This is a high level feature overview.

  • Support for all major AI Model providers such as Anthropic, OpenAI, Amazon Bedrock, Google, Ollama, Mistral AI, DeepSeek, and more. Supported model types include:
  • Portable API support across AI providers for both synchronous and streaming options. Access to model-specific features is also available.
  • Structured Outputs - Mapping of AI Model output to POJOs.
  • Support for all major Vector Store providers such as Amazon Bedrock Knowledge Base, Amazon S3, Apache Cassandra, Azure Vector Search, Chroma, Couchbase, Elasticsearch, GemFire, MariaDB, Milvus, MongoDB Atlas, Neo4j, OpenSearch, Oracle, PostgreSQL/PGVector, Pinecone, Qdrant, Redis, Typesense, and Weaviate.
  • Portable API across Vector Store providers, including a novel SQL-like metadata filter API.
  • Tool Calling - Permits the model to request the execution of client-side tools and functions, thereby accessing necessary real-time information as required.
  • Observability - Provides insights into AI-related operations.
  • Document injection ETL framework for Data Engineering.
  • AI Model Evaluation - Utilities to help evaluate generated content and protect against hallucinated response.
  • ChatClient API - Fluent API for communicating with AI Chat Models, idiomatically similar to the WebClient and RestClient APIs.
  • Advisors API - Encapsulates recurring Generative AI patterns, transforms data sent to and from Language Models (LLMs), and provides portability across various models and use cases.
  • MCP (Model Context Protocol) - First-class support via Boot Starters and MCP Java Annotations for building AI applications that consume MCP servers or expose Spring-based services to the AI ecosystem, with STDIO, SSE, and Streamable-HTTP transport support.
  • Support for Chat Conversation Memory with pluggable persistent backends (JDBC, Cassandra, MongoDB, Neo4j, Redis) and Retrieval Augmented Generation (RAG).
  • Spring Boot Auto Configuration and Starters for all AI Models and Vector Stores - use start.spring.io to select the Model or Vector Store of choice.

Building from source

You don’t need to build from source to use Spring AI. If you want to try out the latest and greatest, Spring AI can be built and published to your local Maven repository:

./mvnw clean install

This command builds all modules, runs unit tests, and publishes artifacts to your local Maven repository.

Please read our contribution guidelines for more details.

About

An Application Framework for AI Engineering

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

4,026 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Spring AI build statusMaven Central

The Spring AI project provides a Spring-friendly API and abstractions for developing AI applications.

Its goal is to apply Spring ecosystem design principles, such as portability and modular design, to the AI domain and promote using strongly-typed data structures and APIs as the building blocks of an application.

spring-ai-integration-diagram-3

At its core, Spring AI addresses the fundamental challenge of AI integration: connecting your enterprise Data and APIs with the AI Models.

Getting Started

The reference documentation includes a Getting Started guide.

Spring Boot Version Compatibility:

  • Spring AI 2.x.x (main branch) - Spring Boot 4.x
  • Spring AI 1.1.x (1.1.x branch) - Spring Boot 3.5.x

Project Resources

Contributing

We welcome contributions of all kinds! Please read our contribution guidelines before submitting a pull request or an issue.

Features

This is a high level feature overview.

  • Support for all major AI Model providers such as Anthropic, OpenAI, Amazon Bedrock, Google, Ollama, Mistral AI, DeepSeek, and more. Supported model types include:
  • Portable API support across AI providers for both synchronous and streaming options. Access to model-specific features is also available.
  • Structured Outputs - Mapping of AI Model output to POJOs.
  • Support for all major Vector Store providers such as Amazon Bedrock Knowledge Base, Amazon S3, Apache Cassandra, Azure Vector Search, Chroma, Couchbase, Elasticsearch, GemFire, MariaDB, Milvus, MongoDB Atlas, Neo4j, OpenSearch, Oracle, PostgreSQL/PGVector, Pinecone, Qdrant, Redis, Typesense, and Weaviate.
  • Portable API across Vector Store providers, including a novel SQL-like metadata filter API.
  • Tool Calling - Permits the model to request the execution of client-side tools and functions, thereby accessing necessary real-time information as required.
  • Observability - Provides insights into AI-related operations.
  • Document injection ETL framework for Data Engineering.
  • AI Model Evaluation - Utilities to help evaluate generated content and protect against hallucinated response.
  • ChatClient API - Fluent API for communicating with AI Chat Models, idiomatically similar to the WebClient and RestClient APIs.
  • Advisors API - Encapsulates recurring Generative AI patterns, transforms data sent to and from Language Models (LLMs), and provides portability across various models and use cases.
  • MCP (Model Context Protocol) - First-class support via Boot Starters and MCP Java Annotations for building AI applications that consume MCP servers or expose Spring-based services to the AI ecosystem, with STDIO, SSE, and Streamable-HTTP transport support.
  • Support for Chat Conversation Memory with pluggable persistent backends (JDBC, Cassandra, MongoDB, Neo4j, Redis) and Retrieval Augmented Generation (RAG).
  • Spring Boot Auto Configuration and Starters for all AI Models and Vector Stores - use start.spring.io to select the Model or Vector Store of choice.

Building from source

You don’t need to build from source to use Spring AI. If you want to try out the latest and greatest, Spring AI can be built and published to your local Maven repository:

./mvnw clean install

This command builds all modules, runs unit tests, and publishes artifacts to your local Maven repository.

Please read our contribution guidelines for more details.

About

An Application Framework for AI Engineering

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

4,026 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Spring AI build statusMaven Central

The Spring AI project provides a Spring-friendly API and abstractions for developing AI applications.

Its goal is to apply Spring ecosystem design principles, such as portability and modular design, to the AI domain and promote using strongly-typed data structures and APIs as the building blocks of an application.

spring-ai-integration-diagram-3

At its core, Spring AI addresses the fundamental challenge of AI integration: connecting your enterprise Data and APIs with the AI Models.

Getting Started

The reference documentation includes a Getting Started guide.

Spring Boot Version Compatibility:

  • Spring AI 2.x.x (main branch) - Spring Boot 4.x
  • Spring AI 1.1.x (1.1.x branch) - Spring Boot 3.5.x

Project Resources

Contributing

We welcome contributions of all kinds! Please read our contribution guidelines before submitting a pull request or an issue.

Features

This is a high level feature overview.

  • Support for all major AI Model providers such as Anthropic, OpenAI, Amazon Bedrock, Google, Ollama, Mistral AI, DeepSeek, and more. Supported model types include:
  • Portable API support across AI providers for both synchronous and streaming options. Access to model-specific features is also available.
  • Structured Outputs - Mapping of AI Model output to POJOs.
  • Support for all major Vector Store providers such as Amazon Bedrock Knowledge Base, Amazon S3, Apache Cassandra, Azure Vector Search, Chroma, Couchbase, Elasticsearch, GemFire, MariaDB, Milvus, MongoDB Atlas, Neo4j, OpenSearch, Oracle, PostgreSQL/PGVector, Pinecone, Qdrant, Redis, Typesense, and Weaviate.
  • Portable API across Vector Store providers, including a novel SQL-like metadata filter API.
  • Tool Calling - Permits the model to request the execution of client-side tools and functions, thereby accessing necessary real-time information as required.
  • Observability - Provides insights into AI-related operations.
  • Document injection ETL framework for Data Engineering.
  • AI Model Evaluation - Utilities to help evaluate generated content and protect against hallucinated response.
  • ChatClient API - Fluent API for communicating with AI Chat Models, idiomatically similar to the WebClient and RestClient APIs.
  • Advisors API - Encapsulates recurring Generative AI patterns, transforms data sent to and from Language Models (LLMs), and provides portability across various models and use cases.
  • MCP (Model Context Protocol) - First-class support via Boot Starters and MCP Java Annotations for building AI applications that consume MCP servers or expose Spring-based services to the AI ecosystem, with STDIO, SSE, and Streamable-HTTP transport support.
  • Support for Chat Conversation Memory with pluggable persistent backends (JDBC, Cassandra, MongoDB, Neo4j, Redis) and Retrieval Augmented Generation (RAG).
  • Spring Boot Auto Configuration and Starters for all AI Models and Vector Stores - use start.spring.io to select the Model or Vector Store of choice.

Building from source

You don’t need to build from source to use Spring AI. If you want to try out the latest and greatest, Spring AI can be built and published to your local Maven repository:

./mvnw clean install

This command builds all modules, runs unit tests, and publishes artifacts to your local Maven repository.

Please read our contribution guidelines for more details.

About

An Application Framework for AI Engineering

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

4,026 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Spring AI build statusMaven Central

The Spring AI project provides a Spring-friendly API and abstractions for developing AI applications.

Its goal is to apply Spring ecosystem design principles, such as portability and modular design, to the AI domain and promote using strongly-typed data structures and APIs as the building blocks of an application.

spring-ai-integration-diagram-3

At its core, Spring AI addresses the fundamental challenge of AI integration: connecting your enterprise Data and APIs with the AI Models.

Getting Started

The reference documentation includes a Getting Started guide.

Spring Boot Version Compatibility:

  • Spring AI 2.x.x (main branch) - Spring Boot 4.x
  • Spring AI 1.1.x (1.1.x branch) - Spring Boot 3.5.x

Project Resources

Contributing

We welcome contributions of all kinds! Please read our contribution guidelines before submitting a pull request or an issue.

Features

This is a high level feature overview.

  • Support for all major AI Model providers such as Anthropic, OpenAI, Amazon Bedrock, Google, Ollama, Mistral AI, DeepSeek, and more. Supported model types include:
  • Portable API support across AI providers for both synchronous and streaming options. Access to model-specific features is also available.
  • Structured Outputs - Mapping of AI Model output to POJOs.
  • Support for all major Vector Store providers such as Amazon Bedrock Knowledge Base, Amazon S3, Apache Cassandra, Azure Vector Search, Chroma, Couchbase, Elasticsearch, GemFire, MariaDB, Milvus, MongoDB Atlas, Neo4j, OpenSearch, Oracle, PostgreSQL/PGVector, Pinecone, Qdrant, Redis, Typesense, and Weaviate.
  • Portable API across Vector Store providers, including a novel SQL-like metadata filter API.
  • Tool Calling - Permits the model to request the execution of client-side tools and functions, thereby accessing necessary real-time information as required.
  • Observability - Provides insights into AI-related operations.
  • Document injection ETL framework for Data Engineering.
  • AI Model Evaluation - Utilities to help evaluate generated content and protect against hallucinated response.
  • ChatClient API - Fluent API for communicating with AI Chat Models, idiomatically similar to the WebClient and RestClient APIs.
  • Advisors API - Encapsulates recurring Generative AI patterns, transforms data sent to and from Language Models (LLMs), and provides portability across various models and use cases.
  • MCP (Model Context Protocol) - First-class support via Boot Starters and MCP Java Annotations for building AI applications that consume MCP servers or expose Spring-based services to the AI ecosystem, with STDIO, SSE, and Streamable-HTTP transport support.
  • Support for Chat Conversation Memory with pluggable persistent backends (JDBC, Cassandra, MongoDB, Neo4j, Redis) and Retrieval Augmented Generation (RAG).
  • Spring Boot Auto Configuration and Starters for all AI Models and Vector Stores - use start.spring.io to select the Model or Vector Store of choice.

Building from source

You don’t need to build from source to use Spring AI. If you want to try out the latest and greatest, Spring AI can be built and published to your local Maven repository:

./mvnw clean install

This command builds all modules, runs unit tests, and publishes artifacts to your local Maven repository.

Please read our contribution guidelines for more details.

About

An Application Framework for AI Engineering

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

4,026 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Spring AI build statusMaven Central

The Spring AI project provides a Spring-friendly API and abstractions for developing AI applications.

Its goal is to apply Spring ecosystem design principles, such as portability and modular design, to the AI domain and promote using strongly-typed data structures and APIs as the building blocks of an application.

spring-ai-integration-diagram-3

At its core, Spring AI addresses the fundamental challenge of AI integration: connecting your enterprise Data and APIs with the AI Models.

Getting Started

The reference documentation includes a Getting Started guide.

Spring Boot Version Compatibility:

  • Spring AI 2.x.x (main branch) - Spring Boot 4.x
  • Spring AI 1.1.x (1.1.x branch) - Spring Boot 3.5.x

Project Resources

Contributing

We welcome contributions of all kinds! Please read our contribution guidelines before submitting a pull request or an issue.

Features

This is a high level feature overview.

  • Support for all major AI Model providers such as Anthropic, OpenAI, Amazon Bedrock, Google, Ollama, Mistral AI, DeepSeek, and more. Supported model types include:
  • Portable API support across AI providers for both synchronous and streaming options. Access to model-specific features is also available.
  • Structured Outputs - Mapping of AI Model output to POJOs.
  • Support for all major Vector Store providers such as Amazon Bedrock Knowledge Base, Amazon S3, Apache Cassandra, Azure Vector Search, Chroma, Couchbase, Elasticsearch, GemFire, MariaDB, Milvus, MongoDB Atlas, Neo4j, OpenSearch, Oracle, PostgreSQL/PGVector, Pinecone, Qdrant, Redis, Typesense, and Weaviate.
  • Portable API across Vector Store providers, including a novel SQL-like metadata filter API.
  • Tool Calling - Permits the model to request the execution of client-side tools and functions, thereby accessing necessary real-time information as required.
  • Observability - Provides insights into AI-related operations.
  • Document injection ETL framework for Data Engineering.
  • AI Model Evaluation - Utilities to help evaluate generated content and protect against hallucinated response.
  • ChatClient API - Fluent API for communicating with AI Chat Models, idiomatically similar to the WebClient and RestClient APIs.
  • Advisors API - Encapsulates recurring Generative AI patterns, transforms data sent to and from Language Models (LLMs), and provides portability across various models and use cases.
  • MCP (Model Context Protocol) - First-class support via Boot Starters and MCP Java Annotations for building AI applications that consume MCP servers or expose Spring-based services to the AI ecosystem, with STDIO, SSE, and Streamable-HTTP transport support.
  • Support for Chat Conversation Memory with pluggable persistent backends (JDBC, Cassandra, MongoDB, Neo4j, Redis) and Retrieval Augmented Generation (RAG).
  • Spring Boot Auto Configuration and Starters for all AI Models and Vector Stores - use start.spring.io to select the Model or Vector Store of choice.

Building from source

You don’t need to build from source to use Spring AI. If you want to try out the latest and greatest, Spring AI can be built and published to your local Maven repository:

./mvnw clean install

This command builds all modules, runs unit tests, and publishes artifacts to your local Maven repository.

Please read our contribution guidelines for more details.

About

An Application Framework for AI Engineering

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

4,026 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Spring AI build statusMaven Central

The Spring AI project provides a Spring-friendly API and abstractions for developing AI applications.

Its goal is to apply Spring ecosystem design principles, such as portability and modular design, to the AI domain and promote using strongly-typed data structures and APIs as the building blocks of an application.

spring-ai-integration-diagram-3

At its core, Spring AI addresses the fundamental challenge of AI integration: connecting your enterprise Data and APIs with the AI Models.

Getting Started

The reference documentation includes a Getting Started guide.

Spring Boot Version Compatibility:

  • Spring AI 2.x.x (main branch) - Spring Boot 4.x
  • Spring AI 1.1.x (1.1.x branch) - Spring Boot 3.5.x

Project Resources

Contributing

We welcome contributions of all kinds! Please read our contribution guidelines before submitting a pull request or an issue.

Features

This is a high level feature overview.

  • Support for all major AI Model providers such as Anthropic, OpenAI, Amazon Bedrock, Google, Ollama, Mistral AI, DeepSeek, and more. Supported model types include:
  • Portable API support across AI providers for both synchronous and streaming options. Access to model-specific features is also available.
  • Structured Outputs - Mapping of AI Model output to POJOs.
  • Support for all major Vector Store providers such as Amazon Bedrock Knowledge Base, Amazon S3, Apache Cassandra, Azure Vector Search, Chroma, Couchbase, Elasticsearch, GemFire, MariaDB, Milvus, MongoDB Atlas, Neo4j, OpenSearch, Oracle, PostgreSQL/PGVector, Pinecone, Qdrant, Redis, Typesense, and Weaviate.
  • Portable API across Vector Store providers, including a novel SQL-like metadata filter API.
  • Tool Calling - Permits the model to request the execution of client-side tools and functions, thereby accessing necessary real-time information as required.
  • Observability - Provides insights into AI-related operations.
  • Document injection ETL framework for Data Engineering.
  • AI Model Evaluation - Utilities to help evaluate generated content and protect against hallucinated response.
  • ChatClient API - Fluent API for communicating with AI Chat Models, idiomatically similar to the WebClient and RestClient APIs.
  • Advisors API - Encapsulates recurring Generative AI patterns, transforms data sent to and from Language Models (LLMs), and provides portability across various models and use cases.
  • MCP (Model Context Protocol) - First-class support via Boot Starters and MCP Java Annotations for building AI applications that consume MCP servers or expose Spring-based services to the AI ecosystem, with STDIO, SSE, and Streamable-HTTP transport support.
  • Support for Chat Conversation Memory with pluggable persistent backends (JDBC, Cassandra, MongoDB, Neo4j, Redis) and Retrieval Augmented Generation (RAG).
  • Spring Boot Auto Configuration and Starters for all AI Models and Vector Stores - use start.spring.io to select the Model or Vector Store of choice.

Building from source

You don’t need to build from source to use Spring AI. If you want to try out the latest and greatest, Spring AI can be built and published to your local Maven repository:

./mvnw clean install

This command builds all modules, runs unit tests, and publishes artifacts to your local Maven repository.

Please read our contribution guidelines for more details.

About

An Application Framework for AI Engineering

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

4,026 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Spring AI build statusMaven Central

The Spring AI project provides a Spring-friendly API and abstractions for developing AI applications.

Its goal is to apply Spring ecosystem design principles, such as portability and modular design, to the AI domain and promote using strongly-typed data structures and APIs as the building blocks of an application.

spring-ai-integration-diagram-3

At its core, Spring AI addresses the fundamental challenge of AI integration: connecting your enterprise Data and APIs with the AI Models.

Getting Started

The reference documentation includes a Getting Started guide.

Spring Boot Version Compatibility:

  • Spring AI 2.x.x (main branch) - Spring Boot 4.x
  • Spring AI 1.1.x (1.1.x branch) - Spring Boot 3.5.x

Project Resources

Contributing

We welcome contributions of all kinds! Please read our contribution guidelines before submitting a pull request or an issue.

Features

This is a high level feature overview.

  • Support for all major AI Model providers such as Anthropic, OpenAI, Amazon Bedrock, Google, Ollama, Mistral AI, DeepSeek, and more. Supported model types include:
  • Portable API support across AI providers for both synchronous and streaming options. Access to model-specific features is also available.
  • Structured Outputs - Mapping of AI Model output to POJOs.
  • Support for all major Vector Store providers such as Amazon Bedrock Knowledge Base, Amazon S3, Apache Cassandra, Azure Vector Search, Chroma, Couchbase, Elasticsearch, GemFire, MariaDB, Milvus, MongoDB Atlas, Neo4j, OpenSearch, Oracle, PostgreSQL/PGVector, Pinecone, Qdrant, Redis, Typesense, and Weaviate.
  • Portable API across Vector Store providers, including a novel SQL-like metadata filter API.
  • Tool Calling - Permits the model to request the execution of client-side tools and functions, thereby accessing necessary real-time information as required.
  • Observability - Provides insights into AI-related operations.
  • Document injection ETL framework for Data Engineering.
  • AI Model Evaluation - Utilities to help evaluate generated content and protect against hallucinated response.
  • ChatClient API - Fluent API for communicating with AI Chat Models, idiomatically similar to the WebClient and RestClient APIs.
  • Advisors API - Encapsulates recurring Generative AI patterns, transforms data sent to and from Language Models (LLMs), and provides portability across various models and use cases.
  • MCP (Model Context Protocol) - First-class support via Boot Starters and MCP Java Annotations for building AI applications that consume MCP servers or expose Spring-based services to the AI ecosystem, with STDIO, SSE, and Streamable-HTTP transport support.
  • Support for Chat Conversation Memory with pluggable persistent backends (JDBC, Cassandra, MongoDB, Neo4j, Redis) and Retrieval Augmented Generation (RAG).
  • Spring Boot Auto Configuration and Starters for all AI Models and Vector Stores - use start.spring.io to select the Model or Vector Store of choice.

Building from source

You don’t need to build from source to use Spring AI. If you want to try out the latest and greatest, Spring AI can be built and published to your local Maven repository:

./mvnw clean install

This command builds all modules, runs unit tests, and publishes artifacts to your local Maven repository.

Please read our contribution guidelines for more details.

About

An Application Framework for AI Engineering

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

4,026 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Spring AI build statusMaven Central

The Spring AI project provides a Spring-friendly API and abstractions for developing AI applications.

Its goal is to apply Spring ecosystem design principles, such as portability and modular design, to the AI domain and promote using strongly-typed data structures and APIs as the building blocks of an application.

spring-ai-integration-diagram-3

At its core, Spring AI addresses the fundamental challenge of AI integration: connecting your enterprise Data and APIs with the AI Models.

Getting Started

The reference documentation includes a Getting Started guide.

Spring Boot Version Compatibility:

  • Spring AI 2.x.x (main branch) - Spring Boot 4.x
  • Spring AI 1.1.x (1.1.x branch) - Spring Boot 3.5.x

Project Resources

Contributing

We welcome contributions of all kinds! Please read our contribution guidelines before submitting a pull request or an issue.

Features

This is a high level feature overview.

  • Support for all major AI Model providers such as Anthropic, OpenAI, Amazon Bedrock, Google, Ollama, Mistral AI, DeepSeek, and more. Supported model types include:
  • Portable API support across AI providers for both synchronous and streaming options. Access to model-specific features is also available.
  • Structured Outputs - Mapping of AI Model output to POJOs.
  • Support for all major Vector Store providers such as Amazon Bedrock Knowledge Base, Amazon S3, Apache Cassandra, Azure Vector Search, Chroma, Couchbase, Elasticsearch, GemFire, MariaDB, Milvus, MongoDB Atlas, Neo4j, OpenSearch, Oracle, PostgreSQL/PGVector, Pinecone, Qdrant, Redis, Typesense, and Weaviate.
  • Portable API across Vector Store providers, including a novel SQL-like metadata filter API.
  • Tool Calling - Permits the model to request the execution of client-side tools and functions, thereby accessing necessary real-time information as required.
  • Observability - Provides insights into AI-related operations.
  • Document injection ETL framework for Data Engineering.
  • AI Model Evaluation - Utilities to help evaluate generated content and protect against hallucinated response.
  • ChatClient API - Fluent API for communicating with AI Chat Models, idiomatically similar to the WebClient and RestClient APIs.
  • Advisors API - Encapsulates recurring Generative AI patterns, transforms data sent to and from Language Models (LLMs), and provides portability across various models and use cases.
  • MCP (Model Context Protocol) - First-class support via Boot Starters and MCP Java Annotations for building AI applications that consume MCP servers or expose Spring-based services to the AI ecosystem, with STDIO, SSE, and Streamable-HTTP transport support.
  • Support for Chat Conversation Memory with pluggable persistent backends (JDBC, Cassandra, MongoDB, Neo4j, Redis) and Retrieval Augmented Generation (RAG).
  • Spring Boot Auto Configuration and Starters for all AI Models and Vector Stores - use start.spring.io to select the Model or Vector Store of choice.

Building from source

You don’t need to build from source to use Spring AI. If you want to try out the latest and greatest, Spring AI can be built and published to your local Maven repository:

./mvnw clean install

This command builds all modules, runs unit tests, and publishes artifacts to your local Maven repository.

Please read our contribution guidelines for more details.

About

An Application Framework for AI Engineering

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages