Generative-AI-for-beginners-java / sr
AGENTS.md557 starsChanged 5 months agoMITView on GitHub
Ово је образовни репозиторијум за учење развоја генеративне вештачке интелигенције уз Јава. Пружа свеобухватан практичан курс који покрива велике језичке моделе (LLMs), инжењеринг упита, уграђене представке (embeddings), РАГ (Retrieval-Augmented Generation) и протокол контекста модела (Model Context Protocol, MCP). Кључне технологије: - Јава 21 - Spring Boot 3.5.x - Spring AI 1.1.x - Maven - LangChain4j - Azure AI Foundry, Azure OpenAI и OpenAI SDK-ови Архитектура: - Више самосталних Spring Boot апликација организованих по поглављима - Примерни пројекти који демонстрирају различите…
- Reads credentials
- Deletes or force-pushes
- Installs packages
In this repository55 other files it gives its agents.
- AGENTS.mdAGENTS.md
- translations/ar/AGENTS.mdAGENTS.md
- translations/bg/AGENTS.mdAGENTS.md
- translations/bn/AGENTS.mdAGENTS.md
- translations/cs/AGENTS.mdAGENTS.md
- translations/da/AGENTS.mdAGENTS.md
- translations/de/AGENTS.mdAGENTS.md
- translations/el/AGENTS.mdAGENTS.md
- translations/en/AGENTS.mdAGENTS.md
- translations/es/AGENTS.mdAGENTS.md
- translations/et/AGENTS.mdAGENTS.md
- translations/fa/AGENTS.mdAGENTS.md
- translations/fi/AGENTS.mdAGENTS.md
- translations/fr/AGENTS.mdAGENTS.md
- translations/he/AGENTS.mdAGENTS.md
- translations/hi/AGENTS.mdAGENTS.md
- translations/hr/AGENTS.mdAGENTS.md
- translations/hu/AGENTS.mdAGENTS.md
- translations/id/AGENTS.mdAGENTS.md
- translations/it/AGENTS.mdAGENTS.md
- translations/ja/AGENTS.mdAGENTS.md
- translations/km/AGENTS.mdAGENTS.md
- translations/kn/AGENTS.mdAGENTS.md
- translations/ko/AGENTS.mdAGENTS.md
- translations/lt/AGENTS.mdAGENTS.md
- translations/ml/AGENTS.mdAGENTS.md
- translations/mr/AGENTS.mdAGENTS.md
- translations/ms/AGENTS.mdAGENTS.md
- translations/my/AGENTS.mdAGENTS.md
- translations/ne/AGENTS.mdAGENTS.md
- translations/nl/AGENTS.mdAGENTS.md
- translations/no/AGENTS.mdAGENTS.md
- translations/pa/AGENTS.mdAGENTS.md
- translations/pcm/AGENTS.mdAGENTS.md
- translations/pl/AGENTS.mdAGENTS.md
- translations/pt-BR/AGENTS.mdAGENTS.md
- translations/pt-PT/AGENTS.mdAGENTS.md
- translations/ro/AGENTS.mdAGENTS.md
- translations/ru/AGENTS.mdAGENTS.md
- translations/sk/AGENTS.mdAGENTS.md
- translations/sl/AGENTS.mdAGENTS.md
- translations/sv/AGENTS.mdAGENTS.md
- translations/sw/AGENTS.mdAGENTS.md
- translations/ta/AGENTS.mdAGENTS.md
- translations/te/AGENTS.mdAGENTS.md
- translations/th/AGENTS.mdAGENTS.md
- translations/tl/AGENTS.mdAGENTS.md
- translations/tr/AGENTS.mdAGENTS.md
- translations/uk/AGENTS.mdAGENTS.md
- translations/ur/AGENTS.mdAGENTS.md
- translations/vi/AGENTS.mdAGENTS.md
- translations/zh-CN/AGENTS.mdAGENTS.md
- translations/zh-HK/AGENTS.mdAGENTS.md
- translations/zh-MO/AGENTS.mdAGENTS.md
- translations/zh-TW/AGENTS.mdAGENTS.md
The file
Files
AGENTS.md
Преглед пројекта
Ово је образовни репозиторијум за учење развоја генеративне вештачке интелигенције уз Јава. Пружа свеобухватан практичан курс који покрива велике језичке моделе (LLMs), инжењеринг упита, уграђене представке (embeddings), РАГ (Retrieval-Augmented Generation) и протокол контекста модела (Model Context Protocol, MCP).
Кључне технологије:
- Јава 21
- Spring Boot 3.5.x
- Spring AI 1.1.x
- Maven
- LangChain4j
- Azure AI Foundry, Azure OpenAI и OpenAI SDK-ови
Архитектура:
- Више самосталних Spring Boot апликација организованих по поглављима
- Примерни пројекти који демонстрирају различите обрасце у вештачкој интелигенцији
- Припремљено за GitHub Codespaces са предконфигурисаним развојним контејнерима
Команде за подешавање
Захтеви
- Јава 21 или новија
- Maven 3.x
- Azure претплата са развојем Azure AI Foundry модела (постављање са
azd up) - Azure CLI (
az) и Azure Developer CLI (azd), пријављени за аутентификацију без кључа
Подешавање окружења
Опција 1: GitHub Codespaces (препоручено)
# Направите форк репозиторијума и креирајте codespace преко GitHub корисничког интерфејса
# Дев контејнер ће аутоматски инсталирати све зависности
# Сачекајте ~2 минута за подешавање окружењаОпција 2: Локални развојни контејнер
# Клонирај репозиторијум
git clone https://github.com/microsoft/Generative-AI-for-beginners-java.git
cd Generative-AI-for-beginners-java
# Отвори у VS Code-у са Dev Containers екстензијом
# Поново отвори у контејнеру када буде затраженоОпција 3: Локално подешавање
# Инсталирајте зависности
sudo apt-get update
sudo apt-get install -y maven openjdk-21-jdk
# Проверите инсталацију
java -version
mvn -versionКонфигурација
Подешавање Azure AI Foundry (безкључна, препоручена):
# Обезбедите налог Foundry и распоређивања модела као код
cd 02-SetupDevEnvironment
azd auth login
az login
azd up
# azd пише examples/basic-chat-azure/.env са вашим крајњим тј. тачком (без кључа)Ручна конфигурација крајње тачке:
# Ако нисте користили azd, сами подесите крајњу тачку (аутентификација остаје без кључа преко az login)
cd 02-SetupDevEnvironment/examples/basic-chat-azure
cp .env.example .env
# Уредите .env: AZURE_OPENAI_ENDPOINT=https://<resource>.openai.azure.com/Развојни ток рада
Структура пројекта
/
├── 01-IntroToGenAI/ # Chapter 1: Introduction
├── 02-SetupDevEnvironment/ # Chapter 2: Environment setup
│ └── examples/ # Working examples
├── 03-CoreGenerativeAITechniques/ # Chapter 3: Core techniques
├── 04-PracticalSamples/ # Chapter 4: Sample projects
│ ├── calculator/ # MCP service example
│ ├── foundrylocal/ # Local model integration
│ └── petstory/ # Multi-modal app
├── 05-ResponsibleGenAI/ # Chapter 5: Responsible AI
└── translations/ # Multi-language supportПокретање апликација
Покретање Spring Boot апликације:
cd [project-directory]
mvn spring-boot:runИзградња пројекта:
cd [project-directory]
mvn clean installПокретање MCP Calculator сервера:
cd 04-PracticalSamples/calculator
mvn spring-boot:run
# Сервер ради на http://localhost:8080Покретање примера клијената:
# Након покретања сервера у другом терминалу
cd 04-PracticalSamples/calculator
# Директни MCP клијент
mvn exec:java -Dexec.mainClass="com.microsoft.mcp.sample.client.SDKClient"
# Клијент са вештачком интелигенцијом (захтева AZURE_OPENAI_ENDPOINT + az login)
mvn exec:java -Dexec.mainClass="com.microsoft.mcp.sample.client.LangChain4jClient"
# Интерктивни бот
mvn exec:java -Dexec.mainClass="com.microsoft.mcp.sample.client.Bot"Хот Релоад
Spring Boot DevTools је укључен у пројекте који подржавају хот релоад:
# Промене у Java фајловима ће се аутоматски поново учитати када се сачувају
mvn spring-boot:runУпутства за тестирање
Покретање тестова
Покрени све тестове у пројекту:
cd [project-directory]
mvn testПокрени тестове са детаљним излазом:
mvn test -XПокрени одређену класу тестова:
mvn test -Dtest=CalculatorServiceTestСтруктура тестова
- Тест датотеке користе JUnit 5 (Jupiter)
- Тест класе се налазе у
src/test/java/ - Клијентски примери у калькулатор пројекту су у
src/test/java/com/microsoft/mcp/sample/client/
Ручно тестирање
Многи примери су интерактивне апликације које захтевају ручно тестирање:
- Покрените апликацију помоћу
mvn spring-boot:run - Тестирајте крајње тачке или интерагујте са CLI-јем
- Потврдите да је очекивано понашање у складу са документацијом у README.md сваког пројекта
Тестирање са Azure AI Foundry
- Пријавите се са
az loginпре покретања примера (безкључна аутентификација) - Уверите се да ваш налог има улогу Cognitive Services OpenAI User на ресурсу
- Тестирајте филтрирање садржаја помоћу примера одговорне вештачке интелигенције у Поглављу 5
Водич за стил кода
Јава конвенције
- Верзија Јаве: Јава 21 са модерним функцијама
- Стил: Пратите стандардне Јава конвенције
- Намена:
- Класе: PascalCase
- Методи/променљиве: camelCase
- Константе: UPPER_SNAKE_CASE
- Имена пакета: мала слова
Обрасци у Spring Boot-у
- Користите
@Serviceза бизнис логику - Користите
@RestControllerза REST крајње тачке - Конфигурација преко
application.ymlилиapplication.properties - Преферирајте променљиве окружења уместо фиксних вредности
- Користите
@Toolанотацију за методе изложене преко MCP-а
Организација фајлова
src/
├── main/
│ ├── java/
│ │ └── com/microsoft/[component]/
│ │ ├── [Component]Application.java
│ │ ├── config/
│ │ ├── controller/
│ │ ├── service/
│ │ └── exception/
│ └── resources/
│ ├── application.yml
│ └── static/
└── test/
└── java/
└── com/microsoft/[component]/Зависности
- Управљање преко Maven
pom.xml - Spring AI BOM за управљање верзијама
- LangChain4j за AI интеграције
- Spring Boot стартер родитељ за Spring зависности
Коментари у коду
- Додајте JavaDoc за јавне API-је
- Укључите објашњавајуће коментаре за сложене AI интеракције
- Јасно документајте описе MCP алата
Изградња и имплементација
Изградња пројеката
Изградња без тестова:
mvn clean install -DskipTestsИзградња са свим проверницама:
mvn clean installПаковање апликације:
mvn package
# Креира JAR у директоријуму target/Директоријуми за излаз
- Скомпилиране класе:
target/classes/ - Тест класе:
target/test-classes/ - JAR фајлови:
target/*.jar - Maven артефакти:
target/
Конфигурација по окружењима
Развој:
# application.yml (keyless - no api-key; auth via DefaultAzureCredential)
spring:
ai:
azure:
openai:
endpoint: ${AZURE_OPENAI_ENDPOINT}
chat:
options:
deployment-name: ${AZURE_OPENAI_DEPLOYMENT:gpt-4o-mini}Производња:
- Користите управљани идентитет уместо
az loginза безкључну аутентификацију - Поставите
AZURE_OPENAI_ENDPOINTна ваш продукцијски Foundry ресурс - Управљајте конфигурацијом преко променљивих окружења или Azure Key Vault-а
Разматрања при имплементацији
- Ово је образовни репозиторijум са пример апликацијама
- Нису намењени директно за продукцијску имплементацију
- Примери показују обрасце које треба прилагодити за продукцијску употребу
- Погледајте README сваког појединачног пројекта за специфичне белешке о имплементацији
Додатне напомене
Azure AI Foundry
- Безкључна аутентификација: повезује се са Microsoft Entra ID — нема потребе за управљањем API кључевима
- Постављено као код: Bicep + azd (
azd up) креира налог и развоје модела - Исти OpenAI-компатибилан код ради локално (
az login) и у Azure-у (управљани идентитет)
Рад са више пројеката
Сваки примерни пројекат је самосталан:
# Идите до конкретног пројекта
cd 04-PracticalSamples/[project-name]
# Сваки има свој pom.xml и може се независно градити
mvn clean installЧести проблеми
Неусклађеност верзије Јаве:
# Проверите Java 21
java -version
# Ажурирајте JAVA_HOME ако је потребно
export JAVA_HOME=/usr/lib/jvm/msopenjdk-currentПроблеми са преузимањем зависности:
# Очистите Maven кеш и покушајте поново
rm -rf ~/.m2/repository
mvn clean installКрајња тачка или пријава нису пронађени:
# Подеси крајњу тачку у тренутној сесији и пријави се (без кључа)
export AZURE_OPENAI_ENDPOINT="https://your-resource.openai.azure.com/"
az login
# Или користи .env фајл у директоријуму пројекта
echo "AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/" > .envПорт је већ у употреби:
# Spring Boot подразумевано користи порт 8080
# Промена у application.properties:
server.port=8081Подршка за више језика
- Документација доступна на 45+ језика преко аутоматског превођења
- Преводи у директоријуму
translations/ - Превод се управља преко GitHub Actions радног тока
Пут учења
- Почните са 02-SetupDevEnvironment
- Пратите поглавља узастопно (01 → 05)
- Завршите практичне примере у сваком поглављу
- Истражите примерне пројекте у Поглављу 4
- Научите праксе одговорне вештачке интелигенције у Поглављу 5
Развојни контејнер
Конфигурација .devcontainer/devcontainer.json укључује:
- Развојно окружење са Јава 21
- Прединсталирани Maven
- VS Code Java екстензије
- Spring Boot алате
- GitHub Copilot интеграцију
- Подршку за Docker-in-Docker
- Azure CLI
Разматрања перформанси
- Azure AI Foundry развоји имају квоте за токене/захтеве по минути
- Користите одговарајуће величине пакета за embeddings
- Размислите о кеширању за поновљене API позиве
- Пратите употребу токена ради оптимизације трошкова
Напомене о безбедности
- Никада не комитујте
.envфајлове (већ у.gitignore) - Преферирајте безкључну аутентификацију (Microsoft Entra ID) уместо API кључева
- Користите управљане идентитете у Azure-у;
az loginза локални развој - Пратите смернице одговорне вештачке интелигенције у Поглављу 5
<!-- CO-OP TRANSLATOR DISCLAIMER START -->Изјава о одрицању одговорности: Овај документ је преведен коришћењем услуге за аутоматски превод Co-op Translator. Иако тежимо тачности, имајте у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитативним извором. За критичне информације препоручује се професионални људски превод. Нисмо одговорни за било каква неспоразума или погрешна тумачења која произилазе из коришћења овог превода.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

