Введение в генеративный ИИ - версия для Java
July 2, 2026 · View on GitHub
Чему вы научитесь
- Основы генеративного ИИ, включая LLM, разработку подсказок, токены, эмбеддинги и векторные базы данных
- Сравнение инструментов для разработки ИИ на Java, включая Azure OpenAI SDK, Spring AI и OpenAI Java SDK
- Изучение протокола Model Context Protocol и его роли в коммуникации ИИ-агентов
Содержание
- Введение
- Краткое обновление знаний по концепциям генеративного ИИ
- Обзор разработки подсказок
- Токены, эмбеддинги и агенты
- Инструменты и библиотеки для разработки ИИ на Java
- Итоги
- Следующие шаги
Введение
Добро пожаловать в первую главу «Генеративный ИИ для начинающих – Java Edition»! Этот базовый урок познакомит вас с основными концепциями генеративного ИИ и способами работать с ними с использованием Java. Вы узнаете о ключевых строительных блоках ИИ-приложений, включая большие языковые модели (LLM), токены, эмбеддинги и ИИ-агентов. Также мы рассмотрим основные инструменты для Java, которые вы будете использовать на протяжении всего курса.
Краткое обновление знаний по концепциям генеративного ИИ
Генеративный ИИ — это тип искусственного интеллекта, который создает новый контент, такой как текст, изображения или код, основываясь на закономерностях и связях, извлечённых из данных. Модели генеративного ИИ могут генерировать ответы, похожие на человеческие, понимать контекст и иногда создавать контент, который кажется человеческим.
При разработке приложений ИИ на Java вы будете работать с моделями генеративного ИИ для создания контента. Некоторые возможности таких моделей включают:
- Генерация текста: создание текстов, похожих на человеческие, для чат-ботов, контента и автозавершения.
- Генерация и анализ изображений: создание реалистичных изображений, улучшение фотографий и обнаружение объектов.
- Генерация кода: написание фрагментов кода или скриптов.
Существуют определённые типы моделей, оптимизированные под различные задачи. Например, и небольшие языковые модели (SLM), и большие языковые модели (LLM) могут справляться с генерацией текста, при этом LLM обычно обеспечивают лучшую производительность для сложных задач. Для задач, связанных с изображениями, используются специализированные модели зрения или мультимодальные модели.

Конечно, ответы этих моделей не всегда идеальны. Вы, вероятно, слышали о том, что модели «галлюцинируют» или создают неверную информацию с убедительной уверенностью. Но вы можете помочь модели генерировать лучшие ответы, предоставляя ей чёткие инструкции и контекст. Здесь и вступает в игру разработка подсказок.
Обзор разработки подсказок
Разработка подсказок — это практика создания эффективных входных данных, которые направляют модели ИИ к желаемым результатам. Она включает:
- Ясность: четкие и недвусмысленные инструкции.
- Контекст: предоставление необходимой фоновой информации.
- Ограничения: указание любых ограничений или форматов.
Некоторые лучшие практики разработки подсказок включают дизайн подсказок, чёткие инструкции, разбиение задач, обучение с одной и несколькими подсказками и настройку подсказок. Важно экспериментировать с разными подсказками, чтобы найти оптимальные для вашей конкретной задачи.
При разработке приложений вы будете работать с разными типами подсказок:
- Системные подсказки: задают основные правила и контекст поведения модели
- Пользовательские подсказки: вводные данные от пользователей вашего приложения
- Ассистентские подсказки: ответы модели на основе системных и пользовательских подсказок
Узнайте больше: Подробнее о разработке подсказок можно узнать в главе по разработке подсказок курса «Генеративный ИИ для начинающих»
Токены, эмбеддинги и агенты
При работе с генеративными моделями ИИ вы столкнетесь с такими терминами, как токены, эмбеддинги, агенты и Model Context Protocol (MCP). Вот подробный обзор этих концепций:
- Токены: Токены — это минимальная единица текста в модели. Это могут быть слова, символы или подслова. Токены используются для представления текстовых данных в формате, понятном модели. Например, предложение «The quick brown fox jumped over the lazy dog» может быть токенизировано как ["The", " quick", " brown", " fox", " jumped", " over", " the", " lazy", " dog"] или ["The", " qu", "ick", " br", "own", " fox", " jump", "ed", " over", " the", " la", "zy", " dog"] в зависимости от стратегии токенизации.

Токенизация — это процесс разбиения текста на эти меньшие единицы. Это важно, потому что модели работают именно с токенами, а не с необработанным текстом. Количество токенов в подсказке влияет на длину и качество ответа модели, так как у моделей есть ограничения по количеству токенов в контекстном окне (например, 128K токенов для общего контекста GPT-4o, включая и вход, и выход).
В Java вы можете использовать библиотеки, такие как OpenAI SDK, для автоматической токенизации при отправке запросов к моделям ИИ.
- Эмбеддинги: Эмбеддинги — это векторные представления токенов, которые отражают их семантическое значение. Это числовые представления (обычно массивы чисел с плавающей точкой), позволяющие моделям понимать связи между словами и создавать контекстно релевантные ответы. Похожие слова имеют похожие эмбеддинги, что позволяет модели понимать сходства, синонимы и семантические отношения.

