Об этом проекте

Spring AI — это среда приложений с открытым исходным кодом из экосистемы Spring, которая привносит принципы проектирования Spring — переносимость, модульность и строго типизированные API — в разработку приложений ИИ. Её основная цель — соединить корпоративные данные и API с моделями ИИ через единый, дружественный к Spring уровень абстракции. Поддержка провайдеров моделей охватывает Anthropic, OpenAI, Amazon Bedrock, Google, Ollama, Mistral AI, DeepSeek и другие, включая чат, эмбеддинги, преобразование текста в изображение, транскрипцию аудио, преобразование текста в речь и модерацию. Переносимый API работает с провайдерами как для синхронных, так и для потоковых вызовов, при этом специфичные для моделей параметры остаются доступными при необходимости. Интеграция векторных хранилищ столь же широка: поддержка 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 и Weaviate. Переносимый API для этих хранилищ включает SQL-подобный API фильтрации метаданных. Ключевые возможности включают структурированные выходные данные, сопоставляющие ответы моделей с POJO, вызов инструментов, позволяющий моделям запрашивать выполнение клиентских функций для получения информации в реальном времени, модуль наблюдаемости для анализа операций ИИ, ETL-фреймворк для инженерии данных и утилиты оценки моделей ИИ для проверки сгенерированного контента и защиты от галлюцинаций. API ChatClient предоставляет плавный интерфейс в стиле WebClient/RestClient для общения с чат-моделями, а API Advisors инкапсулирует повторяющиеся паттерны генеративного ИИ и преобразует данные, поступающие в LLM и обратно. Поддержка MCP (Model Context Protocol) первого класса доступна через Boot Starters и Java-аннотации с транспортами STDIO, SSE и Streamable-HTTP, что позволяет приложениям использовать MCP-серверы или предоставлять сервисы Spring экосистеме ИИ. Память диалогов поддерживается с подключаемыми постоянными бэкендами (JDBC, Cassandra, MongoDB, Neo4j, Redis), а генерация с дополнением извлечения (RAG) встроена. Автоконфигурация и стартеры Spring Boot охватывают все поддерживаемые модели и векторные хранилища, а проекты можно создавать через start.spring.io. Версии согласованы с Spring Boot: Spring AI 2.x нацелен на Spring Boot 4.x, а Spring AI 1.1.x — на Spring Boot 3.5.x. Проект включает справочную документацию, Javadoc, примечания к обновлению, репозиторий примеров и сообщество для создания интеграций ИИ на основе Spring. Сборка из исходников необязательна и может быть выполнена с помощью `./mvnw clean install` для публикации артефактов в локальный репозиторий Maven.