Въведение в Генеративния AI - Java Издание

July 2, 2026 · View on GitHub

Какво ще научите

  • Основи на генеративния AI включително LLM, инженерство на подсказки, токени, embeddings и векторни бази данни
  • Сравнение на инструментите за Java AI разработка включително Azure OpenAI SDK, Spring AI и OpenAI Java SDK
  • Откриване на Model Context Protocol и неговата роля в комуникацията на AI агенти

Съдържание

Въведение

Добре дошли в първата глава на Генеративния AI за начинаещи - Java Издание! Този основен урок ви запознава с основните концепции на генеративния AI и как да работите с тях с помощта на Java. Ще научите за ключовите компоненти на AI приложенията, включително големите езикови модели (LLM), токени, embeddings и AI агенти. Ще разгледаме и основните Java инструменти, които ще използвате през целия курс.

Бърз преглед на концепциите за генеративен AI

Генеративният AI е вид изкуствен интелект, който създава ново съдържание, като текст, изображения или код, базирайки се на модели и отношения, научени от данни. Генеративните AI модели могат да генерират отговори, подобни на човешките, разбират контекст и понякога дори създават съдържание, което изглежда човекоподобно.

Когато разработвате Java AI приложения, ще работите с генеративни AI модели за създаване на съдържание. Някои от възможностите на генeративните AI модели включват:

  • Генериране на текст: Съставяне на човешко-подобен текст за чатботове, съдържание и завършване на текст.
  • Генериране и анализ на изображения: Създаване на реалистични изображения, подобряване на снимки и разпознаване на обекти.
  • Генериране на код: Писане на кодови фрагменти или скриптове.

Съществуват специфични видове модели, оптимизирани за различни задачи. Например както Малки езикови модели (SLM), така и Големи езикови модели (LLM) могат да се използват за генериране на текст, като LLM обикновено предлагат по-добра производителност при сложни задачи. За задачи, свързани с изображения, бихте използвали специализирани визуални модели или мултимодални модели.

Figure: Generative AI model types and use cases.

Разбира се, отговорите от тези модели не са винаги перфектни. Вероятно сте чували за модели, които „халюцинират“ или генерират неверни информации с авторитетен тон. Но вие можете да помогнете на модела да генерира по-добри отговори, като го насочвате с ясни инструкции и контекст. Това е ролята на инженерството на подсказки.

Преглед на инженерството на подсказки

Инженерството на подсказки е практиката за проектиране на ефективни входни данни, които насочват AI моделите към желаните изходи. То включва:

  • Яснота: Да направите инструкциите ясни и недвусмислени.
  • Контекст: Предоставяне на необходимата фонова информация.
  • Ограничения: Задаване на всякакви ограничения или формати.

Някои добри практики за инженерството на подсказки включват дизайн на подсказки, ясни инструкции, разделяне на задачи, еднократно и много-кратно обучение и настройка на подсказки. Тестуването на различни подсказки е съществено, за да намерите това, което работи най-добре за вашия специфичен случай.

При разработка на приложения ще работите с различни типове подсказки:

  • Системни подсказки: Задават основните правила и контекст за поведението на модела
  • Потребителски подсказки: Входните данни от потребителите на вашето приложение
  • Подсказки на асистента: Отговорите на модела, базирани на системните и потребителските подсказки

Научете повече: Научете повече за инженерството на подсказки в Глава Инженерство на Подсказки на курса ГенAI за начинаещи

Токени, embeddings и агенти

Когато работите с генеривни AI модели, ще срещнете термини като токени, embeddings, агенти и 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"] в зависимост от стратегията за токенизация.

Figure: Generative AI tokens example of breaking words into tokens

Токенизацията е процесът на разделяне на текста на тези по-малки единици. Това е ключово, тъй като моделите работят с токени, а не с необработен текст. Броят токени в подсказката влияе върху дължината и качеството на отговорите на модела, тъй като моделите имат лимити за токени за контекстната си рамка (например 128K токена за общ контекст на GPT-4o, включително вход и изход).

В Java можете да използвате библиотеки като OpenAI SDK, за да се справите автоматично с токенизацията при изпращане на заявки към AI моделите.

  • Embeddings: Embeddings са векторни представяния на токени, които улавят семантичното значение. Те са числови представяния (обикновено масиви от числа с плаваща запетая), които позволяват на моделите да разбират връзките между думи и да генерират контекстуално релевантни отговори. Подобни думи имат подобни embeddings, което позволява на модела да разбира концепции като синоними и семантични връзки.

