Infrastruktura agenta hostowanego z użyciem Azure Developer CLI

Ważna

Elementy oznaczone jako (wersja zapoznawcza) w tym artykule są aktualnie dostępne w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie zalecamy korzystania z niej w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą nie być obsługiwane lub mogą mieć ograniczone możliwości. Aby uzyskać więcej informacji, zobacz Warunki dodatkowe korzystania z testowych wersji Microsoft Azure.

Po uruchomieniu azd ai agent init --infra lub azd ai agent init --infra=bicep interfejs wiersza polecenia Azure Developer CLI (azd) tworzy w projekcie katalog infra/, który zawiera szablony Bicep. Te szablony definiują zasoby Azure wymagane przez hostowanego agenta z usług zadeklarowanych w programie azure.yaml. Uruchomienie polecenia azd provision umożliwia wdrożenie szablonów w celu utworzenia infrastruktury. W tym artykule wyjaśniono, co zapewniają te szablony i jak je dostosować.

Co jest udostępniane

Domyślnie azd ai agent init nie tworzy plików infrastruktury jako kodu. Użyj --infra lub --infra=bicep, aby dodać infrastrukturę w Bicep. Użyj --infra=terraform, aby dodać infrastrukturę Terraform i ustawić infra.provider: terraform.

Gdy dodajesz infrastrukturę w języku Bicep, szablony są oparte na repozytorium azd-ai-starter-basic i tworzą następujące zasoby platformy Azure:

Resource Purpose
Grupa zasobów Organizuje wszystkie zasoby. O nazwie rg-<agent-name>.
Konto usług sztucznej inteligencji Konto Microsoft Foundry.
Projekt odlewni Obsługuje funkcje agenta i SI.
Wdrożenia modelu Modele używane przez agenta, na przykład gpt-4.1-mini.
Azure Container Registry Przechowuje obrazy kontenerów agenta.
Application Insights Monitorowanie wydajności agenta i telemetria.
obszar roboczy usługi Log Analytics Scentralizowane gromadzenie logów.
Tożsamość zarządzana Tożsamość projektu przypisana przez system, która uwierzytelnia wzorzec tożsamości agenta w usłudze Microsoft Entra ID i ma przypisane role platformy.

Szablony tworzą więcej zasobów warunkowo na podstawie usług i zależności zadeklarowanych w elemencie azure.yaml:

  • Host funkcji — obsługuje wdrażanie agenta hostowanego w projekcie Foundry. Tworzone, gdy potrzebujesz niestandardowego przechowywania rozmów.
  • Ugruntowanie z Bing lub ugruntowanie z Bing Custom Search — dla narzędzia wyszukiwania w sieci Web.
  • Wyszukiwanie AI platformy Azure — do ugruntowania wyszukiwania.
  • Azure Storage — dla operacji na plikach.

struktura projektu

infra/
|-- main.bicep                 # Main deployment template (subscription-scoped)
|-- main.parameters.json       # Parameter bindings to azd environment variables
|-- abbreviations.json         # Naming convention abbreviations
\-- core/
    |-- ai/                    # Foundry account, project, and connections
    |-- host/                  # Container registry
    |-- monitor/               # Application Insights and Log Analytics
    |-- search/                # Azure AI Search (conditional)
    \-- storage/               # Azure Storage (conditional)

Przepływ parametrów

Plik main.parameters.json przypisuje zmienne środowiskowe azd do parametrów Bicep:

{
  "environmentName": { "value": "${AZURE_ENV_NAME}" },
  "location": { "value": "${AZURE_LOCATION}" },
  "aiFoundryResourceName": { "value": "${AZURE_AI_ACCOUNT_NAME}" },
  "aiProjectDeploymentsJson": { "value": "${AI_PROJECT_DEPLOYMENTS=[]}" }
}

Podczas azd provision, azd rozwiązuje te odwołania ${VAR} na podstawie środowiska (.azure/<env>/.env) i przekazuje je do wdrożenia Bicep. Dane wyjściowe wdrożenia, takie jak punkt końcowy projektu Foundry, nazwa wdrożenia modelu i punkt końcowy rejestru kontenerów, są ponownie zapisywane w środowisku do użycia przez polecenia azd deploy, azd ai agent run oraz polecenia zasobu azd ai.

Istniejące zasoby

Szablony Bicep obsługują łączenie się z istniejącymi zasobami Azure zamiast tworzyć nowe. Jest to przydatne, gdy twój zespół ma już udostępnioną infrastrukturę.

Istniejący zasób Zmienne środowiskowe do ustawienia
Konto usług sztucznej inteligencji AZURE_AI_ACCOUNT_NAME
Container Registry AZURE_CONTAINER_REGISTRY_RESOURCE_ID i AZURE_CONTAINER_REGISTRY_ENDPOINT
Application Insights APPLICATIONINSIGHTS_CONNECTION_STRING i APPLICATIONINSIGHTS_RESOURCE_ID

Ustaw te zmienne za pomocą azd env set przed uruchomieniem azd provision.

Dostosowywanie infrastruktury

Katalog infra/ jest standardową azd infrastrukturą, więc masz pełną kontrolę nad nim. Aby dodać lub zmienić zasoby:

  1. Edytuj infra/main.bicep lub dodaj nowe moduły w obszarze infra/core/.
  2. Dodaj nowe parametry do elementu main.parameters.json z ${VAR} powiązaniami.
  3. Ustaw odpowiednie azd zmienne środowiskowe za pomocą polecenia azd env set.
  4. Uruchom polecenie , azd provision aby zastosować zmiany.

Zmiany w plikach Bicep utrzymują się między wdrożeniami.

Ograniczenia regionów

Szablon main.bicep ogranicza location się do regionów, w których są obsługiwani hostowani agenci. Jeśli musisz wdrożyć w regionie, którego nie ma na liście dozwolonych, zaktualizuj dekorator @allowed w main.bicep.