# spring-projects/spring-ai

An Application Framework for AI Engineering

Repository: https://github.com/spring-projects/spring-ai
Canonical: https://ross.abutalabs.com/products/spring-ai
Homepage: https://spring.io/projects/spring-ai 
Language: Java
License: Apache-2.0
License Family: permissive
Topics: artificial-intelligence, java, spring-ai
Last push: 2026-08-21T05:28:11+00:00

## Health v2 (maintenance only)
Score: 95/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 98, release rhythm 98, longevity 83
- inputs: {"age_days": 1163, "days_push": 12, "days_rel": 12, "gap_med": 11, "n_releases_24m": 20}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 9358, forks 2855 (observed 2026-08-28T04:10:30.819325+00:00)

## What it is
Spring AI is an application framework for AI engineering that provides Spring-friendly, portable abstractions for integrating AI models into Java applications. It offers unified APIs for chat completion, embeddings, text-to-image, vector stores, function calling, and structured output mapping across all major AI providers.

## Use cases
- build a chatbot in Java with Spring Boot
- switch between OpenAI, Anthropic, and Ollama with minimal code changes
- map LLM responses to Java POJOs with structured outputs
- implement RAG with vector databases like PGVector, Milvus, or Pinecone
- add function calling so a model can invoke Java methods
- build an ETL pipeline for document ingestion and embedding
- add observability to AI operations in enterprise apps

## When to choose
- you are building AI features in a Java/Spring Boot application
- you want portable abstractions to avoid vendor lock-in across AI model providers
- you need typed, POJO-based APIs instead of raw HTTP calls to AI services
- you want Spring ecosystem integration for dependency injection, configuration, and observability

## When to avoid
- you are a Python developer who prefers LangChain or LlamaIndex
- you need a lightweight, framework-free client for a single AI provider
- your project does not use the JVM or Spring ecosystem
- you need cutting-edge agent features that only exist in Python AI tooling first

## Facets
- artifact type: framework
- maturity: active
- function: agent-framework, rag, llm-inference, llm-training, machine-learning, etl, sdk, middleware
- domain: artificial-intelligence, large-language-models, machine-learning, backend, developer-tools
- platform: jvm, cross-platform
- tags: spring, java, chat-completion, embeddings, vector-stores, function-calling, structured-outputs, observability, generative-ai, retrieval-augmented-generation, ai-agents, spring-boot

## Member repositories
- spring-projects/spring-ai (main) score 95

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:10:30.819325+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:22:26.141732+00:00, confidence not recorded.
  - readme: https://github.com/spring-projects/spring-ai (fetched 2026-08-28T04:10:30.819325+00:00, sha 6be9e9424708)
  - homepage: https://spring.io/projects/spring-ai  (fetched 2026-08-29T08:22:25.085515+00:00, sha 7ab62caa152d)
  - site_page: https://spring.io/quickstart (fetched 2026-08-29T08:22:25.096887+00:00, sha fc64dd950363)
  - site_page: https://spring.io/projects/spring-restdocs (fetched 2026-08-29T08:22:25.100550+00:00, sha 1e2a101b77d3)
  - site_page: https://docs.spring.io/spring-ai/reference/api/chatmodel.html (fetched 2026-08-29T08:22:25.102303+00:00, sha 8ca24d2bcb6d)
  - site_page: https://docs.spring.io/spring-ai/reference/index.html (fetched 2026-08-29T08:22:25.104895+00:00, sha 0d7ff2946095)
  - site_page: https://docs.spring.io/spring-ai/reference/getting-started.html (fetched 2026-08-29T08:22:25.107800+00:00, sha 05d07c256097)
  - site_page: https://enterprise.spring.io (fetched 2026-08-29T08:22:25.094930+00:00, sha 85ac7d6d5114)
  - site_page: https://enterprise.spring.io/lts-releases (fetched 2026-08-29T08:22:25.098751+00:00, sha 3251cc8760b6)
- Data as of 2026-08-30T08:39:29.467469+00:00.