Figure: Embeddings

В Java можете да генерирате embeddings, използвайки OpenAI SDK или други библиотеки, които поддържат генериране на embeddings. Тези embeddings са важни за задачи като семантично търсене, където искате да намерите сходно съдържание по значението му, а не по точно съвпадение на текста.

  • Векторни бази данни: Векторните бази данни са специализирани системи за съхранение, оптимизирани за embeddings. Те позволяват ефективно търсене по подобие и са важни за Ретривъл-Аугментирана Генерация (RAG), където трябва да намерите релевантна информация от големи набори данни, базирайки се на семантично сходство, а не на точно съвпадение.

Figure: Vector database architecture showing how embeddings are stored and retrieved for similarity search.

Забележка: В този курс няма да покриваме векторните бази данни, но считаємо, че си заслужава да ги споменем, тъй като те са широко използвани в реални приложения.

  • Агенти и MCP: AI компоненти, които автономно взаимодействат с модели, инструменти и външни системи. Model Context Protocol (MCP) предоставя стандартизиран начин за агенти да осъществяват сигурен достъп до външни източници на данни и инструменти. Научете повече в нашия Курс MCP за начинаещи.

В Java AI приложенията ще използвате токени за обработка на текст, embeddings за семантично търсене и RAG, векторни бази данни за извличане на данни и агенти с MCP за изграждане на интелигентни системи, използващи инструменти.

Figure: how a prompt becomes a reply—tokens, vectors, optional RAG lookup, LLM thinking, and an MCP agent all in one quick flow..

Инструменти и библиотеки за AI разработка на Java

Java предлага отлични инструменти за AI разработка. Главните три библиотеки, които ще разгледаме в хода на курса са: OpenAI Java SDK, Azure OpenAI SDK и Spring AI.

Ето една бърза справочна таблица, показваща кой SDK се използва в примерите на всяка глава:

ГлаваПримерSDK
02-SetupDevEnvironmentbasic-chat-azureSpring AI Azure OpenAI
03-CoreGenerativeAITechniquesexamplesAzure OpenAI SDK
04-PracticalSamplespetstoryOpenAI Java SDK
04-PracticalSamplesfoundrylocalOpenAI Java SDK
04-PracticalSamplescalculatorSpring AI MCP SDK + LangChain4j

Документация на SDK:

OpenAI Java SDK

OpenAI SDK е официалната Java библиотека за OpenAI API. Тя предоставя прост и консистентен интерфейс за работа с моделите на OpenAI, правейки лесна интеграцията на AI възможности в Java приложения. Приложението Pet Story от Глава 4 и примерът Foundry Local демонстрират подхода с OpenAI SDK с Azure AI Foundry.

Spring AI

Spring AI е цялостна платформа, която добавя AI възможности към Spring приложения, предоставяйки единна абстрактна слоя за различни AI доставчици. Интегрира се безпроблемно с екосистемата на Spring, правейки го идеален избор за корпоративни Java приложения, нуждаещи се от AI възможности.

Силата на Spring AI е в безшевната му интеграция със Spring екосистемата, улеснявайки изграждането на готови за производство AI приложения със познатите Spring модели като dependency injection, управление на конфигурация и тестови рамки. Ще използвате Spring AI в Глави 2 и 4 за изграждане на приложения, които използват както OpenAI, така и Model Context Protocol (MCP) Spring AI библиотеки.

Model Context Protocol (MCP)

Model Context Protocol (MCP) е новоизгряващ стандарт, който позволява на AI приложения да взаимодействат сигурно с външни източници на данни и инструменти. MCP предоставя стандартизиран начин AI моделите да имат достъп до контекстуална информация и да изпълняват действия във вашите приложения.

В Глава 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.

Обобщение

Това обхваща основите! Сега разбирате:

  • Основните концепции зад генеративния AI - от LLM и инженерство на подсказки до токени, embeddings и векторни бази данни
  • Възможностите за инструментариум за Java AI разработка: Azure OpenAI SDK, Spring AI и OpenAI Java SDK
  • Какво е Model Context Protocol и как той позволява на AI агенти да работят с външни инструменти

Следващи стъпки

Глава 2: Настройване на средата за разработка


Отказ от отговорност: Този документ е преведен с помощта на AI преводачески услуга Co-op Translator. Въпреки че се стремим към точност, моля имайте предвид, че автоматизираните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да е недоразумения или неправилни тълкувания, произтичащи от използването на този превод.