- Spring AI предоставляет Spring Boot переносимые, структурированные и наблюдаемые возможности искусственного интеллекта, абстрагируя основные поставщики LLM и векторной графики за согласованным Java API.
- Книга "Spring AI in Action" знакомит разработчиков Spring с различными аспектами разработки, начиная с простых подсказок и заканчивая продвинутыми функциями RAG, агентами, инструментами, речью и мониторингом, используя практические, основанные на примерах шаблоны.
- Функции, ориентированные на корпоративный сегмент, такие как советники, диалоговая память, оценка моделей и интеграция с Tanzu Gen AI, позволяют создавать надежные системы искусственного интеллекта производственного уровня на базе JVM.

Книга Spring AI in Action быстро становится основным справочным пособием для Java-разработчиков и разработчиков Spring Boot, которые хотят внедрить современный генеративный ИИ в свои повседневные проекты, не отказываясь от стека JVM. Вместо того чтобы навязывать вам экосистему Python или малоизвестные инструменты, книга и фреймворк работают рука об руку, позволяя вам продолжать программировать на Java или Kotlin, одновременно интегрируя мощные модели обработки больших языков (LLM), генерацию с расширенным поиском (RAG), агентов, инструменты и мультимодальные функции.
Привлекательность этой экосистемы заключается в сочетании готовой к внедрению в производство платформы (Spring AI) и прагматичного, основанного на примерах руководства (Spring AI in Action от Крейга Уоллса). Вместе они показывают, как интегрировать модели ИИ, векторные базы данных, диалоговую память и инструменты оценки в привычные приложения Spring Boot, используя простые POJO-объекты, автоматическую конфигурацию и чистый, переносимый API, скрывающий множество сложностей, специфичных для конкретного поставщика.
Что такое Spring AI и почему он важен для Java-разработчиков?
Spring AI — это фреймворк для разработки приложений, призванный перенести классические принципы Spring — переносимость, модульную архитектуру и POJO-ориентированный дизайн — в мир разработки искусственного интеллекта. В основе Spring AI лежит решение самой сложной практической задачи в области корпоративного ИИ: объединение ресурсов вашей организации. данным и API с современным AI модели таким образом, чтобы это было поддерживаемо, наблюдаемо и легко развивалось с течением времени.
Вместо того чтобы привязывать вас к одному поставщику LLM-решений, Spring AI абстрагирует вас от большинства крупных поставщиков. По умолчанию вы можете взаимодействовать с моделями OpenAI. Azure OpenAIAnthropic, Amazon Bedrock, Google, MistralAI и даже локальные модели, обслуживаемые через Ollama. Одна и та же модель программирования поддерживает как синхронные, так и потоковые ответы, и вы по-прежнему сохраняете доступ к возможностям, специфичным для конкретного поставщика, когда они вам действительно необходимы.
Ещё одним ключевым преимуществом Spring AI является мощная поддержка структурированного вывода. Вместо того чтобы вручную анализировать необработанный текст, вы можете напрямую сопоставлять ответы модели с классами и записями Java, превращая сложный естественный язык в понятные POJO-объекты. Это крайне важно при создании агентов, инструментов или рабочих процессов, которые должны обрабатывать предсказуемые данные, а не неструктурированный текст.
Spring AI также глубоко интегрируется с векторными базами данных, что позволяет реализовать расширенную генерацию данных для поиска информации, не изобретая велосипед заново. Он поддерживает такие провайдеры, как Apache Cassandra, Azure Vector Search, Chroma, Milvus, MongoDB Atlas, Neo4j. Интеграция с OraclePostgreSQL с PGVector, Pinecone, Qdrant, Redis и Weaviate. Портативный API хранилища векторных данных и язык фильтрации метаданных, похожий на SQL, позволяют изменять бэкэнды векторных данных с минимальными изменениями кода.
Вдобавок ко всему, Spring AI включает в себя инструменты для мониторинга, конвейеры обработки документов, оценку моделей и шаблоны генеративного ИИ. Вы получаете беглое владение языком. ChatClient похож на WebClient/RestClient, Советники по распространенным шаблонам ИИ, таким как RAG и диалоговая память, автоматическая настройка с помощью стартеров Spring Boot, а также утилиты для мониторинга использования токенов и обнаружения галлюцинаций.
Внутри проекта «Spring AI в действии»: от «Привет, мир ИИ» до полноценных агентов.
«Spring AI в действии» Крейга Уоллса — это практическое руководство, демонстрирующее, как использовать все возможности Spring AI в реальных приложениях. Книга адресована разработчикам, использующим Spring, и предполагает, что вы уже знакомы со Spring Boot, но предварительный опыт в области генеративного ИИ не требуется; вам не нужно быть специалистом по анализу данных или «экспертом по ИИ», чтобы её понять.
Путешествие, описанное в книге, начинается с простого примера «Привет, мир ИИ!» и постепенно знакомит с более сложными методами по мере того, как вы осваиваетесь. Вы начинаете с реализации базового вызова LLM внутри приложения Spring Boot, затем переходите к генерации текстовых резюме, созданию помощников, которые будут работать в рамках существующих веб- или бэкэнд-сервисов, и формированию запросов таким образом, чтобы ответы были более полезными и предсказуемыми.
По мере продвижения по программе, контент углубляется в темы RAG, векторных хранилищ и мультимодальных сценариев, где модели работают как с текстом, так и с изображениями. Вы научитесь задавать вопросы о конфиденциальных документах, на которых модель никогда не обучалась, преобразовывать изображения в текст и наоборот, а также обосновывать ответы LLM на основе собственных данных, чтобы они перестали быть неверными при решении вопросов, специфичных для данной области.
Вторая половина книги поднимает планку, исследуя агентов, использование инструментов, речь и наблюдаемость. Здесь вы узнаете, как создавать агентов искусственного интеллекта, способных принимать решения о том, когда вызывать инструменты или API, как направлять задачи к специализированным подсказкам, как отслеживать происходящее с помощью метрик и трассировок, а также как обеспечить безопасность вашей системы с помощью оценки и защиты генерируемого контента.
На протяжении всей книги Крейг Уоллс сохраняет свой фирменный стиль, основанный на примерах, всегда сосредотачиваясь на «достижении результатов», а не на том, чтобы заваливать читателя теорией. Главы полны практических примеров и реалистичных сценариев: чат-боты, которые действительно знают ваши данные, помощники, встроенные в бизнес-процессы, и агенты, которые разбивают сложные задачи на более мелкие, управляемые части.
Основные темы и структура книги
Содержание книги «Spring AI in Action» дает четкое представление о масштабе того, что вы будете создавать. От базовых элементов до сложных шаблонов, каждая глава посвящена конкретной области интеграции ИИ со Spring:
- Начало работы со Spring AI: инициализация проекта, настройка поставщиков услуг, отправка первых запросов.
- Оценка полученных ответов: измерение качества, выявление проблем и защита от низкокачественного или галлюцинаторного контента.
- Отправка запросов на генерациюРазработка подсказок, использование шаблонов и управление поведением модели.
- Общение с вашими документамиВнедрение RAG позволит магистрам права отвечать на вопросы, касающиеся необученных, конфиденциальных данных.
- Обеспечение возможности запоминания разговорной речи: поддержание контекста чата в многоходовом режиме с использованием советников по памяти Spring AI.
- Активация генерации на основе инструментов: позволяет моделям вызывать функции и инструменты на стороне клиента, когда им требуются новые или внешние данные.
- Применение протокола контекста модели (MCP): управление более широким контекстом и взаимодействием с инструментами и источниками данных.
- Генерация с использованием голоса и изображений: использование мультимодальных возможностей для речи и изображений.
- Наблюдение за операциями ИИ: добавление возможностей наблюдения и мониторинга в ваши конвейеры обработки данных с использованием ИИ.
- Защита генеративного ИИ: применение ограничительных мер, контентных фильтров и других механизмов защиты.
- Применение генеративных моделей искусственного интеллекта: выявление многократно используемых шаблонов для рабочих процессов ИИ.
- Наёмные агенты: создание агентных систем, способных планировать, направлять и совершенствовать работу.
Отзывы авторитетных экспертов из сообществ Spring и Java подчеркивают доступность и практичность представленного материала. Авторы предисловий и рецензенты высоко оценивают книгу за ясные объяснения, многочисленные демонстрации и кладезь информации о новых технологиях, подчеркивая, что она по-прежнему основана на реальных разработках, а не на академических абстракциях.
При покупке печатного издания от издательства Manning вы также получаете бесплатную электронную книгу (в формате PDF или ePub), а также доступ к онлайн-версии книги в режиме реального времени. Сама платформа liveBook включает в себя ИИ-помощника, способного отвечать на ваши вопросы на нескольких языках, поэтому вы можете изучать примеры, искать информацию в тексте и уточнять темы во время чтения.
Основные функции Spring AI для корпоративных приложений искусственного интеллекта
Помимо содержания книги, фреймворк Spring AI предоставляет всеобъемлющий набор функций, разработанных специально для приложений искусственного интеллекта производственного уровня. Речь идёт не просто о получении степени магистра права (LLM); речь идёт о создании комплексных систем, которые являются безопасными, наблюдаемыми, тестируемыми и переносимыми между различными поставщиками и средами.
Аналогичная гибкость распространяется и на векторные хранилища. Благодаря поддержке Apache Cassandra, Azure Vector Search, Chroma, Milvus, MongoDB Atlas, Neo4j, Oracle, PostgreSQL/PGVector, Pinecone, Qdrant, Redis, Weaviate и других платформ, вы можете реализовать RAG-поиск и семантический поиск, не привязывая ваше приложение к одному конкретному решению для хранения данных. Портативный API и выразительные фильтры метаданных упрощают выполнение сложных запросов на поиск сходства.
В Spring AI инструменты и вызов функций являются первостепенными элементами. Модели могут запрашивать выполнение клиентских инструментов и функций для получения данных в реальном времени или запуска действий. Это превращает вашу модель LLM из пассивного генератора текста в активный компонент, который может запрашивать API, обращаться к базам данных или управлять сервисами посредством вызовов типизированных функций.
Встроенная в фреймворк функция мониторинга позволяет видеть, что делает ваш ИИ «под капотом». Вы можете собирать метрики об использовании токенов, задержке и частоте ошибок, отслеживать вызовы в вашей системе и сопоставлять активность LLM с остальными вашими микросервисами. Это критически важно, когда ИИ переходит от экспериментов к критически важным для бизнеса задачам.
Spring AI также включает в себя фреймворк для загрузки документов в стиле ETL, предназначенный для задач обработки данных. Это помогает загружать, разбивать на фрагменты и индексировать документы в векторные хранилища, благодаря чему ваши конвейеры RAG становятся надежными и воспроизводимыми, а не представляют собой набор произвольных скриптов.
Чат-клиент, консультанты и возможности ведения диалога.
На уровне программирования большинство взаимодействий Spring AI вращаются вокруг ChatClient API — это гибкий интерфейс, созданный по образцу известных шаблонов Spring WebClient и RestClient. Вы формируете и отправляете запросы, получаете ответы, передаете токены по мере их поступления и обрабатываете ошибки способом, который сразу же кажется естественным для разработчиков Spring.
Советники — это еще одна ключевая абстракция, которая воплощает в себе распространенные модели генеративного искусственного интеллекта. Они преобразуют данные, поступающие в LLM и из них, добавляют такие функции, как RAG или память, и обеспечивают переносимость между моделями и сценариями использования. Вместо того чтобы вручную настраивать каждый запрос или контекст, вы подключаете советников, чтобы получить надежное поведение с минимальным количеством шаблонного кода.
Память на диалоги обрабатывается с помощью специализированных советников по запоминанию чатов, которые управляют многоходовыми диалогами. Поскольку сами LLM-ы не имеют состояния и «забывают» прошлые реплики, эти советники отслеживают историю разговора и возвращают нужные фрагменты контекста в каждый запрос. Вы можете выбирать между различными стратегиями и даже реализовать постоянную долговременную память с помощью векторных подходов.
Сочетание памяти чата и RAG Advisors позволяет создавать помощников, которые могут «общаться» с вашими документами на протяжении нескольких ходов. Пользователь может задавать уточняющие вопросы, уточнять свои вопросы и ссылаться на предыдущие части разговора, а Spring AI автоматически извлекает и внедряет наиболее релевантные фрагменты документа при каждом запросе.
Шаблоны подсказок упрощают вынесение подсказок во внешний формат и их повторное использование. Вы определяете универсальные шаблоны, которые принимают параметры, включают дополнительные инструкции и указывают желаемый формат вывода (например, JSON, который напрямую сопоставляется с объектами Java). Перед отправкой запроса Spring AI заполняет пробелы, применяет контекст и гарантирует, что инструкции понятны модели.
RAG, снижение галлюцинаций и помощники, учитывающие особенности документов.
Метод дополненной генерации поиска (Retrieval Augmented Generation, RAG) — один из важнейших шаблонов, рассматриваемых как в рамках данного подхода, так и в книге. Это решает критическую проблему статических моделей LLM: они знают только то, на чём обучались, а это значит, что по умолчанию они не могут видеть вашу внутреннюю документацию, данные о клиентах или конфиденциальную информацию.
В методе RAG ваше приложение сначала получает небольшой набор документов, семантически похожих на вопрос пользователя, а затем передает их в модель в качестве контекста. Spring AI значительно упрощает эту работу, интегрируясь с десятками хранилищ векторной графики и предоставляя API для запросов по сходству, фильтрации по метаданным и настройки способа разбивки и встраивания контента.
Правильно примененная методика RAG значительно снижает галлюцинации. Вместо того чтобы гадать, когда модели не хватает информации или она переобучена на общих интернет-данных, она ориентируется на высококачественные, специфичные для предметной области фрагменты. В книге подробно рассматриваются примеры использования «чата с документацией» и «вопросов и ответов по документации», демонстрирующие этот подход от начала до конца.
Через QuestionAnswerAdvisor и ChatClientВы можете либо явно управлять всем процессом RAG, либо позволить советнику организовать встраивание, извлечение и внедрение контекста за вас. Это обеспечивает гибкость: начните с простого подхода, чтобы быстро продвинуться вперед, а затем перейдите на более низкий уровень, когда потребуется индивидуальное поведение или глубокая оптимизация.
Поскольку Spring AI поддерживает потоковую передачу ответов, эти ответы, учитывающие особенности документа, могут передаваться обратно в пользовательский интерфейс по мере их генерации. Это имитирует ввод текста человеком в реальном времени и обеспечивает лучший пользовательский опыт, особенно когда ответы длинные или задержка модели высока.
Агентные модели, вдохновленные антропологическими исследованиями.
Spring AI также реализует набор агентных шаблонов, вдохновленных исследованиями Anthropic по созданию эффективных агентов LLM. Основной упор делается на простоту и возможность компоновки, а не на громоздкие и непрозрачные агентские фреймворки, что хорошо согласуется с требованиями предприятий к поддерживаемым и тестируемым системам.
Первый подход, «Цепочный рабочий процесс», разбивает большие задачи на ряд более мелких, упорядоченных шагов. Каждый шаг использует свой собственный запрос, обрабатывает выходные данные предыдущего шага и выдает уточненные промежуточные результаты. В Spring AI это выглядит как итерация по системным запросам и вызов ChatClient многократно передавая предыдущий ответ в качестве части следующего входного сигнала, создавая понятный и расширяемый конвейер обработки данных.
Рабочий процесс параллелизации заключается в одновременном выполнении нескольких вызовов LLM и агрегировании их результатов. Его можно использовать для «секционирования» (разделения работы на независимые части) или «голосования» (когда несколько запусков модели решают одну и ту же задачу, а затем результаты объединяются). Например, вы можете попросить модель параллельно проанализировать влияние рыночных изменений на клиентов, сотрудников, инвесторов и поставщиков, а затем объединить полученные данные.
Встроенная система маршрутизации обеспечивает интеллектуальную диспетчеризацию. Сначала LLM классифицирует входные данные и определяет, какой специализированный запрос или обработчик должен их обработать: вопросы по выставлению счетов направляются в один экспертный запрос, технические вопросы — в другой, общие запросы — в вспомогательный инструмент общего назначения. Рабочий процесс маршрутизации Spring AI объединяет эту логику посредством ChatClient и карту маршрутов.
Модель «Оркестратор-Работник» — это более продвинутая модель, которая по-прежнему позволяет избежать неконтролируемой автономии. Централизованная модель «оркестратора» разбивает сложную задачу на подзадачи, после чего специализированные работники выполняют эти подзадачи, часто параллельно. После завершения работы работники объединяют результаты в конечный итог. Spring AI предоставляет строительные блоки для реализации этой модели, сохраняя при этом четкое и предсказуемое распределение обязанностей.
Наконец, в модели «Оценщик-Оптимизатор» используются две взаимодействующие модели. Одна модель выступает в роли генератора, предлагающего решения, а вторая — в роли критика или рецензента, проверяя решение по четким критериям и предлагая улучшения. Этот цикл продолжается до тех пор, пока оценщик не будет удовлетворен, выдавая уточненный ответ и отслеживая эволюцию решения.
Передовые методы, надежность и будущее развитие
В Spring AI реализованы шаблоны и функции, сопровождаемые четкими рекомендациями по передовым методам, которые вытекают как из исследований Anthropic, так и из опыта производственной эксплуатации экосистемы Spring. Обычно советуют начинать с самого простого рабочего процесса, который только может сработать, а усложнять его следует только тогда, когда это действительно приносит пользу.
Надежность должна быть первостепенной задачей в любой системе, использующей LLM. Это означает использование типобезопасного структурированного вывода везде, где это возможно, проверку ответов, добавление надежной обработки ошибок и повторных попыток, а также оснащение ваших конвейеров метриками и логами. Когда что-то идет не так, вы должны иметь возможность понять причину и быстро это исправить.
Разработчикам рекомендуется тщательно взвешивать компромисс между задержкой и точностью. Последовательное выполнение нескольких шагов или добавление циклов оценки может значительно улучшить качество, но также увеличит время отклика и потребление токенов. Параллелизация может помочь восстановить скорость, но только в том случае, если задачи действительно независимы друг от друга.
Дальнейшая работа в экосистеме Spring AI будет направлена на расширение возможностей в области составления шаблонов, передовых стратегий работы с памятью и интеграции инструментов. Комбинирование нескольких шаблонов — таких как цепочки, маршрутизация и циклы оценки — позволяет создавать сложные агенты, которые при этом остаются понятными. Расширенное управление памятью включает в себя постоянный контекст, эффективные контекстные окна и долговременное сохранение знаний.
Интеграция инструментов и протокола контекста модели (MCP) — еще одна активно развивающаяся область. Стандартизированные интерфейсы для внешних инструментов и более расширенный протокол для контекста модели означают, что агенты могут безопасно и гибко взаимодействовать с вашими сервисами, API и источниками данных, и все это в рамках вашей системы управления и мониторинга.
Внедрение искусственного интеллекта в более широкую платформу: решения Tanzu Gen AI.
Для организаций, использующих стек VMware Tanzu, Spring AI также лежит в основе решений Tanzu Gen AI. Tanzu AI Server, работающий на базе Spring AI, предлагает готовую к использованию среду для развертывания приложений искусственного интеллекта на платформе Tanzu с обеспечением безопасности, управления и масштабируемости корпоративного уровня.
Эта интеграция упрощает доступ к таким моделям, как Amazon Bedrock Nova, через единый интерфейс. Вместо того чтобы каждая команда самостоятельно настраивала соединения с моделями, платформа стандартизирует доступ, политики безопасности и операционные инструменты. Spring AI обеспечивает переносимость моделей, а Tanzu предоставляет надежную инфраструктуру, автомасштабирование и мониторинг, которые вы ожидаете от современной платформы Kubernetes.
Поскольку Spring AI отвечает за абстракцию на уровне приложения, команды могут переходить между поставщиками или внедрять новые модели, не переписывая свою бизнес-логику. Такая адаптивность имеет решающее значение в быстро меняющемся мире искусственного интеллекта, где новые модели появляются часто, а цены или возможности могут быстро меняться.
Функции безопасности и управления в решениях Tanzu Gen AI Solutions обеспечивают этим приложениям искусственного интеллекта те же корпоративные средства контроля, которые используются для других микросервисов. Политики, контроль доступа, журналы аудита и инструменты обеспечения соответствия требованиям естественным образом интегрируются в рабочие процессы LLM, что делает более целесообразным выполнение задач, связанных с конфиденциальной или регулируемой информацией.
Все эти уровни — фреймворк, книга, шаблоны и платформа — сходятся к одной цели: дать разработчикам Spring возможность добавлять высокоэффективные функции искусственного интеллекта, такие как виртуальные помощники, интеллектуальный поиск, суммаризация текста и рекомендации, непосредственно в Java-приложения без ущерба для надежности или управляемости. С помощью Spring AI in Action в качестве практического руководства и Spring AI в качестве инженерной основы вы сможете перейти от экспериментов к надежным сервисам на основе ИИ, оставаясь при этом в рамках хорошо знакомой вам экосистемы Spring.