Freigeben über


Bereitstellen des Azure OpenAI-Diensts mit Bicep

Von Bedeutung

Seit Januar 2026 wird das AI-Shell-Projekt nicht mehr aktiv gewartet. Dieses Projekt sollte aus ingenieurtechnischer Sicht als archiviert betrachtet werden.

In AIShell kann der openai-gpt--Agent mit einer öffentlichen OpenAI-Instanz oder einer Azure OpenAI-Bereitstellung verwendet werden. Wir empfehlen die Verwendung des Azure OpenAI-Diensts, da er über zusätzliche Features verfügt und eine bessere Verwaltbarkeit bietet. Dieser Artikel enthält die schrittweisen Anleitungen zum Bereitstellen und Instanz des Azure OpenAI-Diensts mit Bicep.

Um AIShell mit dem Azure OpenAI-Dienst zu verwenden, benötigen Sie die folgenden Azure-Ressourcen:

  • Ein Azure OpenAI-Dienstkonto – eine Ressource, die mehrere verschiedene Modellbereitstellungen enthält.
  • Eine Azure OpenAI-Bereitstellung – eine Modellbereitstellung, die mithilfe einer API aufgerufen werden kann, um Antworten zu generieren.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie über die folgenden Voraussetzungen verfügen:

  • Ein aktives Azure-Abonnement
  • Azure CLI oder Azure PowerShell lokal oder auf Azure Cloud Shell installiert
  • Richtige Berechtigungen zum Erstellen von Ressourcen in Ihrem Azure-Abonnement

Schritte zur Bereitstellung

Diese Schritte führen Sie durch die folgenden Aufgaben:

  1. Herunterladen und Ändern der Bicep-Datei
  2. Bereitstellen des Azure OpenAI-Diensts
  3. Konfigurieren des Agents für die Verwendung der Bereitstellung

1. Herunterladen und Ändern der Bicep-Datei

Laden Sie die datei main.bicep aus dem AIShell-Repository herunter.

Sie müssen die Parameter oben in der ./main.bicep Datei ändern, um Ihre eigenen Werte einzuschließen. Ersetzen Sie die Platzhalter in winkeln Klammern (< >) durch Ihre eigenen Werte.

@description('This is the name of your AI Service Account')
param aiserviceaccountname string = '<Insert own account name>'

@description('Custom domain name for the endpoint')
param customDomainName string = '<Insert own unique domain name>'

@description('Name of the deployment')
param modeldeploymentname string = '<Insert own deployment name>'

@description('The model being deployed')
param model string = 'gpt-4'

@description('Version of the model being deployed')
param modelversion string = 'turbo-2024-04-09'

@description('Capacity for specific model used')
param capacity int = 80

@description('Location for all resources.')
param location string = resourceGroup().location

@allowed([
  'S0'
])
param sku string = 'S0'

Für diese Bereitstellung verwendet die Bicep-Datei die folgenden Standardwerte:

  • Der Speicherort des Azure OpenAI-Kontos wird auf den Speicherort der Ressourcengruppe festgelegt.
  • Das KI-Modell ist gpt-4 Version turbo-2024-04-09

Sie können diese Einstellungen für Ihre speziellen Anforderungen ändern. Weitere Informationen zu verfügbaren Modellen finden Sie unter Azure OpenAI Service-Modelle. Möglicherweise müssen Sie die Kapazität der Bereitstellung basierend auf dem verwendeten Modell ändern. Weitere Informationen zum Festlegen der Kapazität finden Sie unter Azure OpenAI-Dienstkontingente und -grenzwerte.

2. Bereitstellen des Azure OpenAI-Diensts

Nachdem Sie die Bicep-Dateiparameter geändert haben, können Sie Ihre eigene Azure OpenAI-Instanz bereitstellen. Sie können Azure CLI oder Azure PowerShell verwenden, um die Bicep-Dateien bereitzustellen.

Bereitstellen mit Azure CLI

Verwenden Sie die folgenden Azure CLI-Befehle, um den Azure OpenAI-Dienst bereitzustellen. Die folgenden Befehle sollen in einer Bash-Sitzung ausgeführt werden. Ersetzen Sie die Platzhalter in winkeln Klammern (< >) durch Ihre eigenen Werte.

Sie können die Befehle lokal oder in Azure Cloud Shell ausführen. Wenn Sie diese lokal ausführen, müssen Sie sich mit az login bei Ihrem Azure-Konto anmelden und das Abonnement mit az account set --subscription <subscription name>festlegen.

az deployment group create \
    --resource-group '<resource group name>' \
    --template-file ./main.bicep

