À propos du projet

Spring AI est un framework d'application open-source issu de l'écosystème Spring, qui apporte les principes de conception de Spring—portabilité, modularité et APIs fortement typées—au développement d'applications d'intelligence artificielle. Son objectif principal est de relier les données et APIs d'entreprise aux modèles d'IA grâce à une couche d'abstraction cohérente et compatible avec Spring. Le support des fournisseurs de modèles s'étend à Anthropic, OpenAI, Amazon Bedrock, Google, Ollama, Mistral AI, DeepSeek et d'autres, couvrant le chat, les embeddings, la génération d'images à partir de texte, la transcription audio, la synthèse vocale et la modération. Une API portable fonctionne entre les fournisseurs pour les appels synchrones et en streaming, tandis que les options spécifiques au modèle restent accessibles si nécessaire. L'intégration des bases vectorielles est tout aussi large, avec le support de 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 et Weaviate. Une API portable sur ces bases inclut une API de filtrage par métadonnées de type SQL. Les fonctionnalités clés incluent les sorties structurées (Structured Outputs) qui mappent les réponses des modèles aux POJOs, l'appel d'outils (Tool Calling) permettant aux modèles de demander l'exécution de fonctions côté client pour des informations en temps réel, un module d'observabilité pour les insights opérationnels, un framework ETL d'injection de documents pour l'ingénierie des données, et des utilitaires d'évaluation des modèles IA pour évaluer le contenu généré et se protéger contre les hallucinations. L'API ChatClient offre une interface fluide de style WebClient/RestClient pour interagir avec les modèles de chat, tandis que l'API Advisors encapsule les patterns récurrents de l'IA générative et transforme les données circulant vers et depuis les LLMs. Un support de premier ordre du MCP (Model Context Protocol) est disponible via les Boot Starters et les annotations Java, avec des transports STDIO, SSE et Streamable-HTTP, permettant aux applications de consommer des serveurs MCP ou d'exposer les services Spring à l'écosystème IA. La mémoire des conversations de chat est prise en charge avec des backends persistants interchangeables (JDBC, Cassandra, MongoDB, Neo4j, Redis), et la Génération Augmentée par Récupération (RAG) est intégrée nativement. La configuration automatique Spring Boot et les Starters couvrent tous les modèles et bases vectorielles pris en charge, et les projets peuvent être scaffolds via start.spring.io. Le versionnement s'aligne sur Spring Boot : Spring AI 2.x cible Spring Boot 4.x, tandis que Spring AI 1.1.x cible Spring Boot 3.5.x. Le projet fournit une documentation de référence, des Javadoc, des notes de mise à jour, un dépôt d'exemples et une organisation communautaire pour construire des intégrations IA basées sur Spring. La compilation depuis les sources est optionnelle et peut être effectuée avec `./mvnw clean install` pour publier les artefacts dans un référentiel Maven local.