Generative-AI-for-beginners-java / sl
AGENTS.md557 starsChanged 5 months agoMITView on GitHub
To je izobraževalno repozitorij za učenje razvoja Generativne umetne inteligence z Javo. Ponuja obsežen praktični tečaj, ki pokriva velike jezikovne modele (LLM), inženiring pozivov, vdelave, RAG (Generiranje z nadgradnjo z iskanjem) in protokol Model Context (MCP). Ključne tehnologije: - Java 21 - Spring Boot 3.5.x - Spring AI 1.1.x - Maven - LangChain4j - Azure AI Foundry, Azure OpenAI in OpenAI SDK-ji Arhitektura: - Več samostojnih aplikacij Spring Boot organiziranih po poglavjih - Primeri projektov, ki prikazujejo različne vzorce AI…
- 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/sr/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
Pregled projekta
To je izobraževalno repozitorij za učenje razvoja Generativne umetne inteligence z Javo. Ponuja obsežen praktični tečaj, ki pokriva velike jezikovne modele (LLM), inženiring pozivov, vdelave, RAG (Generiranje z nadgradnjo z iskanjem) in protokol Model Context (MCP).
Ključne tehnologije:
- Java 21
- Spring Boot 3.5.x
- Spring AI 1.1.x
- Maven
- LangChain4j
- Azure AI Foundry, Azure OpenAI in OpenAI SDK-ji
Arhitektura:
- Več samostojnih aplikacij Spring Boot organiziranih po poglavjih
- Primeri projektov, ki prikazujejo različne vzorce AI
- Pripravljeno za GitHub Codespaces z vnaprej konfiguriranimi razvojnimi okolji
Ukazi za nastavitev
Predpogoji
- Java 21 ali novejša
- Maven 3.x
- Azure naročnina z nameščenim modelom v Azure AI Foundry (zagotovi z
azd up) - Azure CLI (
az) in Azure Developer CLI (azd), prijavljeni za prijavo brez ključev
Nastavitev okolja
Možnost 1: GitHub Codespaces (priporočeno)
# Razvezi repozitorij in ustvari codespace iz GitHub vmesnika
# Razvojno okolje bo samodejno namestilo vse odvisnosti
# Počakaj približno 2 minuti za nastavitev okoljaMožnost 2: Lokalno razvojno okolje v kontejnerju
# Kloniraj repozitorij
git clone https://github.com/microsoft/Generative-AI-for-beginners-java.git
cd Generative-AI-for-beginners-java
# Odpri v VS Code z razširitvijo Dev Containers
# Ponovno odpri v kontejnerju, ko te pozoveMožnost 3: Lokalna nastavitev
# Namestite odvisnosti
sudo apt-get update
sudo apt-get install -y maven openjdk-21-jdk
# Preverite namestitev
java -version
mvn -versionKonfiguracija
Nastavitev Azure AI Foundry (brez ključev, priporočeno):
# Zagotovite račun Foundry + uvajanja modelov kot kodo
cd 02-SetupDevEnvironment
azd auth login
az login
azd up
# azd zapiše examples/basic-chat-azure/.env z vašo končno točko (brez ključa)Ročna konfiguracija končne točke:
# Če niste uporabili azd, nastavite končno točko sami (avtorizacija ostane brez ključa preko az login)
cd 02-SetupDevEnvironment/examples/basic-chat-azure
cp .env.example .env
# Uredite .env: AZURE_OPENAI_ENDPOINT=https://<resource>.openai.azure.com/Razvojni potek
Struktura projekta
/
├── 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 supportZagon aplikacij
Zagon aplikacije Spring Boot:
cd [project-directory]
mvn spring-boot:runIzgradnja projekta:
cd [project-directory]
mvn clean installZagon MCP kalkulator strežnika:
cd 04-PracticalSamples/calculator
mvn spring-boot:run
# Strežnik teče na http://localhost:8080Zagon primerov odjemalcev:
# Po zagonu strežnika v drugem terminalu
cd 04-PracticalSamples/calculator
# Neposredni MCP odjemalec
mvn exec:java -Dexec.mainClass="com.microsoft.mcp.sample.client.SDKClient"
# AI-podprt odjemalec (zahteva AZURE_OPENAI_ENDPOINT + az prijava)
mvn exec:java -Dexec.mainClass="com.microsoft.mcp.sample.client.LangChain4jClient"
# Interaktivni bot
mvn exec:java -Dexec.mainClass="com.microsoft.mcp.sample.client.Bot"Hot Reload
Spring Boot DevTools je vključen v projektih, ki podpirajo hot reload:
# Spremembe v Java datotekah se bodo samodejno ponovno naložile ob shranjevanju
mvn spring-boot:runNavodila za testiranje
Zagon testov
Zaženi vse teste v projektu:
cd [project-directory]
mvn testZaženi teste z obsežnim izpisom:
mvn test -XZaženi določen test razred:
mvn test -Dtest=CalculatorServiceTestStruktura testov
- Testne datoteke uporabljajo JUnit 5 (Jupiter)
- Testni razredi so v
src/test/java/ - Primeri odjemalcev v kalkulator projektu so v
src/test/java/com/microsoft/mcp/sample/client/
Ročno testiranje
Veliko primerov so interaktivne aplikacije, ki zahtevajo ročno testiranje:
- Zaženi aplikacijo z
mvn spring-boot:run - Testiraj končne točke ali interakcijo v CLI
- Preveri, da se pričakovano vedenje ujema z dokumentacijo v README.md vsakega projekta
Testiranje z Azure AI Foundry
- Prijavi se z
az loginpred zagonom primerov (avtorizacija brez ključev) - Prepričaj se, da ima tvoj račun vlogo Cognitive Services OpenAI User na viru
- Testiraj filtriranje vsebin z odgovornim AI primerom v poglavju 5
Smernice za slog kode
Java konvencije
- Java verzija: Java 21 z modernimi funkcijami
- Slog: Sledi standardnim Java konvencijam
- Poimenovanje:
- Razredi: PascalCase
- Metode/spremenljivke: camelCase
- Konstantne vrednosti: VELIKE_SNAKE_CASE
- Imena paketov: male črke
Vzorce Spring Boot
- Uporabi
@Serviceza poslovno logiko - Uporabi
@RestControllerza REST končne točke - Konfiguracija preko
application.ymlaliapplication.properties - Prometna spremenljivka okolja predvidena pred trdo kodiranimi vrednostmi
- Uporabi oznako
@Toolza metode izpostavljene v MCP
Organizacija datotek
src/
├── main/
│ ├── java/
│ │ └── com/microsoft/[component]/
│ │ ├── [Component]Application.java
│ │ ├── config/
│ │ ├── controller/
│ │ ├── service/
│ │ └── exception/
│ └── resources/
│ ├── application.yml
│ └── static/
└── test/
└── java/
└── com/microsoft/[component]/Odvisnosti
- Upravljanje z Maven
pom.xml - Spring AI BOM za upravljanje verzij
- LangChain4j za AI integracije
- Spring Boot starter parent za Spring odvisnosti
Komentarji v kodi
- Dodaj JavaDoc za javne API-je
- Vključi pojasnilne komentarje za kompleksne AI interakcije
- Jasno dokumentiraj opise orodij MCP
Izgradnja in uvajanje
Izgradnja projektov
Izgradi brez testov:
mvn clean install -DskipTestsIzgradi z vsemi preverjanji:
mvn clean installPakiranje aplikacije:
mvn package
# Ustvari JAR v imeniku target/Izhodne mape
- Prevedeni razredi:
target/classes/ - Testni razredi:
target/test-classes/ - JAR datoteke:
target/*.jar - Maven artefakti:
target/
Konfiguracija specifična za okolje
Razvoj:
# 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}Produkcija:
- Uporabi upravljano identiteto namesto
az loginza prijavo brez ključev - Nastavi
AZURE_OPENAI_ENDPOINTna tvoj produkcijski Foundry vir - Upravljaj konfiguracijo preko okoljskih spremenljivk ali Azure Key Vault
Premisleki o uvajanju
- To je izobraževalni repozitorij s primeri aplikacij
- Ni načrtovan za direktno uporabo v produkciji
- Primeri prikazujejo vzorce, prilagojene za produkcijsko uporabo
- Oglej si README-je posameznih projektov za specifične opombe o uvajanju
Dodatne opombe
Azure AI Foundry
- Prijava brez ključev: poveži se z Microsoft Entra ID - ni potrebnih API ključev
- Nastavljeno kot koda: Bicep + azd (
azd up) ustvarita račun in namestitev modelov - Isto združljivo OpenAI kodo lahko uporabljaš lokalno (
az login) in v Azure (upravljana identiteta)
Delo z več projekti
Vsak vzorčni projekt je samostojen:
# Pomaknite se do specifičnega projekta
cd 04-PracticalSamples/[project-name]
# Vsak ima svojo datoteko pom.xml in se lahko gradi neodvisno
mvn clean installPogoste težave
Neujemanje verzije Jave:
# Preverite Java 21
java -version
# Posodobite JAVA_HOME, če je potrebno
export JAVA_HOME=/usr/lib/jvm/msopenjdk-currentTežave z nalaganjem odvisnosti:
# Počisti Maven predpomnilnik in poskusi znova
rm -rf ~/.m2/repository
mvn clean installKončna točka ali prijava ni najdena:
# Nastavite končno točko v trenutni seji in se vpišite (brez ključa)
export AZURE_OPENAI_ENDPOINT="https://your-resource.openai.azure.com/"
az login
# Ali uporabite datoteko .env v imeniku projekta
echo "AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/" > .envVrat že v uporabi:
# Spring Boot privzeto uporablja vrata 8080
# Sprememba v application.properties:
server.port=8081Podpora več jezikom
- Dokumentacija na voljo v več kot 45 jezikih preko avtomatskega prevajanja
- Prevodi v mapi
translations/ - Prevajanje upravlja GitHub Actions potek dela
Pot učenja
- Začni z 02-SetupDevEnvironment
- Sledi poglavjem v vrstnem redu (01 → 05)
- Dokončaj praktične primere v vsakem poglavju
- Raziskuj vzorčne projekte v poglavju 4
- Nauči se praks odgovorne AI v poglavju 5
Razvojno okolje v kontejnerju
.devcontainer/devcontainer.json konfigurira:
- Razvojno okolje Java 21
- Vnaprej nameščen Maven
- Razširitve VS Code za Javo
- Orodja Spring Boot
- Integracijo GitHub Copilot
- Podporo Docker-in-Docker
- Azure CLI
Premisleki glede zmogljivosti
- Azure AI Foundry nameščanja imajo kvote tokenov/poizvedb na minuto
- Uporabljaj primerne velikosti paketov za vdelave
- Razmisli o predpomnjenju za ponavljajoče API klice
- Spremljaj uporabo tokenov za optimizacijo stroškov
Varnostne opombe
- Nikoli ne komitiraj
.envdatotek (že v.gitignore) - Prednostno uporabljaj avtentikacijo brez ključev (Microsoft Entra ID) namesto API ključev
- Uporabljaj upravljane identitete v Azure; lokalno za razvoj je
az login - Sledi smernicam odgovorne AI v poglavju 5
<!-- CO-OP TRANSLATOR DISCLAIMER START -->Omejitev odgovornosti: Ta dokument je bil preveden z uporabo AI prevajalske storitve Co-op Translator. Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da avtomatizirani prevodi lahko vsebujejo napake ali netočnosti. Izvirni dokument v njegovem izvirnem jeziku je treba obravnavati kot avtoritativni vir. Za kritične informacije je priporočljiv strokovni človeški prevod. Ne odgovarjamo za morebitna nesporazume ali napačne interpretacije, ki izhajajo iz uporabe tega prevoda.
<!-- 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.