# Get the endpoint and key of the deployment
az cognitiveservices account show \
    --name '<account name>'
    --resource-group '<resource group name>' | jq -r .properties.endpoint

az cognitiveservices account keys list \
    --name '<account name>' \
    --resource-group  '<resource group name>' | jq -r .key1

Bereitstellen mithilfe von Azure PowerShell

Verwenden Sie die folgenden Azure PowerShell-Befehle, um den Azure OpenAI-Dienst bereitzustellen. Ersetzen Sie die Platzhalter in winkeln Klammern (< >) durch Ihre eigenen Werte.

Sie können die Befehle lokal oder in Azure Cloud Shell ausführen. Wenn Sie diese lokal ausführen, müssen Sie sich mit Connect-AzAccount bei Ihrem Azure-Konto anmelden und das Abonnement mit Set-AzContext -SubscriptionId <subscription id>festlegen.

$AzResourceGroupDeploymentSplat = @{
    ResourceGroupName = '<resource group name>'
    TemplateFile = './main.bicep'
}
New-AzResourceGroupDeployment @AzResourceGroupDeploymentSplat

# Get the endpoint and key of the deployment
$AzCognitiveServicesAccountSplat = @{
    ResourceGroupName = '<resource group name>'
    Name = '<account name>'
}
Get-AzCognitiveServicesAccount @AzCognitiveServicesAccountSplat  |
    Select-Object -Property Endpoint

Get-AzCognitiveServicesAccountKey @AzCognitiveServicesAccountSplat |
    Select-Object -Property Key1

3. Konfigurieren des Agents für die Verwendung der Bereitstellung

Nachdem Sie nun über den Endpunkt und den Schlüssel für die Bereitstellung verfügen, müssen Sie den openai-gpt Agent konfigurieren. Die Konfiguration wird in einer JSON-Datei gespeichert.

Führen Sie die folgenden Schritte aus, um die JSON-Konfiguration zu bearbeiten.

  1. Starten Sie AIShell, und wählen Sie den openai-gpt Agent aus der Liste der Agents aus.

  2. Führen Sie an der AIShell-Eingabeaufforderung den befehl /agent config aus. Mit diesem Befehl wird die JSON-Konfigurationsdatei geöffnet.

  3. Ersetzen Sie die Platzhalterwerte in winkeln Klammern (< >) in der JSON-Datei durch den Endpunkt und die Schlüsselwerte, die Sie aus der Azure OpenAI-Bereitstellung abgerufen haben. Der folgende JSON-Code zeigt ein Beispiel für die Konfigurationseinstellungen, die Sie aktualisieren möchten.

    {
      // Declare GPT instances.
      "GPTs": [
          {
            "Name": "ps-az-gpt4",
            "Description": "<insert description here>",
            "Endpoint": "<insert endpoint here>",
            "Deployment": "<insert deployment name here>",
            "ModelName": "gpt-4",
            "Key": "<insert key here>",
            "SystemPrompt": "1. You are a helpful and friendly assistant with expertise in PowerShell scripting and command line.\n2. Assume user is using the operating system `osx` unless otherwise specified.\n3. Use the `code block` syntax in markdown to encapsulate any part in responses that is code, YAML, JSON or XML, but not table.\n4. When encapsulating command line code, use '```powershell' if it's PowerShell command; use '```sh' if it's non-PowerShell CLI command.\n5. When generating CLI commands, never ever break a command into multiple lines. Instead, always list all parameters and arguments of the command on the same line.\n6. Please keep the response concise but to the point. Do not overexplain."
          }
      ],
      // Specify the default GPT instance to use for user query.
      // For example: "ps-az-gpt4"
      "Active": "ps-az-gpt4"
    }
    
  4. Speichern Sie die JSON-Datei, und schließen Sie den Editor.

Schlussfolgerung

Sie haben den Azure OpenAI-Dienst erfolgreich bereitgestellt und Ihren openai-gpt Agent für die Kommunikation mit Ihrer Bereitstellung konfiguriert. Weitere Informationen zu Modellschulungen, Filtern und Einstellungen für Azure OpenAI-Bereitstellungen finden Sie in Dokumentation zum Azure OpenAI-Dienst.

Anmerkung

Wir danken Sebastian Jensen für seine Anleitung zur Bereitstellung des Azure OpenAI-Diensts mit Bicep-Dateien. Dieser Artikel wurde von seinem Blogbeitrag auf Medium inspiriert und mit Erlaubnis verwendet. Nehmen Sie sich einen Moment Zeit, um seinen ursprünglichen Beitrag zu lesen: Bereitstellen eines Azure OpenAI-Diensts mit LLM-Bereitstellungen über Bicep.