Generative-AI-for-beginners-java / fr
AGENTS.md557 starsChanged 5 months agoMITView on GitHub
Il s'agit d'un dépôt éducatif pour apprendre le développement en IA générative avec Java. Il propose un cours pratique complet couvrant les grands modèles de langage (LLM), l'ingénierie des prompts, les embeddings, le RAG (Retrieval-Augmented Generation) et le Model Context Protocol (MCP). Technologies clés : - Java 21 - Spring Boot 3.5.x - Spring AI 1.1.x - Maven - LangChain4j - Azure AI Foundry, Azure OpenAI, et SDK OpenAI Architecture : - Plusieurs applications Spring Boot autonomes organisées par chapitres…
- 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/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/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
Aperçu du projet
Il s'agit d'un dépôt éducatif pour apprendre le développement en IA générative avec Java. Il propose un cours pratique complet couvrant les grands modèles de langage (LLM), l'ingénierie des prompts, les embeddings, le RAG (Retrieval-Augmented Generation) et le Model Context Protocol (MCP).
Technologies clés :
- Java 21
- Spring Boot 3.5.x
- Spring AI 1.1.x
- Maven
- LangChain4j
- Azure AI Foundry, Azure OpenAI, et SDK OpenAI
Architecture :
- Plusieurs applications Spring Boot autonomes organisées par chapitres
- Projets exemples démontrant différents patterns IA
- Prêt pour GitHub Codespaces avec des conteneurs de développement préconfigurés
Commandes d'installation
Prérequis
- Java 21 ou supérieur
- Maven 3.x
- Abonnement Azure avec un déploiement de modèle Azure AI Foundry (provisionner avec
azd up) - Azure CLI (
az) et Azure Developer CLI (azd), connectés pour authentification sans clé
Configuration de l'environnement
Option 1 : GitHub Codespaces (recommandé)
# Forkez le dépôt et créez un codespace depuis l'interface GitHub
# Le conteneur de développement installera automatiquement toutes les dépendances
# Attendez environ 2 minutes pour la configuration de l'environnementOption 2 : Conteneur de développement local
# Cloner le dépôt
git clone https://github.com/microsoft/Generative-AI-for-beginners-java.git
cd Generative-AI-for-beginners-java
# Ouvrir dans VS Code avec l'extension Dev Containers
# Rouvrir dans le conteneur lorsqu'on vous le demandeOption 3 : Installation locale
# Installer les dépendances
sudo apt-get update
sudo apt-get install -y maven openjdk-21-jdk
# Vérifier l'installation
java -version
mvn -versionConfiguration
Configuration Azure AI Foundry (sans clé, recommandée) :
# Provisionnez le compte Foundry + les déploiements de modèles en tant que code
cd 02-SetupDevEnvironment
azd auth login
az login
azd up
# azd écrit examples/basic-chat-azure/.env avec votre point de terminaison (sans clé)Configuration manuelle du point de terminaison :
# Si vous n'avez pas utilisé azd, définissez vous-même le point de terminaison (l'authentification reste sans clé via az login)
cd 02-SetupDevEnvironment/examples/basic-chat-azure
cp .env.example .env
# Modifiez .env : AZURE_OPENAI_ENDPOINT=https://<resource>.openai.azure.com/Flux de développement
Structure du projet
/
├── 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 supportExécution des applications
Exécuter une application Spring Boot :
cd [project-directory]
mvn spring-boot:runCompiler un projet :
cd [project-directory]
mvn clean installDémarrer le serveur MCP Calculator :
cd 04-PracticalSamples/calculator
mvn spring-boot:run
# Le serveur fonctionne sur http://localhost:8080Lancer des exemples clients :
# Après avoir démarré le serveur dans un autre terminal
cd 04-PracticalSamples/calculator
# Client MCP direct
mvn exec:java -Dexec.mainClass="com.microsoft.mcp.sample.client.SDKClient"
# Client propulsé par l'IA (nécessite AZURE_OPENAI_ENDPOINT + connexion az)
mvn exec:java -Dexec.mainClass="com.microsoft.mcp.sample.client.LangChain4jClient"
# Bot interactif
mvn exec:java -Dexec.mainClass="com.microsoft.mcp.sample.client.Bot"Rechargement à chaud
Spring Boot DevTools est inclus dans les projets qui supportent le rechargement à chaud :
# Les modifications des fichiers Java seront rechargées automatiquement lorsqu'elles sont enregistrées
mvn spring-boot:runInstructions de test
Exécution des tests
Exécuter tous les tests d'un projet :
cd [project-directory]
mvn testExécuter les tests avec sortie détaillée :
mvn test -XExécuter une classe de test spécifique :
mvn test -Dtest=CalculatorServiceTestStructure des tests
- Les fichiers de test utilisent JUnit 5 (Jupiter)
- Les classes de test se trouvent dans
src/test/java/ - Les exemples clients dans le projet calculator sont situés dans
src/test/java/com/microsoft/mcp/sample/client/
Tests manuels
De nombreux exemples sont des applications interactives nécessitant des tests manuels :
- Démarrer l'application avec
mvn spring-boot:run - Tester les points de terminaison ou interagir avec la CLI
- Vérifier que le comportement attendu correspond à la documentation dans le README.md de chaque projet
Tests avec Azure AI Foundry
- Connectez-vous avec
az loginavant d'exécuter les exemples (authentification sans clé) - Assurez-vous que votre compte possède le rôle Utilisateur Cognitive Services OpenAI sur la ressource
- Testez le filtrage de contenu avec l'exemple d'IA responsable au Chapitre 5
Directives de style de code
Conventions Java
- Version Java : Java 21 avec fonctionnalités modernes
- Style : Suivre les conventions Java standard
- Nommage :
- Classes : PascalCase
- Méthodes/variables : camelCase
- Constantes : UPPER_SNAKE_CASE
- Noms de packages : minuscules
Patterns Spring Boot
- Utiliser
@Servicepour la logique métier - Utiliser
@RestControllerpour les points de terminaison REST - Configuration via
application.ymlouapplication.properties - Variables d'environnement préférées aux valeurs codées en dur
- Utiliser l'annotation
@Toolpour les méthodes exposées par MCP
Organisation des fichiers
src/
├── main/
│ ├── java/
│ │ └── com/microsoft/[component]/
│ │ ├── [Component]Application.java
│ │ ├── config/
│ │ ├── controller/
│ │ ├── service/
│ │ └── exception/
│ └── resources/
│ ├── application.yml
│ └── static/
└── test/
└── java/
└── com/microsoft/[component]/Dépendances
- Gérées via Maven
pom.xml - Spring AI BOM pour la gestion des versions
- LangChain4j pour les intégrations IA
- Parent starter Spring Boot pour les dépendances Spring
Commentaires dans le code
- Ajouter des JavaDoc pour les API publiques
- Inclure des commentaires explicatifs pour les interactions IA complexes
- Documenter clairement les descriptions d'outils MCP
Compilation et déploiement
Compilation des projets
Compiler sans tests :
mvn clean install -DskipTestsCompiler avec toutes les vérifications :
mvn clean installPackager l'application :
mvn package
# Crée un JAR dans le répertoire target/Dossiers de sortie
- Classes compilées :
target/classes/ - Classes de test :
target/test-classes/ - Fichiers JAR :
target/*.jar - Artifacts Maven :
target/
Configuration spécifique à l'environnement
Développement :
# 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}Production :
- Utiliser une identité managée au lieu de
az loginpour authentification sans clé - Pointer
AZURE_OPENAI_ENDPOINTvers votre ressource Foundry de production - Gérer la configuration via variables d'environnement ou Azure Key Vault
Considérations déploiement
- Il s'agit d'un dépôt éducatif avec des applications exemples
- Non conçu pour un déploiement en production tel quel
- Les exemples démontrent des patterns à adapter pour une utilisation en production
- Voir les README des projets individuels pour les notes spécifiques de déploiement
Notes supplémentaires
Azure AI Foundry
- Authentification sans clé : connexion via Microsoft Entra ID — pas de gestion de clés API
- Provisionné comme code : Bicep + azd (
azd up) créent le compte et les déploiements de modèles - Le même code compatible OpenAI s'exécute localement (
az login) et sur Azure (identité managée)
Travail avec plusieurs projets
Chaque projet exemple est autonome :
# Naviguer vers un projet spécifique
cd 04-PracticalSamples/[project-name]
# Chacun a son propre pom.xml et peut être construit indépendamment
mvn clean installProblèmes communs
Incompatibilité de version Java :
# Vérifier Java 21
java -version
# Mettre à jour JAVA_HOME si nécessaire
export JAVA_HOME=/usr/lib/jvm/msopenjdk-currentProblèmes de téléchargement des dépendances :
# Vider le cache Maven et réessayer
rm -rf ~/.m2/repository
mvn clean installPoint de terminaison ou connexion non trouvée :
# Définir le point de terminaison dans la session en cours et se connecter (sans clé)
export AZURE_OPENAI_ENDPOINT="https://your-resource.openai.azure.com/"
az login
# Ou utiliser un fichier .env dans le répertoire du projet
echo "AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/" > .envPort déjà utilisé :
# Spring Boot utilise par défaut le port 8080
# Modifier dans application.properties :
server.port=8081Support multilingue
- Documentation disponible en plus de 45 langues via traduction automatique
- Traductions dans le répertoire
translations/ - Traduction gérée par le workflow GitHub Actions
Parcours d'apprentissage
- Commencer par 02-SetupDevEnvironment
- Suivre les chapitres dans l'ordre (01 → 05)
- Réaliser les exemples pratiques de chaque chapitre
- Explorer les projets exemples au Chapitre 4
- Apprendre les pratiques d'IA responsable au Chapitre 5
Conteneur de développement
Le fichier .devcontainer/devcontainer.json configure :
- Environnement de développement Java 21
- Maven préinstallé
- Extensions VS Code pour Java
- Outils Spring Boot
- Intégration GitHub Copilot
- Support Docker-in-Docker
- Azure CLI
Considérations performances
- Les déploiements Azure AI Foundry ont des quotas tokens/requêtes par minute
- Utiliser des tailles de lots adaptées pour les embeddings
- Envisager la mise en cache pour les appels API répétitifs
- Surveiller l'utilisation des tokens pour optimiser les coûts
Notes de sécurité
- Ne jamais commiter de fichiers
.env(déjà dans.gitignore) - Préférer l'authentification sans clé (Microsoft Entra ID) aux clés API
- Utiliser les identités managées sur Azure ;
az loginpour développement local - Suivre les directives d'IA responsable au Chapitre 5
<!-- CO-OP TRANSLATOR DISCLAIMER START -->Avertissement : Ce document a été traduit à l'aide du service de traduction automatique Co-op Translator. Bien que nous nous efforçions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue native doit être considéré comme la source faisant autorité. Pour les informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous ne saurions être tenus responsables des malentendus ou erreurs d'interprétation découlant de l'utilisation de cette traduction.
<!-- 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.

