Sobre o projeto

Spring AI é um framework de aplicação de código aberto do ecossistema Spring que traz os princípios de design do Spring—portabilidade, modularidade e APIs fortemente tipadas—para o desenvolvimento de aplicações de IA. Seu propósito central é conectar Dados e APIs empresariais a Modelos de IA por meio de uma camada de abstração consistente e amigável ao Spring. O suporte a provedores de modelos abrange Anthropic, OpenAI, Amazon Bedrock, Google, Ollama, Mistral AI, DeepSeek e outros, cobrindo chat, embeddings, texto-para-imagem, transcrição de áudio, texto-para-fala e moderação. Uma API portátil funciona entre provedores para chamadas síncronas e de streaming, enquanto opções específicas do modelo permanecem acessíveis quando necessário. A integração com armazenamentos vetoriais é igualmente ampla, com suporte para 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 e Weaviate. Uma API portátil entre esses armazenamentos inclui uma API de filtro de metadados semelhante a SQL. Os principais recursos incluem Saídas Estruturadas que mapeiam respostas do modelo para POJOs, Chamada de Ferramentas para que modelos possam solicitar execução de funções no lado do cliente para informações em tempo real, um módulo de Observabilidade para insights de operações de IA, um framework ETL de injeção de documentos para engenharia de dados e utilitários de Avaliação de Modelos de IA para avaliar conteúdo gerado e proteger contra alucinações. A API ChatClient fornece uma interface fluente, no estilo WebClient/RestClient, para conversar com modelos de chat, enquanto a API Advisors encapsula padrões recorrentes de IA generativa e transforma dados que fluem para e de LLMs. O suporte de primeira classe ao MCP (Model Context Protocol) está disponível via Boot Starters e anotações Java, com transportes STDIO, SSE e Streamable-HTTP, permitindo que aplicações consumam servidores MCP ou exponham serviços Spring ao ecossistema de IA. A Memória de Conversação de Chat é suportada com backends persistentes plugáveis (JDBC, Cassandra, MongoDB, Neo4j, Redis), e a Geração Aumentada por Recuperação (RAG) é integrada. A Configuração Automática e os Starters do Spring Boot cobrem todos os modelos e armazenamentos vetoriais suportados, e projetos podem ser gerados via start.spring.io. O versionamento está alinhado ao Spring Boot: Spring AI 2.x tem como alvo o Spring Boot 4.x, enquanto Spring AI 1.1.x tem como alvo o Spring Boot 3.5.x. O projeto inclui documentação de referência, Javadoc, notas de atualização, um repositório de exemplos e uma organização comunitária para construir integrações de IA baseadas em Spring. A compilação a partir do código-fonte é opcional e pode ser feita com `./mvnw clean install` para publicar artefatos em um repositório Maven local.