Основни разговор са Azure AI Foundry - пример од почетка до краја
July 2, 2026 · View on GitHub
Овај пример је једноставна Spring Boot апликација која се повезује са Azure AI Foundry моделом користећи аутоентификацију без кључа (Microsoft Entra ID) и тестира вашу конфигурацију. Користи Spring AI-јев ChatClient.
Садржај
- Предуслови
- Брзи почетак
- Како функционише аутентификација
- Покретање апликације
- Референца конфигурације
- Решавање проблема
- Следећи кораци
- Ресурси
Предуслови
Пре покретања овог примера, обезбедите да имате:
- Azure AI Foundry ресурс са
gpt-4o-miniраспоређивањем — поставите га помоћуazd upили ручно преко Azure AI Foundry упутства за покретање - Ролa Cognitive Services OpenAI User на том ресурсу (Bicep шаблони то аутоматски додељују)
- Azure CLI (
az), пријављен корисником прекоaz login - Јава 21+ и Maven 3.9+
Није потребан API кључ — аутентификација је без кључа преко Microsoft Entra ID-а.
Брзи почетак
# 1. Идите до пројекта
cd 02-SetupDevEnvironment/examples/basic-chat-azure
# 2. Пријавите се да би безкључна аутентикација добила токен
az login
# 3. Конфигуришите крајњу тачку
# - Ако сте покренули `azd up`, .env је написан за вас (прескочите ово).
# - У супротном копирајте шаблон и подесите AZURE_OPENAI_ENDPOINT:
cp .env.example .env
# 4. Покрените апликацију
mvn spring-boot:run
Како функционише аутентификација
Овај пример се аутентификује са Microsoft Entra ID — нема API кључ.
Када је постављен само spring.ai.azure.openai.endpoint (без api-key), Spring AI гради Azure OpenAI клијента са DefaultAzureCredential. Тај креденцијал аутоматски проналази токен из ваше локалне az login сесије или из managed identity када се извршава у Azure-у — тако да исти код ради на оба места без промена.
Покретање апликације
Коришћење Maven-а
mvn spring-boot:run
Коришћење VS Code-а
- Отворите пројекат у VS Code-у
- Притисните
F5или користите панел "Run and Debug" - Изаберите конфигурацију "Spring Boot-BasicChatApplication"
Напомена: VS Code конфигурација аутоматски учитава ваш .env фајл
Очекивани резултат
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.
Референца конфигурације
Променљиве окружења
| Променљива | Опис | Обавезна | Пример |
|---|---|---|---|
AZURE_OPENAI_ENDPOINT | Foundry (Azure OpenAI) URL крајње тачке | Да | https://my-resource.openai.azure.com/ |
AZURE_OPENAI_DEPLOYMENT | Назив распоређеног chat модела | Не | gpt-4o-mini (подразумевано) |
Не постоји промењива API кључа — аутентификација је без кључа (Microsoft Entra ID преко
az login).
Spring конфигурација
Фајл application.yml конфигурише:
- Endpoint:
${AZURE_OPENAI_ENDPOINT}- Из променљиве окружења - Deployment:
${AZURE_OPENAI_DEPLOYMENT:gpt-4o-mini}- Из променљиве окружења са резервном вредношћу - Auth: без кључа — није постављен
api-key, тако да Spring AI користиDefaultAzureCredential - Температура:
0.7- Контролише креативност (0.0 = детерминистички, 1.0 = креативан) - Макс токена:
500- Максимална дужина одговора
Решавање проблема
Чести проблеми
Грешка: 401 / "PermissionDenied" / проблеми са токеном
- Покрените
az login— аутентификација без кључа захтева активну пријаву за добијање токена - Проверите да ваш налог има ролу Cognitive Services OpenAI User на ресурсу
- Ако сте управо додели ролу, сачекајте минуту да се промена примени
- Потврдите да сте у исправном tenant-у/претплати (
az account show)
Грешка: "The endpoint is not valid" / проблеми са везом
- Проверите да је
AZURE_OPENAI_ENDPOINTпуни базни URL (нпр.https://your-resource.openai.azure.com/) - Проверите доследност завршног слеша
- Потврдите да крајња тачка одговара вашем распоређеном ресурсу (
azd env get-values)
Грешка: "The deployment was not found"
- Проверите да
AZURE_OPENAI_DEPLOYMENTодговара називу распоређеног модела у Azure-у - Потврдите да је модел успешно распоређен и активан
- Подразумевани назив распоређивања је
gpt-4o-mini
VS Code: Променљиве окружења се не учитавају
- Проверите да је ваш
.envфајл у коренском директоријуму пројекта (на истом нивоу каоpom.xml) - Покушајте да покренете
mvn spring-boot:runу уграђеном терминалу VS Code-а - Проверите да је Java додатак у VS Code-у правилно инсталиран
Режим за отклањање грешака
Да бисте омогућили детаљније логовање, уклоните коментаре са ових линија у application.yml:
logging:
level:
org.springframework.ai: DEBUG
com.azure: DEBUG
Следећи кораци
Постављање завршено! Наставите са учењем:
Поглавље 3: Основне технике генеративне вештачке интелигенције
Ресурси
- Spring AI Azure OpenAI документација
- Аутентификација без кључа помоћу Microsoft Entra ID
- Azure AI Foundry портал
- Azure AI Foundry документација
Изјава о одрицању одговорности: Овај документ је преведен коришћењем услуге за аутоматски превод Co-op Translator. Иако тежимо тачности, имајте у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитативним извором. За критичне информације препоручује се професионални људски превод. Нисмо одговорни за било каква неспоразума или погрешна тумачења која произилазе из коришћења овог превода.