Pagrindinis pokalbis su Azure AI Foundry
July 2, 2026 · View on GitHub
Šis pavyzdys yra paprasta Spring Boot programa, kuri jungiasi prie Azure AI Foundry modelio naudodama autentifikaciją be rakto (Microsoft Entra ID) ir tikrina jūsų sąranką. Ji naudoja Spring AI ChatClient.
Turinys
- Prieš pradedant
- Greitas pradėjimas
- Kaip veikia autentifikacija
- Programos paleidimas
- Konfigūracijos nuoroda
- Klaidų šalinimas
- Kiti žingsniai
- Ištekliai
Prieš pradedant
Prieš paleisdami šį pavyzdį, įsitikinkite, kad turite:
- Azure AI Foundry išteklių su
gpt-4o-minidiegimu — įdiekite jį naudodamiazd uparba rankiniu būdu per Azure AI Foundry parengimo vadovą - Cognitive Services OpenAI User vaidmenį tame išteklyje (jis automatiškai priskiriamas per Bicep šablonus)
- Azure CLI (
az), prisijungus naudodamiaz login - Java 21+ ir Maven 3.9+
API raktas nereikalingas — autentifikacija vykdoma be rakto per Microsoft Entra ID.
Greitas pradėjimas
# 1. Pereikite prie projekto
cd 02-SetupDevEnvironment/examples/basic-chat-azure
# 2. Prisijunkite, kad be rakto autentifikavimas galėtų gauti žetoną
az login
# 3. Konfigūruokite galinį tašką
# - Jei vykdėte `azd up`, .env buvo parašytas už jus (praleiskite šį žingsnį).
# - Priešingu atveju nukopijuokite šabloną ir nustatykite AZURE_OPENAI_ENDPOINT:
cp .env.example .env
# 4. Paleiskite programą
mvn spring-boot:run
Kaip veikia autentifikacija
Šis pavyzdys autentifikuojasi su Microsoft Entra ID – API rakto nėra.
Kai nustatytas tik spring.ai.azure.openai.endpoint (ir nėra api-rakto), Spring AI sukuria Azure OpenAI klientą naudodama DefaultAzureCredential. Ši kredencialų tvarka automatiškai suranda tokeną iš jūsų vietinės az login sesijos arba iš valdomos tapatybės, kai veikia Azure aplinkoje – todėl tas pats kodas veikia abejose vietose be pakeitimų.
Programos paleidimas
Naudojant Maven
mvn spring-boot:run
Naudojant VS Code
- Atidarykite projektą VS Code
- Paspauskite
F5arba naudokite "Run and Debug" panelę - Pasirinkite "Spring Boot-BasicChatApplication" konfigūraciją
Pastaba: VS Code konfigūracija automatiškai įkelia jūsų
.envfailą
Laukiama išvestis
Starting Basic Chat with Azure OpenAI...
Environment variables loaded successfully
Connecting to Azure OpenAI...
Sending prompt: What is AI in a short sentence? Max 100 words.
AI Response:
================
AI, or Artificial Intelligence, is the simulation of human intelligence in machines programmed to think and learn like humans.
================
Success! Azure OpenAI connection is working correctly.
Konfigūracijos nuoroda
Aplinkos kintamieji
| Kintamasis | Aprašymas | Privalomas | Pavyzdys |
|---|---|---|---|
AZURE_OPENAI_ENDPOINT | Foundry (Azure OpenAI) galinio taško URL | Taip | https://my-resource.openai.azure.com/ |
AZURE_OPENAI_DEPLOYMENT | Pokalbio modelio diegimo pavadinimas | Ne | gpt-4o-mini (numatytasis) |
Nėra API rakto kintamojo – autentifikacija vykdoma be rakto (Microsoft Entra ID per
az login).
Spring konfigūracija
application.yml faile konfigūruojama:
- Endpoint:
${AZURE_OPENAI_ENDPOINT}– iš aplinkos kintamojo - Diegimas:
${AZURE_OPENAI_DEPLOYMENT:gpt-4o-mini}– iš aplinkos kintamojo su numatytuoju - Autentifikacija: be rakto – nėra nustatyto
api-key, todėl Spring AI naudojaDefaultAzureCredential - Temperatūra:
0.7– valdo kūrybiškumą (0.0 = deterministinis, 1.0 = kūrybingas) - Maks. žetonai:
500– maksimalus atsakymo ilgis
Klaidų šalinimas
Dažnos problemos
Klaida: 401 / "PermissionDenied" / tokeno klaidos
- Paleiskite
az login– autentifikacijai be rakto reikia aktyvaus prisijungimo tokenui gauti - Patikrinkite, ar jūsų paskyra turi Cognitive Services OpenAI User vaidmenį tame išteklyje
- Jei ką tik priskyrėte vaidmenį, palaukite minutę, kol jis pritaikys korekcijas
- Patvirtinkite, kad esate tinkamame nuomininke/subscription (komanda
az account show)
Klaida: "Endpoint nėra galiojantis" / ryšio klaidos
- Įsitikinkite, kad
AZURE_OPENAI_ENDPOINTyra pilnas pagrindinis URL (pvz.,https://your-resource.openai.azure.com/) - Patikrinkite, ar nėra problemų su galiniu brūkšniu (/)
- Patikrinkite, ar galinis taškas atitinka jūsų paruoštą išteklių (
azd env get-values)
Klaida: "Diegimo nerasta"
- Patikrinkite, ar
AZURE_OPENAI_DEPLOYMENTatitinka diegimo pavadinimą Azure aplinkoje - Įsitikinkite, kad modelis yra sėkmingai įdiegtas ir aktyvus
- Numatytoji diegimo pavadinimas yra
gpt-4o-mini
VS Code: Aplinkos kintamieji neįkelti
- Įsitikinkite, kad jūsų
.envfailas yra projekto šakniniame kataloge (lygyje supom.xml) - Pabandykite paleisti
mvn spring-boot:runVS Code integruotoje terminalo aplinkoje - Patikrinkite, ar VS Code Java plėtinys yra tinkamai įdiegtas
Derinimo režimas
Norėdami įjungti išsamesnį žurnalavimą, atkomentuokite šias eilutes application.yml faile:
logging:
level:
org.springframework.ai: DEBUG
com.azure: DEBUG
Kiti žingsniai
Sąranka baigta! Tęskite mokymosi kelią:
3 skyrius: Pagrindinės generatyvios AI technikos
Ištekliai
- Spring AI Azure OpenAI dokumentacija
- Autentifikacija be rakto su Microsoft Entra ID
- Azure AI Foundry portalas
- Azure AI Foundry dokumentacija
Atsakomybės apribojimas: Šis dokumentas buvo išverstas naudojant dirbtinio intelekto vertimo paslaugą Co-op Translator. Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba laikomas autoritetingu šaltiniu. Svarbiai informacijai rekomenduojama naudoti profesionalų žmogiškąjį vertimą. Mes neatsakome už jokius nesusipratimus ar neteisingą interpretaciją, kilusią naudojantis šiuo vertimu.