Zum Inhalt

KI-Plattform: Auf der Plattform bauen

Diese Seite richtet sich an Workload-Teams, die ein Foundry project haben und eine Anwendung deployen wollen, die es nutzt. Die Beispiele stammen aus den Modul-READMEs und sind Referenz: Namen, Pfade und Modulquellen hängen von deinem Deployment-Code ab.

Was du vom Plattform-Team brauchst

Punkt Warum
Name deines Projects Die Lookup-Module finden das Project und seine Identity über diesen Namen.
Project-Endpoint Die URL, die deine Anwendung aufruft. Das Lookup-Modul baut sie als https://<account>.services.ai.azure.com/api/projects/<project>.
Mitgliedschaft in den Project-Gruppen Um im Project zu arbeiten, siehe Zugriff und RBAC.
Im Account verfügbare Modelle Modelle werden auf Plattformebene deployt, nicht in deinem Project.

Die Plattform und das Project finden

Zwei Data-only-Module liefern deinem Code die IDs und Endpoints, damit nichts fest einprogrammiert ist:

module "platform_data" {
  source = "<path to modules>/platform_data"
}

module "project_data" {
  source       = "<path to modules>/project_data"
  project_name = "<project>"
}
Modul Verwende es für
platform_data Resource group, Foundry account und Endpoints, Container Registry, Container Apps environment, Cosmos DB, AI Search, Storage, Key Vault, Log Analytics, spoke-VNet und Subnetze
project_data Project-ID, Name und Endpoint sowie die Project Identity (Client-ID, Principal-ID)

Die vollständige Liste der Outputs steht unter Plattform-Module.

Deiner Anwendung eine Identity geben

Erstelle mit dem Modul workload_identity eine User-assigned Managed Identity für die Anwendung und weise ihr nur die Rollen zu, die sie braucht:

module "workload_identity" {
  source = "<path to modules>/workload_identity"

  name                = "id-<workload>"
  location            = "<region>"
  resource_group_name = "<resource group>"

  role_assignments = [
    {
      scope                = module.platform_data.ai_search_id
      role_definition_name = "Search Index Data Contributor"
    }
  ]

  tags = {
    Environment = "<environment>"
    Workload    = "<workload>"
  }
}

Die Anwendung ausführen

Das Referenzdesign führt Anwendungen im gemeinsamen Container Apps environment aus und zieht Images aus der gemeinsamen Registry. Die Modul-READMEs zeigen die Container App, die den Project-Endpoint und die Client-ID der Identity als Umgebungsvariablen erhält:

Umgebungsvariable Wert
AZURE_AI_PROJECT_ENDPOINT module.project_data.project_endpoint
AZURE_CLIENT_ID module.workload_identity.client_id
AZURE_OPENAI_ENDPOINT module.platform_data.openai_endpoint
AZURE_AI_SEARCH_ENDPOINT module.platform_data.ai_search_endpoint

Die Container App verwendet die User-assigned Identity des Workloads (identity_ids = [module.workload_identity.id]), um sich am Foundry project anzumelden. Die Variablennamen sind die aus den README-Beispielen. Verwende die Namen, die dein SDK oder Framework erwartet.

Praktische Hinweise

  • Der Workload-Name wird in Ressourcennamen verwendet, halte ihn also kurz (maximal 8 Zeichen nach den Konventionen der Quelle).
  • Ein Workload kann mehr als ein Project nutzen: Rufe project_data einmal pro Project auf.
  • Der Foundry account hat keine Key-Authentifizierung. Wenn eine Client-Bibliothek nach einem Key fragt, verwende stattdessen die identitätsbasierte Anmeldung.
  • Der Netzwerkzugriff ist privat. Deine Anwendung muss in einem Netzwerk laufen, das die Private Endpoints erreichen kann, und die privaten DNS zones aus der Architektur müssen auflösen.