Configurare l'Ambiente di Sviluppo per Generative AI per Java
July 2, 2026 · View on GitHub
Avvio rapido: Provisiona i tuoi modelli AI su Azure AI Foundry come codice con Bicep +
azdin pochi minuti — consulta la Guida alla Configurazione di Azure AI Foundry. L'autenticazione è senza chiavi (Microsoft Entra ID), quindi non ci sono chiavi API da gestire.
Cosa Imparerai
- Configurare un ambiente di sviluppo Java per applicazioni AI
- Scegliere e configurare l'ambiente di sviluppo preferito (cloud-first con Codespaces, container di sviluppo locale, o configurazione locale completa)
- Testare la configurazione collegandosi a un modello Azure AI Foundry
Indice
- Cosa Imparerai
- Introduzione
- Passo 1: Configura il Tuo Ambiente di Sviluppo
- Passo 2: Provisiona Azure AI Foundry
- Passo 3: Testa la Tua Configurazione
- Risoluzione dei Problemi
- Sommario
- Prossimi Passi
Introduzione
Questo capitolo ti guiderà nella configurazione di un ambiente di sviluppo. Utilizzeremo Azure AI Foundry per i modelli durante tutto il corso. Provisionerai i modelli come codice con Bicep e l'Azure Developer CLI (azd), poi ti connetterai con autenticazione senza chiavi (Microsoft Entra ID) — nessuna chiave API da copiare o rischiare di perdere.
Nessuna configurazione locale richiesta! Puoi usare GitHub Codespaces, che fornisce un ambiente di sviluppo completo nel tuo browser, e provisionare Foundry da lì.
Utilizziamo Azure AI Foundry per questo corso perché è:
- Provisionato come codice — un singolo
azd upcrea l'account e le distribuzioni dei modelli - Senza chiavi — autenticati con il tuo accesso Azure o un'identità gestita
- Pronto per la produzione — lo stesso codice funziona localmente e su Azure
- Flessibile — cambia modello modificando il nome della distribuzione, non il codice
Nota: Le distribuzioni di Azure AI Foundry sono fatturate per token (paghi solo quello che usi). Consulta la guida alla configurazione di Azure AI Foundry per dettagli su provisioning, regione e costi.
Passo 1: Configura il Tuo Ambiente di Sviluppo
Abbiamo creato un container di sviluppo preconfigurato per minimizzare i tempi di configurazione e assicurarti di avere tutti gli strumenti necessari per questo corso Generative AI per Java. Scegli il tuo approccio di sviluppo preferito:
Opzioni di Configurazione dell'Ambiente:
Opzione A: GitHub Codespaces (Consigliato)
Inizia a programmare in 2 minuti - nessuna configurazione locale richiesta!
- Fai il fork di questo repository nel tuo account GitHub
Nota: Se vuoi modificare la configurazione di base dai un'occhiata a Dev Container Configuration
- Clicca su Code → scheda Codespaces → ... → New with options...
- Usa le impostazioni predefinite – questo selezionerà la configurazione del dev container: Generative AI Java Development Environment devcontainer personalizzato creato per questo corso
- Clicca su Create codespace
- Aspetta circa 2 minuti che l'ambiente sia pronto
- Procedi a Passo 2: Provisiona Azure AI Foundry
Vantaggi dei Codespaces:
- Nessuna installazione locale richiesta
- Funziona su qualsiasi dispositivo con un browser
- Pre-configurato con tutti gli strumenti e le dipendenze
- 60 ore gratis al mese per account personali
- Ambiente coerente per tutti gli studenti
Opzione B: Container di Sviluppo Locale
Per sviluppatori che preferiscono lo sviluppo locale con Docker
- Fai il fork e clona questo repository sulla tua macchina locale
Nota: Se vuoi modificare la configurazione di base dai un'occhiata a Dev Container Configuration
- Installa Docker Desktop e VS Code
- Installa l'estensione Dev Containers in VS Code
- Apri la cartella del repository in VS Code
- Quando richiesto, clicca su Reopen in Container (o usa
Ctrl+Shift+P→ "Dev Containers: Reopen in Container") - Attendi che il container sia costruito e avviato
- Procedi a Passo 2: Provisiona Azure AI Foundry
Opzione C: Usa la Tua Installazione Locale Esistente
Per sviluppatori con ambienti Java già configurati
Prerequisiti:
- Java 21+
- Maven 3.9+
- VS Code o il tuo IDE preferito
Passaggi:
- Clona questo repository sulla tua macchina locale
- Apri il progetto nel tuo IDE
- Procedi a Passo 2: Provisiona Azure AI Foundry
Consiglio Pro: Se hai un computer con specifiche basse ma vuoi usare VS Code localmente, usa GitHub Codespaces! Puoi connettere la tua istanza locale di VS Code a un Codespace ospitato nel cloud per avere il meglio di entrambi i mondi.
Passo 2: Provisiona Azure AI Foundry
Distribuisci i modelli AI del corso su Azure AI Foundry come codice. Dalla root del repository:
cd 02-SetupDevEnvironment
azd auth login
az login
azd up
azd ti chiede un nome per l'ambiente e una regione, provisiona un account Azure AI Foundry con le distribuzioni gpt-4o-mini e text-embedding-3-small, e scrive l'endpoint nel file .env dell'esempio — tutto con autenticazione senza chiavi (nessuna chiave API).
Guida completa: Consulta la Guida alla Configurazione di Azure AI Foundry per prerequisiti, un'alternativa manuale (portale), indicazioni sulla regione, e note su costi/pulizia.
Passo 3: Testa la Tua Configurazione
Una volta che i modelli Foundry sono provisionati, testa la connessione con l'app di esempio in 02-SetupDevEnvironment/examples/basic-chat-azure.
- Apri il terminale nel tuo ambiente di sviluppo.
- Naviga nella cartella dell'esempio:
cd 02-SetupDevEnvironment/examples/basic-chat-azure - Assicurati di aver effettuato l'accesso (l'autenticazione senza chiavi richiede un token):
az loginSe hai eseguito
azd up, il file.envcon il tuo endpoint è già stato scritto per te. - Esegui l'applicazione:
mvn clean spring-boot:run
Dovresti vedere una risposta dal modello gpt-4o-mini.
Comprendere il Codice di Esempio
L'esempio sotto examples/basic-chat-azure è un'app Spring Boot che usa Spring AI per connettersi ad Azure AI Foundry con autenticazione senza chiavi.
Cosa fa questo codice:
- Si connette ad Azure AI Foundry usando il tuo accesso Azure (Microsoft Entra ID) — nessuna chiave API
- Invia un prompt al modello
gpt-4o-mini - Riceve e mostra la risposta dell'AI
- Verifica che la configurazione funzioni correttamente
Dipendenza Chiave (in pom.xml):
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-model-azure-openai</artifactId>
</dependency>
Configurazione (application.yml):
spring:
ai:
azure:
openai:
# Endpoint only - no api-key. Spring AI uses DefaultAzureCredential (keyless).
endpoint: ${AZURE_OPENAI_ENDPOINT}
chat:
options:
deployment-name: ${AZURE_OPENAI_DEPLOYMENT:gpt-4o-mini}
Sommario
Perfetto! Ora hai tutto configurato:
- Modelli Azure AI Foundry provisionati come codice con Bicep +
azd - Ambiente di sviluppo Java attivo (Codespaces, dev container, o locale)
- Collegato a Azure AI Foundry con autenticazione senza chiavi (Microsoft Entra ID) — nessuna chiave API
- Testato tutto con un semplice esempio che comunica col modello
Prossimi Passi
Capitolo 3: Tecniche Core di Generative AI
Risoluzione dei Problemi
Hai problemi? Ecco i problemi comuni e le soluzioni:
-
Autenticazione fallita (401/403)?
- Esegui
az login— l'autenticazione è senza chiavi, devi essere loggato - Verifica che il tuo account abbia il ruolo Cognitive Services OpenAI User sulla risorsa
- Se hai appena provisionato, aspetta un minuto che l'assegnazione ruolo si propaghi
- Esegui
-
Maven non trovato?
- Se usi dev container/Codespaces, Maven dovrebbe essere già installato
- Per configurazione locale, assicurati di avere Java 21+ e Maven 3.9+ installati
- Prova
mvn --versionper verificare
-
azdnon trovato o provisioning fallisce?- Installa l'Azure Developer CLI ed esegui
azd auth login - Scegli una regione dove
gpt-4o-miniè disponibile (es.eastus2) - Consulta la guida alla configurazione Azure AI Foundry per dettagli
- Installa l'Azure Developer CLI ed esegui
-
Il dev container non parte?
- Verifica che Docker Desktop sia in esecuzione (per sviluppo locale)
- Prova a ricostruire il container:
Ctrl+Shift+P→ "Dev Containers: Rebuild Container"
-
Errori di compilazione dell'applicazione?
- Assicurati di essere nella directory corretta:
02-SetupDevEnvironment/examples/basic-chat-azure - Prova a pulire e ricompilare:
mvn clean compile
- Assicurati di essere nella directory corretta:
Hai bisogno di aiuto?: Hai ancora problemi? Apri un issue nel repository e ti aiuteremo.
Disclaimer: Questo documento è stato tradotto utilizzando il servizio di traduzione AI Co-op Translator. Sebbene ci impegniamo per garantire la precisione, si prega di notare che le traduzioni automatizzate possono contenere errori o imprecisioni. Il documento originale nella sua lingua nativa deve essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda una traduzione professionale effettuata da un essere umano. Non siamo responsabili per eventuali malintesi o interpretazioni errate derivanti dall’uso di questa traduzione.