В Java вы можете создавать эмбеддинги с помощью OpenAI SDK или других библиотек, поддерживающих генерацию эмбеддингов. Эти эмбеддинги важны для таких задач, как семантический поиск, где нужно находить похожий контент на основе смысла, а не точных совпадений текста.
- Векторные базы данных: Векторные базы данных — это специализированные системы хранения, оптимизированные под эмбеддинги. Они обеспечивают эффективный поиск по сходству и являются ключевыми для подходов Retrieval-Augmented Generation (RAG), где нужно находить релевантную информацию из больших наборов данных на основе семантического сходства, а не точных совпадений.

Примечание: В этом курсе мы не будем подробно рассматривать векторные базы данных, но они заслуживают упоминания, поскольку широко используются в реальных приложениях.
- Агенты и MCP: Компоненты ИИ, которые автономно взаимодействуют с моделями, инструментами и внешними системами. Протокол Model Context Protocol (MCP) обеспечивает стандартизированный способ для агентов безопасно получать доступ к внешним источникам данных и инструментам. Подробнее об этом в нашем курсе MCP для начинающих.
В Java-приложениях для ИИ вы будете использовать токены для обработки текста, эмбеддинги для семантического поиска и RAG, векторные базы данных для извлечения данных, а также агентов с MCP для создания интеллектуальных систем с использованием инструментов.

Инструменты и библиотеки для разработки ИИ на Java
Java предлагает превосходные инструменты для разработки ИИ. Существует три основные библиотеки, которые мы изучим на протяжении курса — OpenAI Java SDK, Azure OpenAI SDK и Spring AI.
Вот краткая таблица с указанием, какой SDK используется в примерах каждой главы:
| Глава | Пример | SDK |
|---|---|---|
| 02-SetupDevEnvironment | basic-chat-azure | Spring AI Azure OpenAI |
| 03-CoreGenerativeAITechniques | examples | Azure OpenAI SDK |
| 04-PracticalSamples | petstory | OpenAI Java SDK |
| 04-PracticalSamples | foundrylocal | OpenAI Java SDK |
| 04-PracticalSamples | calculator | Spring AI MCP SDK + LangChain4j |
Ссылки на документацию SDK:
OpenAI Java SDK
OpenAI SDK — это официальная Java-библиотека для OpenAI API. Она предоставляет простой и последовательный интерфейс для взаимодействия с моделями OpenAI, что облегчает интеграцию возможностей ИИ в Java-приложения. Пример приложения Pet Story и пример Foundry Local из главы 4 демонстрируют подход с использованием OpenAI SDK и Azure AI Foundry.
Spring AI
Spring AI — это комплексный фреймворк, который привносит возможности ИИ в приложения Spring, обеспечивая единый уровень абстракции для разных поставщиков ИИ. Он интегрируется с экосистемой Spring, что делает его идеальным выбором для корпоративных Java-приложений, которым необходим ИИ.
Сила Spring AI заключается в его бесшовной интеграции с экосистемой Spring, что облегчает создание готовых к продакшену ИИ-приложений с использованием знакомых паттернов Spring, таких как внедрение зависимостей, управление конфигурацией и тестовые фреймворки. Вы будете использовать Spring AI в главах 2 и 4 для создания приложений, которые используют как OpenAI, так и библиотеки Spring AI для Model Context Protocol (MCP).
Model Context Protocol (MCP)
Model Context Protocol (MCP) — это новый стандарт, который позволяет ИИ-приложениям безопасно взаимодействовать с внешними источниками данных и инструментами. MCP обеспечивает стандартизированный способ для моделей ИИ получать контекстную информацию и выполнять действия в ваших приложениях.
В главе 4 вы создадите простой сервис калькулятора MCP, который демонстрирует основы Model Context Protocol с Spring AI, показывая, как создавать базовые интеграции инструментов и архитектуру сервисов.
Azure OpenAI Java SDK
Клиентская библиотека Azure OpenAI для Java — это адаптация REST API OpenAI, предоставляющая идиоматичный интерфейс и интеграцию с остальной экосистемой Azure SDK. В главе 3 вы создадите приложения с использованием Azure OpenAI SDK, включая чат-приложения, вызов функций и паттерны RAG (Retrieval-Augmented Generation).
Примечание: Azure OpenAI SDK отстаёт от OpenAI Java SDK по функциональности, поэтому для будущих проектов рассмотрите использование OpenAI Java SDK.
Итоги
На этом основы пройдены! Теперь вы понимаете:
- Основные концепции генеративного ИИ — от LLM и разработки подсказок до токенов, эмбеддингов и векторных баз данных
- Варианты инструментов для разработки ИИ на Java: Azure OpenAI SDK, Spring AI и OpenAI Java SDK
- Что такое Model Context Protocol и как он позволяет ИИ-агентам работать с внешними инструментами
Следующие шаги
Глава 2: Настройка среды разработки
Отказ от ответственности: Этот документ был переведен с использованием сервиса машинного перевода Co-op Translator. Несмотря на наши усилия по обеспечению точности, имейте в виду, что автоматический перевод может содержать ошибки или неточности. Оригинальный документ на его исходном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется обратиться к профессиональному человеческому переводу. Мы не несем ответственности за любые недоразумения или неправильные толкования, возникшие в результате использования этого перевода.