Freigeben über


Schnellstart: Erstellen eines neuen Agents (Vorschau)

Mit dem Azure KI-Agent-Dienst können Sie KI-Agents erstellen, die durch benutzerdefinierte Anweisungen auf Ihre Anforderungen zugeschnitten sind und durch fortschrittliche Tools wie Code-Interpreter und benutzerdefinierte Funktionen ergänzt werden.

Voraussetzungen

Grundlegende Unterstützung für das Agent-Setup

Bevor Sie beginnen, müssen Sie bestimmen, ob Sie ein grundlegendes Agent-Setup oder ein Standard-Agent-Setup durchführen möchten. Azure AI Foundry unterstützt nur das grundlegende Agent-Setup.

Basis-Setup: Agents verwenden mehrinstanzenfähige Such- und Speicherressourcen, die vollständig von Microsoft verwaltet werden. Sie haben keine Kontrolle über diese zugrunde liegenden Azure-Ressourcen und können diese nicht anzeigen. Ein grundlegendes Setup kann über das Azure AI Foundry-Portal oder mithilfe einer automatisierten Bicep-Vorlage erstellt werden.

Standard-Setup: Agents verwenden kundeneigene Such- und Speicherressourcen für Einzelinstanzen. Mit diesem Setup haben Sie die volle Kontrolle über diese Ressourcen, aber es fallen Kosten basierend auf Ihrer Nutzung an. Ein Standardsetup kann nur mithilfe einer automatisierten Bicep-Vorlage durchgeführt werden.

Wichtig

Das Azure AI Foundry-Portal unterstützt derzeit nur das grundlegende Setup. Wenn Sie ein Standard-Agent-Setup durchführen möchten, verwenden Sie die anderen Registerkarten oben im Artikel, um mehr über die Standardkonfiguration des Agents zu erfahren.

Erstellen eines Hubs und eines Projekts im Azure AI Foundry-Portal

Um einen neuen Hub und ein neues Projekt erstellen zu können, benötigen Sie entweder die Rolle „Besitzer“ oder „Mitwirkender“ für die Ressourcengruppe oder einen vorhandenen Hub. Wenn Sie aufgrund der Berechtigungen keinen Hub erstellen können, wenden Sie sich an Ihren Administrator bzw. Ihre Administratorin.

Um ein Projekt in Azure KI Foundry zu erstellen, führen Sie diese Schritte aus:

  1. Wechseln Sie zu Azure KI Foundry. Wählen Sie in einem Projekt oben links auf der Seite Azure KI Foundry aus, um zur Startseite zu wechseln.

  2. Wählen Sie + Projekt erstellen aus.

  3. Geben Sie einen Namen für das Projekt ein.

  4. Wenn Sie über einen Hub verfügen, ist der zuletzt verwendete Hub ausgewählt.

  5. Wenn Sie Zugriff auf mehrere Hubs haben, können Sie in der Dropdownliste einen anderen Hub auswählen.

  6. Wenn Sie einen neuen Hub erstellen möchten, wählen Sie Neuen Hub erstellen aus, und geben Sie einen Namen an. Wenn Sie die Standardwerte anpassen möchten, lesen Sie die Dokumentation zu Azure AI Foundry.

    Screenshot der Projektdetailseite im Dialogfeld „Projekt erstellen“.

  7. Klicken Sie auf Erstellen.

Bereitstellen eines Modells

  1. Melden Sie sich bei Azure KI Foundry an.

  2. Wechseln Sie zu Ihrem Projekt oder erstellen Sie ein neues Projekt im Azure KI Foundry-Portal.

  3. Wählen Sie in Ihrer Projektübersicht unter Erstellen und anpassen die Option Agents aus.

  4. Wählen Sie Ihre Azure OpenAI-Ressource aus.

    Screenshot des anfänglichen Agents-Bildschirms.

  5. Wählen Sie eine Modellimplementierung für den zu verwendenden Agent aus. Wenn Sie noch keines haben, wird ein Bildschirm zum Bereitstellen eines neuen Modells geöffnet. Andernfalls können Sie Modell bereitstellen auswählen.

    Screenshot des Bildschirms zur Modellauswahl

    Screenshot der verfügbaren Modelle

Verwenden des Agent-Playgrounds

Mit dem Agent-Playground können Sie Agents erkunden und Prototypen erstellen und testen, ohne Code ausführen zu müssen. Auf dieser Seite können Sie neue Ideen ganz einfach schrittweise erkunden und mit ihnen experimentieren.

  1. Wählen Sie auf dem Bildschirm Agents erstellen und debuggen Ihren Agent aus, oder erstellen Sie mit Neuer Agent einen neuen Agent. Im Bereich Setup auf der rechten Seite können Sie seine Parameter und Tools ändern.

    Sie können Ihrem Agent optional einen anderen Namen als den automatisch generierten Namen geben und Anweisungen hinzufügen, um seine Leistung zu verbessern. Geben Sie Ihrem Agent klare Anweisungen dazu, was zu tun ist und wie sie zu tun ist. Fügen Sie bestimmte Aufgaben, deren Reihenfolge und spezielle Anweisungen wie Ton oder Reaktionsstil ein.

    Screenshot des Bildschirms „Agents erstellen und debuggen“

    Tipp

    Ihr Agent kann auf mehrere Tools wie Code-Interpreter zugreifen, die seine Funktionen erweitern, z. B. um die Möglichkeit, das Web mit Bing zu durchsuchen, Code auszuführen u. v. m. Scrollen Sie im Bereich Setup nach unten zu Wissen und Aktion, und wählen Sie Hinzufügen aus, um die verfügbaren Tools anzuzeigen. Screenshot der Auswahlmöglichkeiten für Agents-Tools

Siehe auch

Sehen Sie sich die Modelle an, die Sie mit Agents verwenden können.

| Referenzdokumentation | Beispiele | Quellcode der Bibliothek | Paket (NuGet) |

Voraussetzungen

Einrichten Ihres Azure KI-Hubs und Agent-Projekts

Im folgenden Abschnitt wird gezeigt, wie Sie die erforderlichen Ressourcen für die ersten Schritte mit dem Azure KI-Agent-Dienst einrichten:

  1. Erstellen eines Azure KI-Hubs zum Einrichten Ihrer App-Umgebung und Azure-Ressourcen.

  2. Durch das Erstellen eines Azure KI-Projekts unter Ihrem Hub wird ein Endpunkt zum Aufrufen durch Ihre App erstellt. Außerdem werden die App-Dienste für den Zugriff auf Ressourcen in Ihrem Mandanten eingerichtet.

  3. Verbinden einer Azure OpenAI-Ressource oder einer Azure KI Services-Ressource

Auswählen des Basic- oder Standard-Agent-Setups

Basic-Setup: Agents verwenden mehrinstanzenfähige Such- und Speicherressourcen, die vollständig von Microsoft verwaltet werden. Sie haben keine Sichtbarkeit oder Kontrolle über diese zugrunde liegenden Azure-Ressourcen.

Standardsetup: Agents verwenden kundeneigene Such- und Speicherressourcen mit einem Mandanten. Mit diesem Setup haben Sie die volle Kontrolle über diese Ressourcen, aber es fallen Kosten basierend auf Ihrer Nutzung an.

Hinweis

Sie können die folgenden automatisierten Bicep-Vorlagen verwenden, um entweder einen Standard-Agent oder einen grundlegenden Agent zu erstellen. Einen grundlegenden Agent können Sie auch über das Azure AI Foundry-Portal erstellen. Azure AI Foundry unterstützt derzeit nicht das Standard-Agent-Setup.

Beschreibung und automatische Bereitstellung Diagramm (zum Zoomen klicken)
Stellen Sie ein grundlegendes Agent-Setup bereit, das die verwaltete Identität für die Authentifizierung verwendet. Ressourcen für den KI-Hub, das KI-Projekt, das Speicherkonto und für KI-Dienste werden für Sie erstellt.

Das KI Services-Konto ist mit Ihrem Projekt und Hub verbunden, und es wird ein gpt-4o-mini-Modell in der Region „USA, Osten“ bereitgestellt. Standardmäßig wird ein von Microsoft verwalteter Schlüsseltresor verwendet.

Bereitstellung in Azure
Ein Architekturdiagramm für das Basic-Setup des Agents.
Stellen Sie ein Agent-Standardsetup bereit, das die verwaltete Identität für die Authentifizierung verwendet.

Ressourcen für den KI-Hub, das KI-Projekt, den Schlüsseltresor, das Speicherkonto, KI-Dienste und KI-Suche werden für Sie erstellt.

Die KI-Dienste, die KI-Suche, der Schlüsseltresor und das Speicherkonto sind mit Ihrem Projekt und Ihrem Hub verbunden. Ein gpt-4o-mini-Modell wird in der Region „USA, Osten“ bereitgestellt.

Bereitstellung in Azure
Ein Architekturdiagramm für das Standard-Setup des Agents.

[Optional] Modellauswahl in der Vorlage für die automatische Bereitstellung

Sie können das vom Agent verwendete Modell anpassen, indem Sie die Modellparameter in der Vorlage für die automatische Bereitstellung bearbeiten. Um ein anderes Modell bereitzustellen, müssen Sie mindestens die Parameter modelName und modelVersion aktualisieren.

Standardmäßig ist die Bereitstellungsvorlage mit den folgenden Werten konfiguriert:

Modellparameter Standardwert
modelName gpt-4o-mini
modelFormat OpenAI (für Azure OpenAI)
modelVersion 2024-07-18
modelSkuName GlobalStandard
modelLocation eastus

Wichtig

Ändern Sie den Parameter „modelFormat“ nicht.

Die Vorlagen unterstützen nur die Bereitstellung von Azure OpenAI-Modellen. Informationen zu den unterstützten Azure OpenAI-Modellen finden Sie in der Dokumentation zur Modellunterstützung für den Azure KI-Agent-Dienst.

[Optional] Verwenden Ihrer eigenen Ressourcen während der Agenteinrichtung

Hinweis

Wenn Sie eine vorhandene Ressource von KI Services oder Azure OpenAI verwenden, wird kein Modell bereitgestellt. Sie können ein Modell nach Abschluss des Agent-Setups in der Ressource bereitstellen.

Verwenden Sie eine vorhandene Ressource von KI Services, Azure OpenAI, KI Suche und/oder Azure Blob Storage, indem Sie die vollständige ARM-Ressourcen-ID in der Parameterdatei angeben:

  • aiServiceAccountResourceId
  • aiSearchServiceResourceId
  • aiStorageAccountResourceId

Wenn Sie eine vorhandene Azure OpenAI-Ressource verwenden möchten, müssen Sie die Parameter aiServiceAccountResourceId und aiServiceKind in der Parameterdatei aktualisieren. Der aiServiceKind-Parameter sollte auf AzureOpenAI festgelegt werden.

Weitere Informationen finden Sie unter Verwenden Ihrer eigenen Ressourcen.

Konfigurieren und Ausführen eines Agents

Komponente Beschreibung
Agent Benutzerdefinierte KI, die KI-Modelle in Verbindung mit Tools verwendet.
Tool Tools helfen, die Fähigkeit eines Agenten zu erweitern, während der Unterhaltung zuverlässig und präzise zu reagieren. Dazu gehören z. B. das Herstellen einer Verbindung mit benutzerdefinierten Wissensbasen, um das Modell zu grounden, oder das Aktivieren der Websuche, um aktuelle Informationen bereitzustellen.
Thread Eine Unterhaltungssitzung zwischen einem Agent und einem Benutzer. Threads speichern Nachrichten und behandeln automatisch das Abschneiden, um Inhalte in den Kontext eines Modells einzupassen.
Nachricht Eine Nachricht, die von einem Agent oder von einem Benutzer erstellt wurde. Nachrichten können Text, Bilder und andere Dateien enthalten. Nachrichten werden als Liste im Thread gespeichert.
Ausführung Aktivierung eines Agents, der basierend auf dem Inhalt des Threads mit der Ausführung beginnt. Der Agent verwendet seine Konfiguration und die Nachrichten des Threads, um Aufgaben durch Aufrufen von Modellen und Tools auszuführen. Als Teil einer Ausführung fügt der Agent Nachrichten an den Thread an.
Ausführungsschritt Eine detaillierte Liste der Schritte, die der Agent als Teil einer Ausführung ausgeführt hat. Ein Agent kann während seiner Ausführung Tools aufrufen oder Nachrichten erstellen. Wenn Sie die Ausführungsschritte untersuchen, können Sie verstehen, wie der Agent zu seinen Ergebnissen gelangt.

Installieren Sie das folgende .NET-Paket in Ihrem Projekt. Wenn Sie z. B. die .NET-CLI verwenden, führen Sie den folgenden Befehl aus.

dotnet add package Azure.AI.Projects
dotnet add package Azure.Identity

Verwenden Sie als Nächstes zum Authentifizieren Ihrer API-Anforderungen und zum Ausführen des Programms den Befehl az login, um sich bei Ihrem Azure-Abonnement anzumelden.

az login

Verwenden Sie den folgenden Code, um einen Agent zu erstellen und auszuführen. Zum Ausführen dieses Codes müssen Sie eine Verbindungszeichenfolge mithilfe von Informationen aus Ihrem Projekt erstellen. Das Format dieser Zeichenfolge lautet:

<HostName>;<AzureSubscriptionId>;<ResourceGroup>;<ProjectName>

Tipp

Sie finden Ihre Verbindungszeichenfolge auch in der Übersicht für Ihr Projekt im Azure KI Foundry-Portal unter Projektdetails>Projektverbindungszeichenfolge. Screenshot der Verbindungszeichenfolge im Azure KI Foundry-Portal.

HostName finden Sie, indem Sie zu Ihrer discovery_url navigieren und das führende https:// und nachfolgende /discovery entfernen. Führen Sie den folgenden CLI-Befehl aus, um discovery_url zu finden:

az ml workspace show -n {project_name} --resource-group {resource_group_name} --query discovery_url

Die Verbindungszeichenfolge könnte beispielsweise wie folgt aussehen:

eastus.api.azureml.ms;12345678-abcd-1234-9fc6-62780b3d3e05;my-resource-group;my-project-name

Legen Sie diese Verbindungszeichenfolge als Umgebungsvariable namens PROJECT_CONNECTION_STRING fest.

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

#nullable disable

using Azure.Identity;

namespace Azure.AI.Projects.Tests;

public class Sample_Agent
{
    static async Task Main()
    {
        var connectionString = Environment.GetEnvironmentVariable("PROJECT_CONNECTION_STRING");

        AgentsClient client = new AgentsClient(connectionString, new DefaultAzureCredential());

        // Step 1: Create an agent
        Response<Agent> agentResponse = await client.CreateAgentAsync(
            model: "gpt-4o-mini",
            name: "My Agent",
            instructions: "You are a helpful agent.",
            tools: new List<ToolDefinition> { new CodeInterpreterToolDefinition() });
        Agent agent = agentResponse.Value;

        // Intermission: agent should now be listed

        Response<PageableList<Agent>> agentListResponse = await client.GetAgentsAsync();

        //// Step 2: Create a thread
        Response<AgentThread> threadResponse = await client.CreateThreadAsync();
        AgentThread thread = threadResponse.Value;

        // Step 3: Add a message to a thread
        Response<ThreadMessage> messageResponse = await client.CreateMessageAsync(
            thread.Id,
            MessageRole.User,
            "I need to solve the equation `3x + 11 = 14`. Can you help me?");
        ThreadMessage message = messageResponse.Value;

        // Intermission: message is now correlated with thread
        // Intermission: listing messages will retrieve the message just added

        Response<PageableList<ThreadMessage>> messagesListResponse = await client.GetMessagesAsync(thread.Id);
        //Assert.That(messagesListResponse.Value.Data[0].Id == message.Id);

        // Step 4: Run the agent
        Response<ThreadRun> runResponse = await client.CreateRunAsync(
            thread.Id,
            agent.Id,
            additionalInstructions: "");
        ThreadRun run = runResponse.Value;

        do
        {
            await Task.Delay(TimeSpan.FromMilliseconds(500));
            runResponse = await client.GetRunAsync(thread.Id, runResponse.Value.Id);
        }
        while (runResponse.Value.Status == RunStatus.Queued
            || runResponse.Value.Status == RunStatus.InProgress);

        Response<PageableList<ThreadMessage>> afterRunMessagesResponse
            = await client.GetMessagesAsync(thread.Id);
        IReadOnlyList<ThreadMessage> messages = afterRunMessagesResponse.Value.Data;

        // Note: messages iterate from newest to oldest, with the messages[0] being the most recent
        foreach (ThreadMessage threadMessage in messages)
        {
            Console.Write($"{threadMessage.CreatedAt:yyyy-MM-dd HH:mm:ss} - {threadMessage.Role,10}: ");
            foreach (MessageContent contentItem in threadMessage.ContentItems)
            {
                if (contentItem is MessageTextContent textItem)
                {
                    Console.Write(textItem.Text);
                }
                else if (contentItem is MessageImageFileContent imageFileItem)
                {
                    Console.Write($"<image from ID: {imageFileItem.FileId}");
                }
                Console.WriteLine();
            }
        }
    }
}

| Referenzdokumentation | Beispiele | Quellcode der Bibliothek | Paket (PyPi) |

Voraussetzungen

Einrichten Ihres Azure KI-Hubs und Agent-Projekts

Im folgenden Abschnitt wird gezeigt, wie Sie die erforderlichen Ressourcen für die ersten Schritte mit dem Azure KI-Agent-Dienst einrichten:

  1. Erstellen eines Azure KI-Hubs zum Einrichten Ihrer App-Umgebung und Azure-Ressourcen.

  2. Durch das Erstellen eines Azure KI-Projekts unter Ihrem Hub wird ein Endpunkt zum Aufrufen durch Ihre App erstellt. Außerdem werden die App-Dienste für den Zugriff auf Ressourcen in Ihrem Mandanten eingerichtet.

  3. Verbinden einer Azure OpenAI-Ressource oder einer Azure KI Services-Ressource

Auswählen des Basic- oder Standard-Agent-Setups

Basic-Setup: Agents verwenden mehrinstanzenfähige Such- und Speicherressourcen, die vollständig von Microsoft verwaltet werden. Sie haben keine Sichtbarkeit oder Kontrolle über diese zugrunde liegenden Azure-Ressourcen.

Standardsetup: Agents verwenden kundeneigene Such- und Speicherressourcen mit einem Mandanten. Mit diesem Setup haben Sie die volle Kontrolle über diese Ressourcen, aber es fallen Kosten basierend auf Ihrer Nutzung an.

Hinweis

Sie können die folgenden automatisierten Bicep-Vorlagen verwenden, um entweder einen Standard-Agent oder einen grundlegenden Agent zu erstellen. Einen grundlegenden Agent können Sie auch über das Azure AI Foundry-Portal erstellen. Azure AI Foundry unterstützt derzeit nicht das Standard-Agent-Setup.

Beschreibung und automatische Bereitstellung Diagramm (zum Zoomen klicken)
Stellen Sie ein grundlegendes Agent-Setup bereit, das die verwaltete Identität für die Authentifizierung verwendet. Ressourcen für den KI-Hub, das KI-Projekt, das Speicherkonto und für KI-Dienste werden für Sie erstellt.

Das KI Services-Konto ist mit Ihrem Projekt und Hub verbunden, und es wird ein gpt-4o-mini-Modell in der Region „USA, Osten“ bereitgestellt. Standardmäßig wird ein von Microsoft verwalteter Schlüsseltresor verwendet.

Bereitstellung in Azure
Ein Architekturdiagramm für das Basic-Setup des Agents.
Stellen Sie ein Agent-Standardsetup bereit, das die verwaltete Identität für die Authentifizierung verwendet.

Ressourcen für den KI-Hub, das KI-Projekt, den Schlüsseltresor, das Speicherkonto, KI-Dienste und KI-Suche werden für Sie erstellt.

Die KI-Dienste, die KI-Suche, der Schlüsseltresor und das Speicherkonto sind mit Ihrem Projekt und Ihrem Hub verbunden. Ein gpt-4o-mini-Modell wird in der Region „USA, Osten“ bereitgestellt.

Bereitstellung in Azure
Ein Architekturdiagramm für das Standard-Setup des Agents.

[Optional] Modellauswahl in der Vorlage für die automatische Bereitstellung

Sie können das vom Agent verwendete Modell anpassen, indem Sie die Modellparameter in der Vorlage für die automatische Bereitstellung bearbeiten. Um ein anderes Modell bereitzustellen, müssen Sie mindestens die Parameter modelName und modelVersion aktualisieren.

Standardmäßig ist die Bereitstellungsvorlage mit den folgenden Werten konfiguriert:

Modellparameter Standardwert
modelName gpt-4o-mini
modelFormat OpenAI (für Azure OpenAI)
modelVersion 2024-07-18
modelSkuName GlobalStandard
modelLocation eastus

Wichtig

Ändern Sie den Parameter „modelFormat“ nicht.

Die Vorlagen unterstützen nur die Bereitstellung von Azure OpenAI-Modellen. Informationen zu den unterstützten Azure OpenAI-Modellen finden Sie in der Dokumentation zur Modellunterstützung für den Azure KI-Agent-Dienst.

[Optional] Verwenden Ihrer eigenen Ressourcen während der Agenteinrichtung

Hinweis

Wenn Sie eine vorhandene Ressource von KI Services oder Azure OpenAI verwenden, wird kein Modell bereitgestellt. Sie können ein Modell nach Abschluss des Agent-Setups in der Ressource bereitstellen.

Verwenden Sie eine vorhandene Ressource von KI Services, Azure OpenAI, KI Suche und/oder Azure Blob Storage, indem Sie die vollständige ARM-Ressourcen-ID in der Parameterdatei angeben:

  • aiServiceAccountResourceId
  • aiSearchServiceResourceId
  • aiStorageAccountResourceId

Wenn Sie eine vorhandene Azure OpenAI-Ressource verwenden möchten, müssen Sie die Parameter aiServiceAccountResourceId und aiServiceKind in der Parameterdatei aktualisieren. Der aiServiceKind-Parameter sollte auf AzureOpenAI festgelegt werden.

Weitere Informationen finden Sie unter Verwenden Ihrer eigenen Ressourcen.

Konfigurieren und Ausführen eines Agents

Komponente Beschreibung
Agent Benutzerdefinierte KI, die KI-Modelle in Verbindung mit Tools verwendet.
Tool Tools helfen, die Fähigkeit eines Agenten zu erweitern, während der Unterhaltung zuverlässig und präzise zu reagieren. Dazu gehören z. B. das Herstellen einer Verbindung mit benutzerdefinierten Wissensbasen, um das Modell zu grounden, oder das Aktivieren der Websuche, um aktuelle Informationen bereitzustellen.
Thread Eine Unterhaltungssitzung zwischen einem Agent und einem Benutzer. Threads speichern Nachrichten und behandeln automatisch das Abschneiden, um Inhalte in den Kontext eines Modells einzupassen.
Nachricht Eine Nachricht, die von einem Agent oder von einem Benutzer erstellt wurde. Nachrichten können Text, Bilder und andere Dateien enthalten. Nachrichten werden als Liste im Thread gespeichert.
Ausführung Aktivierung eines Agents, der basierend auf dem Inhalt des Threads mit der Ausführung beginnt. Der Agent verwendet seine Konfiguration und die Nachrichten des Threads, um Aufgaben durch Aufrufen von Modellen und Tools auszuführen. Als Teil einer Ausführung fügt der Agent Nachrichten an den Thread an.
Ausführungsschritt Eine detaillierte Liste der Schritte, die der Agent als Teil einer Ausführung ausgeführt hat. Ein Agent kann während seiner Ausführung Tools aufrufen oder Nachrichten erstellen. Wenn Sie die Ausführungsschritte untersuchen, können Sie verstehen, wie der Agent zu seinen Ergebnissen gelangt.

Führen Sie die folgenden Befehle aus, um die Python-Pakete zu installieren.

pip install azure-ai-projects
pip install azure-identity

Verwenden Sie als Nächstes zum Authentifizieren Ihrer API-Anforderungen und zum Ausführen des Programms den Befehl az login, um sich bei Ihrem Azure-Abonnement anzumelden.

az login

Verwenden Sie den folgenden Code, um einen Agent zu erstellen und auszuführen. Zum Ausführen dieses Codes müssen Sie eine Verbindungszeichenfolge mithilfe von Informationen aus Ihrem Projekt erstellen. Das Format dieser Zeichenfolge lautet:

<HostName>;<AzureSubscriptionId>;<ResourceGroup>;<ProjectName>

Tipp

Sie finden Ihre Verbindungszeichenfolge auch in der Übersicht für Ihr Projekt im Azure KI Foundry-Portal unter Projektdetails>Projektverbindungszeichenfolge. Screenshot der Verbindungszeichenfolge im Azure KI Foundry-Portal.

HostName finden Sie, indem Sie zu Ihrer discovery_url navigieren und das führende https:// und nachfolgende /discovery entfernen. Führen Sie den folgenden CLI-Befehl aus, um discovery_url zu finden:

az ml workspace show -n {project_name} --resource-group {resource_group_name} --query discovery_url

Die Verbindungszeichenfolge könnte beispielsweise wie folgt aussehen:

eastus.api.azureml.ms;12345678-abcd-1234-9fc6-62780b3d3e05;my-resource-group;my-project-name

Legen Sie diese Verbindungszeichenfolge als Umgebungsvariable namens PROJECT_CONNECTION_STRING fest.

import os
from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import CodeInterpreterTool
from azure.identity import DefaultAzureCredential
from typing import Any
from pathlib import Path

# Create an Azure AI Client from a connection string, copied from your Azure AI Foundry project.
# At the moment, it should be in the format "<HostName>;<AzureSubscriptionId>;<ResourceGroup>;<ProjectName>"
# HostName can be found by navigating to your discovery_url and removing the leading "https://" and trailing "/discovery"
# To find your discovery_url, run the CLI command: az ml workspace show -n {project_name} --resource-group {resource_group_name} --query discovery_url
# Project Connection example: eastus.api.azureml.ms;12345678-abcd-1234-9fc6-62780b3d3e05;my-resource-group;my-project-name
# Customer needs to login to Azure subscription via Azure CLI and set the environment variables

project_client = AIProjectClient.from_connection_string(
    credential=DefaultAzureCredential(), conn_str=os.environ["PROJECT_CONNECTION_STRING"]
)

with project_client:
    # Create an instance of the CodeInterpreterTool
    code_interpreter = CodeInterpreterTool()

    # The CodeInterpreterTool needs to be included in creation of the agent
    agent = project_client.agents.create_agent(
        model="gpt-4o-mini",
        name="my-agent",
        instructions="You are helpful agent",
        tools=code_interpreter.definitions,
        tool_resources=code_interpreter.resources,
    )
    print(f"Created agent, agent ID: {agent.id}")

    # Create a thread
    thread = project_client.agents.create_thread()
    print(f"Created thread, thread ID: {thread.id}")

    # Create a message
    message = project_client.agents.create_message(
        thread_id=thread.id,
        role="user",
        content="Could you please create a bar chart for the operating profit using the following data and provide the file to me? Company A: $1.2 million, Company B: $2.5 million, Company C: $3.0 million, Company D: $1.8 million",
    )
    print(f"Created message, message ID: {message.id}")

    # Run the agent
    run = project_client.agents.create_and_process_run(thread_id=thread.id, assistant_id=agent.id)
    print(f"Run finished with status: {run.status}")

    if run.status == "failed":
        # Check if you got "Rate limit is exceeded.", then you want to get more quota
        print(f"Run failed: {run.last_error}")

    # Get messages from the thread
    messages = project_client.agents.list_messages(thread_id=thread.id)
    print(f"Messages: {messages}")

    # Get the last message from the sender
    last_msg = messages.get_last_text_message_by_role("assistant")
    if last_msg:
        print(f"Last Message: {last_msg.text.value}")

    # Generate an image file for the bar chart
    for image_content in messages.image_contents:
        print(f"Image File ID: {image_content.image_file.file_id}")
        file_name = f"{image_content.image_file.file_id}_image_file.png"
        project_client.agents.save_file(file_id=image_content.image_file.file_id, file_name=file_name)
        print(f"Saved image file to: {Path.cwd() / file_name}")

    # Print the file path(s) from the messages
    for file_path_annotation in messages.file_path_annotations:
        print(f"File Paths:")
        print(f"Type: {file_path_annotation.type}")
        print(f"Text: {file_path_annotation.text}")
        print(f"File ID: {file_path_annotation.file_path.file_id}")
        print(f"Start Index: {file_path_annotation.start_index}")
        print(f"End Index: {file_path_annotation.end_index}")
        project_client.agents.save_file(file_id=file_path_annotation.file_path.file_id, file_name=Path(file_path_annotation.text).name)

    # Delete the agent once done
    project_client.agents.delete_agent(agent.id)
    print("Deleted agent")

| Referenzdokumentation | Quellcode der Bibliothek | Paket (PyPi) |

Voraussetzungen

Einrichten Ihres Azure KI-Hubs und Agent-Projekts

Im folgenden Abschnitt wird gezeigt, wie Sie die erforderlichen Ressourcen für die ersten Schritte mit dem Azure KI-Agent-Dienst einrichten:

  1. Erstellen eines Azure KI-Hubs zum Einrichten Ihrer App-Umgebung und Azure-Ressourcen.

  2. Durch das Erstellen eines Azure KI-Projekts unter Ihrem Hub wird ein Endpunkt zum Aufrufen durch Ihre App erstellt. Außerdem werden die App-Dienste für den Zugriff auf Ressourcen in Ihrem Mandanten eingerichtet.

  3. Verbinden einer Azure OpenAI-Ressource oder einer Azure KI Services-Ressource

Auswählen des Basic- oder Standard-Agent-Setups

Basic-Setup: Agents verwenden mehrinstanzenfähige Such- und Speicherressourcen, die vollständig von Microsoft verwaltet werden. Sie haben keine Sichtbarkeit oder Kontrolle über diese zugrunde liegenden Azure-Ressourcen.

Standardsetup: Agents verwenden kundeneigene Such- und Speicherressourcen mit einem Mandanten. Mit diesem Setup haben Sie die volle Kontrolle über diese Ressourcen, aber es fallen Kosten basierend auf Ihrer Nutzung an.

Hinweis

Sie können die folgenden automatisierten Bicep-Vorlagen verwenden, um entweder einen Standard-Agent oder einen grundlegenden Agent zu erstellen. Einen grundlegenden Agent können Sie auch über das Azure AI Foundry-Portal erstellen. Azure AI Foundry unterstützt derzeit nicht das Standard-Agent-Setup.

Beschreibung und automatische Bereitstellung Diagramm (zum Zoomen klicken)
Stellen Sie ein grundlegendes Agent-Setup bereit, das die verwaltete Identität für die Authentifizierung verwendet. Ressourcen für den KI-Hub, das KI-Projekt, das Speicherkonto und für KI-Dienste werden für Sie erstellt.

Das KI Services-Konto ist mit Ihrem Projekt und Hub verbunden, und es wird ein gpt-4o-mini-Modell in der Region „USA, Osten“ bereitgestellt. Standardmäßig wird ein von Microsoft verwalteter Schlüsseltresor verwendet.

Bereitstellung in Azure
Ein Architekturdiagramm für das Basic-Setup des Agents.
Stellen Sie ein Agent-Standardsetup bereit, das die verwaltete Identität für die Authentifizierung verwendet.

Ressourcen für den KI-Hub, das KI-Projekt, den Schlüsseltresor, das Speicherkonto, KI-Dienste und KI-Suche werden für Sie erstellt.

Die KI-Dienste, die KI-Suche, der Schlüsseltresor und das Speicherkonto sind mit Ihrem Projekt und Ihrem Hub verbunden. Ein gpt-4o-mini-Modell wird in der Region „USA, Osten“ bereitgestellt.

Bereitstellung in Azure
Ein Architekturdiagramm für das Standard-Setup des Agents.

[Optional] Modellauswahl in der Vorlage für die automatische Bereitstellung

Sie können das vom Agent verwendete Modell anpassen, indem Sie die Modellparameter in der Vorlage für die automatische Bereitstellung bearbeiten. Um ein anderes Modell bereitzustellen, müssen Sie mindestens die Parameter modelName und modelVersion aktualisieren.

Standardmäßig ist die Bereitstellungsvorlage mit den folgenden Werten konfiguriert:

Modellparameter Standardwert
modelName gpt-4o-mini
modelFormat OpenAI (für Azure OpenAI)
modelVersion 2024-07-18
modelSkuName GlobalStandard
modelLocation eastus

Wichtig

Ändern Sie den Parameter „modelFormat“ nicht.

Die Vorlagen unterstützen nur die Bereitstellung von Azure OpenAI-Modellen. Informationen zu den unterstützten Azure OpenAI-Modellen finden Sie in der Dokumentation zur Modellunterstützung für den Azure KI-Agent-Dienst.

[Optional] Verwenden Ihrer eigenen Ressourcen während der Agenteinrichtung

Hinweis

Wenn Sie eine vorhandene Ressource von KI Services oder Azure OpenAI verwenden, wird kein Modell bereitgestellt. Sie können ein Modell nach Abschluss des Agent-Setups in der Ressource bereitstellen.

Verwenden Sie eine vorhandene Ressource von KI Services, Azure OpenAI, KI Suche und/oder Azure Blob Storage, indem Sie die vollständige ARM-Ressourcen-ID in der Parameterdatei angeben:

  • aiServiceAccountResourceId
  • aiSearchServiceResourceId
  • aiStorageAccountResourceId

Wenn Sie eine vorhandene Azure OpenAI-Ressource verwenden möchten, müssen Sie die Parameter aiServiceAccountResourceId und aiServiceKind in der Parameterdatei aktualisieren. Der aiServiceKind-Parameter sollte auf AzureOpenAI festgelegt werden.

Weitere Informationen finden Sie unter Verwenden Ihrer eigenen Ressourcen.

Konfigurieren und Ausführen eines Agents

Komponente Beschreibung
Agent Benutzerdefinierte KI, die KI-Modelle in Verbindung mit Tools verwendet.
Tool Tools helfen, die Fähigkeit eines Agenten zu erweitern, während der Unterhaltung zuverlässig und präzise zu reagieren. Dazu gehören z. B. das Herstellen einer Verbindung mit benutzerdefinierten Wissensbasen, um das Modell zu grounden, oder das Aktivieren der Websuche, um aktuelle Informationen bereitzustellen.
Thread Eine Unterhaltungssitzung zwischen einem Agent und einem Benutzer. Threads speichern Nachrichten und behandeln automatisch das Abschneiden, um Inhalte in den Kontext eines Modells einzupassen.
Nachricht Eine Nachricht, die von einem Agent oder von einem Benutzer erstellt wurde. Nachrichten können Text, Bilder und andere Dateien enthalten. Nachrichten werden als Liste im Thread gespeichert.
Ausführung Aktivierung eines Agents, der basierend auf dem Inhalt des Threads mit der Ausführung beginnt. Der Agent verwendet seine Konfiguration und die Nachrichten des Threads, um Aufgaben durch Aufrufen von Modellen und Tools auszuführen. Als Teil einer Ausführung fügt der Agent Nachrichten an den Thread an.
Ausführungsschritt Eine detaillierte Liste der Schritte, die der Agent als Teil einer Ausführung ausgeführt hat. Ein Agent kann während seiner Ausführung Tools aufrufen oder Nachrichten erstellen. Wenn Sie die Ausführungsschritte untersuchen, können Sie verstehen, wie der Agent zu seinen Ergebnissen gelangt.

Führen Sie die folgenden Befehle aus, um die Python-Pakete zu installieren.

pip install azure-ai-projects
pip install azure-identity
pip install openai

Verwenden Sie als Nächstes zum Authentifizieren Ihrer API-Anforderungen und zum Ausführen des Programms den Befehl az login, um sich bei Ihrem Azure-Abonnement anzumelden.

az login

Verwenden Sie den folgenden Code, um einen Agent zu erstellen und auszuführen. Zum Ausführen dieses Codes müssen Sie eine Verbindungszeichenfolge mithilfe von Informationen aus Ihrem Projekt erstellen. Das Format dieser Zeichenfolge lautet:

<HostName>;<AzureSubscriptionId>;<ResourceGroup>;<ProjectName>

Tipp

Sie finden Ihre Verbindungszeichenfolge auch in der Übersicht für Ihr Projekt im Azure KI Foundry-Portal unter Projektdetails>Projektverbindungszeichenfolge. Screenshot der Verbindungszeichenfolge im Azure KI Foundry-Portal.

HostName finden Sie, indem Sie zu Ihrer discovery_url navigieren und das führende https:// und nachfolgende /discovery entfernen. Führen Sie den folgenden CLI-Befehl aus, um discovery_url zu finden:

az ml workspace show -n {project_name} --resource-group {resource_group_name} --query discovery_url

Die Verbindungszeichenfolge könnte beispielsweise wie folgt aussehen:

eastus.api.azureml.ms;12345678-abcd-1234-9fc6-62780b3d3e05;my-resource-group;my-project-name

Legen Sie diese Verbindungszeichenfolge als Umgebungsvariable namens PROJECT_CONNECTION_STRING fest.

import os, time
from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential
from openai import AzureOpenAI


with AIProjectClient.from_connection_string(
    credential=DefaultAzureCredential(),
    conn_str=os.environ["PROJECT_CONNECTION_STRING"],
) as project_client:

    # Explicit type hinting for IntelliSense
    client: AzureOpenAI = project_client.inference.get_azure_openai_client(
        # The latest API version is 2024-10-01-preview
        api_version = os.environ.get("AZURE_OPENAI_API_VERSION"),
    )

    with client:
        agent = client.beta.assistants.create(
            model="gpt-4o-mini", name="my-agent", instructions="You are a helpful agent"
        )
        print(f"Created agent, agent ID: {agent.id}")

        thread = client.beta.threads.create()
        print(f"Created thread, thread ID: {thread.id}")

        message = client.beta.threads.messages.create(thread_id=thread.id, role="user", content="Hello, tell me a joke")
        print(f"Created message, message ID: {message.id}")

        run = client.beta.threads.runs.create(thread_id=thread.id, assistant_id=agent.id)

        # Poll the run while run status is queued or in progress
        while run.status in ["queued", "in_progress", "requires_action"]:
            time.sleep(1)  # Wait for a second
            run = client.beta.threads.runs.retrieve(thread_id=thread.id, run_id=run.id)
            print(f"Run status: {run.status}")

        client.beta.assistants.delete(agent.id)
        print("Deleted agent")

        messages = client.beta.threads.messages.list(thread_id=thread.id)
        print(f"Messages: {messages}")

| Referenzdokumentation | Beispiele | Quellcode der Bibliothek | Paket (npm) |

Voraussetzungen

Einrichten Ihres Azure KI-Hubs und Agent-Projekts

Im folgenden Abschnitt wird gezeigt, wie Sie die erforderlichen Ressourcen für die ersten Schritte mit dem Azure KI-Agent-Dienst einrichten:

  1. Erstellen eines Azure KI-Hubs zum Einrichten Ihrer App-Umgebung und Azure-Ressourcen.

  2. Durch das Erstellen eines Azure KI-Projekts unter Ihrem Hub wird ein Endpunkt zum Aufrufen durch Ihre App erstellt. Außerdem werden die App-Dienste für den Zugriff auf Ressourcen in Ihrem Mandanten eingerichtet.

  3. Verbinden einer Azure OpenAI-Ressource oder einer Azure KI Services-Ressource

Auswählen des Basic- oder Standard-Agent-Setups

Basic-Setup: Agents verwenden mehrinstanzenfähige Such- und Speicherressourcen, die vollständig von Microsoft verwaltet werden. Sie haben keine Sichtbarkeit oder Kontrolle über diese zugrunde liegenden Azure-Ressourcen.

Standardsetup: Agents verwenden kundeneigene Such- und Speicherressourcen mit einem Mandanten. Mit diesem Setup haben Sie die volle Kontrolle über diese Ressourcen, aber es fallen Kosten basierend auf Ihrer Nutzung an.

Hinweis

Sie können die folgenden automatisierten Bicep-Vorlagen verwenden, um entweder einen Standard-Agent oder einen grundlegenden Agent zu erstellen. Einen grundlegenden Agent können Sie auch über das Azure AI Foundry-Portal erstellen. Azure AI Foundry unterstützt derzeit nicht das Standard-Agent-Setup.

Beschreibung und automatische Bereitstellung Diagramm (zum Zoomen klicken)
Stellen Sie ein grundlegendes Agent-Setup bereit, das die verwaltete Identität für die Authentifizierung verwendet. Ressourcen für den KI-Hub, das KI-Projekt, das Speicherkonto und für KI-Dienste werden für Sie erstellt.

Das KI Services-Konto ist mit Ihrem Projekt und Hub verbunden, und es wird ein gpt-4o-mini-Modell in der Region „USA, Osten“ bereitgestellt. Standardmäßig wird ein von Microsoft verwalteter Schlüsseltresor verwendet.

Bereitstellung in Azure
Ein Architekturdiagramm für das Basic-Setup des Agents.
Stellen Sie ein Agent-Standardsetup bereit, das die verwaltete Identität für die Authentifizierung verwendet.

Ressourcen für den KI-Hub, das KI-Projekt, den Schlüsseltresor, das Speicherkonto, KI-Dienste und KI-Suche werden für Sie erstellt.

Die KI-Dienste, die KI-Suche, der Schlüsseltresor und das Speicherkonto sind mit Ihrem Projekt und Ihrem Hub verbunden. Ein gpt-4o-mini-Modell wird in der Region „USA, Osten“ bereitgestellt.

Bereitstellung in Azure
Ein Architekturdiagramm für das Standard-Setup des Agents.

[Optional] Modellauswahl in der Vorlage für die automatische Bereitstellung

Sie können das vom Agent verwendete Modell anpassen, indem Sie die Modellparameter in der Vorlage für die automatische Bereitstellung bearbeiten. Um ein anderes Modell bereitzustellen, müssen Sie mindestens die Parameter modelName und modelVersion aktualisieren.

Standardmäßig ist die Bereitstellungsvorlage mit den folgenden Werten konfiguriert:

Modellparameter Standardwert
modelName gpt-4o-mini
modelFormat OpenAI (für Azure OpenAI)
modelVersion 2024-07-18
modelSkuName GlobalStandard
modelLocation eastus

Wichtig

Ändern Sie den Parameter „modelFormat“ nicht.

Die Vorlagen unterstützen nur die Bereitstellung von Azure OpenAI-Modellen. Informationen zu den unterstützten Azure OpenAI-Modellen finden Sie in der Dokumentation zur Modellunterstützung für den Azure KI-Agent-Dienst.

[Optional] Verwenden Ihrer eigenen Ressourcen während der Agenteinrichtung

Hinweis

Wenn Sie eine vorhandene Ressource von KI Services oder Azure OpenAI verwenden, wird kein Modell bereitgestellt. Sie können ein Modell nach Abschluss des Agent-Setups in der Ressource bereitstellen.

Verwenden Sie eine vorhandene Ressource von KI Services, Azure OpenAI, KI Suche und/oder Azure Blob Storage, indem Sie die vollständige ARM-Ressourcen-ID in der Parameterdatei angeben:

  • aiServiceAccountResourceId
  • aiSearchServiceResourceId
  • aiStorageAccountResourceId

Wenn Sie eine vorhandene Azure OpenAI-Ressource verwenden möchten, müssen Sie die Parameter aiServiceAccountResourceId und aiServiceKind in der Parameterdatei aktualisieren. Der aiServiceKind-Parameter sollte auf AzureOpenAI festgelegt werden.

Weitere Informationen finden Sie unter Verwenden Ihrer eigenen Ressourcen.

Konfigurieren und Ausführen eines Agents

Komponente Beschreibung
Agent Benutzerdefinierte KI, die KI-Modelle in Verbindung mit Tools verwendet.
Tool Tools helfen, die Fähigkeit eines Agenten zu erweitern, während der Unterhaltung zuverlässig und präzise zu reagieren. Dazu gehören z. B. das Herstellen einer Verbindung mit benutzerdefinierten Wissensbasen, um das Modell zu grounden, oder das Aktivieren der Websuche, um aktuelle Informationen bereitzustellen.
Thread Eine Unterhaltungssitzung zwischen einem Agent und einem Benutzer. Threads speichern Nachrichten und behandeln automatisch das Abschneiden, um Inhalte in den Kontext eines Modells einzupassen.
Nachricht Eine Nachricht, die von einem Agent oder von einem Benutzer erstellt wurde. Nachrichten können Text, Bilder und andere Dateien enthalten. Nachrichten werden als Liste im Thread gespeichert.
Ausführung Aktivierung eines Agents, der basierend auf dem Inhalt des Threads mit der Ausführung beginnt. Der Agent verwendet seine Konfiguration und die Nachrichten des Threads, um Aufgaben durch Aufrufen von Modellen und Tools auszuführen. Als Teil einer Ausführung fügt der Agent Nachrichten an den Thread an.
Ausführungsschritt Eine detaillierte Liste der Schritte, die der Agent als Teil einer Ausführung ausgeführt hat. Ein Agent kann während seiner Ausführung Tools aufrufen oder Nachrichten erstellen. Wenn Sie die Ausführungsschritte untersuchen, können Sie verstehen, wie der Agent zu seinen Ergebnissen gelangt.

Führen Sie die folgenden Befehle aus, um die npm-Pakete zu installieren.

npm install @azure/ai-projects
npm install @azure/identity

Verwenden Sie als Nächstes zum Authentifizieren Ihrer API-Anforderungen und zum Ausführen des Programms den Befehl az login, um sich bei Ihrem Azure-Abonnement anzumelden.

az login

Verwenden Sie den folgenden Code, um einen Agent zu erstellen und auszuführen. Zum Ausführen dieses Codes müssen Sie eine Verbindungszeichenfolge mithilfe von Informationen aus Ihrem Projekt erstellen. Das Format dieser Zeichenfolge lautet:

<HostName>;<AzureSubscriptionId>;<ResourceGroup>;<ProjectName>

Tipp

Sie finden Ihre Verbindungszeichenfolge auch in der Übersicht für Ihr Projekt im Azure KI Foundry-Portal unter Projektdetails>Projektverbindungszeichenfolge. Screenshot der Verbindungszeichenfolge im Azure KI Foundry-Portal.

HostName finden Sie, indem Sie zu Ihrer discovery_url navigieren und das führende https:// und nachfolgende /discovery entfernen. Führen Sie den folgenden CLI-Befehl aus, um discovery_url zu finden:

az ml workspace show -n {project_name} --resource-group {resource_group_name} --query discovery_url

Die Verbindungszeichenfolge könnte beispielsweise wie folgt aussehen:

eastus.api.azureml.ms;12345678-abcd-1234-9fc6-62780b3d3e05;my-resource-group;my-project-name

Legen Sie diese Verbindungszeichenfolge als Umgebungsvariable namens PROJECT_CONNECTION_STRING fest.

// index.js

import {
  AIProjectsClient,
  DoneEvent,
  ErrorEvent,
  isOutputOfType,
  MessageStreamEvent,
  RunStreamEvent,
  ToolUtility,
} from "@azure/ai-projects";
import { DefaultAzureCredential } from "@azure/identity";

const connectionString =
  process.env["AZURE_AI_PROJECTS_CONNECTION_STRING"] || "<project connection string>";

if (!connectionString) {
  throw new Error("AZURE_AI_PROJECTS_CONNECTION_STRING must be set in the environment variables");
}

export async function main() {
  const client = AIProjectsClient.fromConnectionString(
    connectionString || "",
    new DefaultAzureCredential(),
  );

  // Step 1 code interpreter tool
  const codeInterpreterTool = ToolUtility.createCodeInterpreterTool();

  // Step 2 an agent
  const agent = await client.agents.createAgent("gpt-4o-mini", {
    name: "my-agent",
    instructions: "You are a helpful agent",
    tools: [codeInterpreterTool.definition],
    toolResources: codeInterpreterTool.resources,
  });

  // Step 3 a thread
  const thread = await client.agents.createThread();

  // Step 4 a message to thread
  await client.agents.createMessage(
    thread.id, {
    role: "user",
    content: "I need to solve the equation `3x + 11 = 14`. Can you help me?",
  });

  // Intermission is now correlated with thread
  // Intermission messages will retrieve the message just added

  // Step 5 the agent
  const streamEventMessages = await client.agents.createRun(thread.id, agent.id).stream();

  for await (const eventMessage of streamEventMessages) {
    switch (eventMessage.event) {
      case RunStreamEvent.ThreadRunCreated:
        break;
      case MessageStreamEvent.ThreadMessageDelta:
        {
          const messageDelta = eventMessage.data;
          messageDelta.delta.content.forEach((contentPart) => {
            if (contentPart.type === "text") {
              const textContent = contentPart;
              const textValue = textContent.text?.value || "No text";
            }
          });
        }
        break;

      case RunStreamEvent.ThreadRunCompleted:
        break;
      case ErrorEvent.Error:
        console.log(`An error occurred. Data ${eventMessage.data}`);
        break;
      case DoneEvent.Done:
        break;
    }
  }

  // 6. Print the messages from the agent
  const messages = await client.agents.listMessages(thread.id);

  // Messages iterate from oldest to newest
  // messages[0] is the most recent
  for (let i = messages.data.length - 1; i >= 0; i--) {
    const m = messages.data[i];
    if (isOutputOfType(m.content[0], "text")) {
      const textContent = m.content[0];
      console.log(`${textContent.text.value}`);
      console.log(`---------------------------------`);
    }
  }

  // 7. Delete the agent once done
  await client.agents.deleteAgent(agent.id);
}

main().catch((err) => {
  console.error("The sample encountered an error:", err);
});

Die Ausgabe enthält den Prompt und Antworten.

I need to solve the equation `3x + 11 = 14`. Can you help me?
---------------------------------
Sure! I can help you solve the equation \(3x + 11 = 14\).

To solve this equation, we need to isolate the variable \(x\). Let's go ahead and solve it.
---------------------------------
The solution to the equation \(3x + 11 = 14\) is \(x = 1\). 

Therefore, the value of \(x\) that satisfies the equation is 1. 

Let me know if you need help with anything else!
---------------------------------

| Referenzdokumentation | Beispiele | Quellcode der Bibliothek | Paket (npm) |

Voraussetzungen

Einrichten Ihres Azure KI-Hubs und Agent-Projekts

Im folgenden Abschnitt wird gezeigt, wie Sie die erforderlichen Ressourcen für die ersten Schritte mit dem Azure KI-Agent-Dienst einrichten:

  1. Erstellen eines Azure KI-Hubs zum Einrichten Ihrer App-Umgebung und Azure-Ressourcen.

  2. Durch das Erstellen eines Azure KI-Projekts unter Ihrem Hub wird ein Endpunkt zum Aufrufen durch Ihre App erstellt. Außerdem werden die App-Dienste für den Zugriff auf Ressourcen in Ihrem Mandanten eingerichtet.

  3. Verbinden einer Azure OpenAI-Ressource oder einer Azure KI Services-Ressource

Auswählen des Basic- oder Standard-Agent-Setups

Basic-Setup: Agents verwenden mehrinstanzenfähige Such- und Speicherressourcen, die vollständig von Microsoft verwaltet werden. Sie haben keine Sichtbarkeit oder Kontrolle über diese zugrunde liegenden Azure-Ressourcen.

Standardsetup: Agents verwenden kundeneigene Such- und Speicherressourcen mit einem Mandanten. Mit diesem Setup haben Sie die volle Kontrolle über diese Ressourcen, aber es fallen Kosten basierend auf Ihrer Nutzung an.

Hinweis

Sie können die folgenden automatisierten Bicep-Vorlagen verwenden, um entweder einen Standard-Agent oder einen grundlegenden Agent zu erstellen. Einen grundlegenden Agent können Sie auch über das Azure AI Foundry-Portal erstellen. Azure AI Foundry unterstützt derzeit nicht das Standard-Agent-Setup.

Beschreibung und automatische Bereitstellung Diagramm (zum Zoomen klicken)
Stellen Sie ein grundlegendes Agent-Setup bereit, das die verwaltete Identität für die Authentifizierung verwendet. Ressourcen für den KI-Hub, das KI-Projekt, das Speicherkonto und für KI-Dienste werden für Sie erstellt.

Das KI Services-Konto ist mit Ihrem Projekt und Hub verbunden, und es wird ein gpt-4o-mini-Modell in der Region „USA, Osten“ bereitgestellt. Standardmäßig wird ein von Microsoft verwalteter Schlüsseltresor verwendet.

Bereitstellung in Azure
Ein Architekturdiagramm für das Basic-Setup des Agents.
Stellen Sie ein Agent-Standardsetup bereit, das die verwaltete Identität für die Authentifizierung verwendet.

Ressourcen für den KI-Hub, das KI-Projekt, den Schlüsseltresor, das Speicherkonto, KI-Dienste und KI-Suche werden für Sie erstellt.

Die KI-Dienste, die KI-Suche, der Schlüsseltresor und das Speicherkonto sind mit Ihrem Projekt und Ihrem Hub verbunden. Ein gpt-4o-mini-Modell wird in der Region „USA, Osten“ bereitgestellt.

Bereitstellung in Azure
Ein Architekturdiagramm für das Standard-Setup des Agents.

[Optional] Modellauswahl in der Vorlage für die automatische Bereitstellung

Sie können das vom Agent verwendete Modell anpassen, indem Sie die Modellparameter in der Vorlage für die automatische Bereitstellung bearbeiten. Um ein anderes Modell bereitzustellen, müssen Sie mindestens die Parameter modelName und modelVersion aktualisieren.

Standardmäßig ist die Bereitstellungsvorlage mit den folgenden Werten konfiguriert:

Modellparameter Standardwert
modelName gpt-4o-mini
modelFormat OpenAI (für Azure OpenAI)
modelVersion 2024-07-18
modelSkuName GlobalStandard
modelLocation eastus

Wichtig

Ändern Sie den Parameter „modelFormat“ nicht.

Die Vorlagen unterstützen nur die Bereitstellung von Azure OpenAI-Modellen. Informationen zu den unterstützten Azure OpenAI-Modellen finden Sie in der Dokumentation zur Modellunterstützung für den Azure KI-Agent-Dienst.

[Optional] Verwenden Ihrer eigenen Ressourcen während der Agenteinrichtung

Hinweis

Wenn Sie eine vorhandene Ressource von KI Services oder Azure OpenAI verwenden, wird kein Modell bereitgestellt. Sie können ein Modell nach Abschluss des Agent-Setups in der Ressource bereitstellen.

Verwenden Sie eine vorhandene Ressource von KI Services, Azure OpenAI, KI Suche und/oder Azure Blob Storage, indem Sie die vollständige ARM-Ressourcen-ID in der Parameterdatei angeben:

  • aiServiceAccountResourceId
  • aiSearchServiceResourceId
  • aiStorageAccountResourceId

Wenn Sie eine vorhandene Azure OpenAI-Ressource verwenden möchten, müssen Sie die Parameter aiServiceAccountResourceId und aiServiceKind in der Parameterdatei aktualisieren. Der aiServiceKind-Parameter sollte auf AzureOpenAI festgelegt werden.

Weitere Informationen finden Sie unter Verwenden Ihrer eigenen Ressourcen.

Konfigurieren und Ausführen eines Agents

Komponente Beschreibung
Agent Benutzerdefinierte KI, die KI-Modelle in Verbindung mit Tools verwendet.
Tool Tools helfen, die Fähigkeit eines Agenten zu erweitern, während der Unterhaltung zuverlässig und präzise zu reagieren. Dazu gehören z. B. das Herstellen einer Verbindung mit benutzerdefinierten Wissensbasen, um das Modell zu grounden, oder das Aktivieren der Websuche, um aktuelle Informationen bereitzustellen.
Thread Eine Unterhaltungssitzung zwischen einem Agent und einem Benutzer. Threads speichern Nachrichten und behandeln automatisch das Abschneiden, um Inhalte in den Kontext eines Modells einzupassen.
Nachricht Eine Nachricht, die von einem Agent oder von einem Benutzer erstellt wurde. Nachrichten können Text, Bilder und andere Dateien enthalten. Nachrichten werden als Liste im Thread gespeichert.
Ausführung Aktivierung eines Agents, der basierend auf dem Inhalt des Threads mit der Ausführung beginnt. Der Agent verwendet seine Konfiguration und die Nachrichten des Threads, um Aufgaben durch Aufrufen von Modellen und Tools auszuführen. Als Teil einer Ausführung fügt der Agent Nachrichten an den Thread an.
Ausführungsschritt Eine detaillierte Liste der Schritte, die der Agent als Teil einer Ausführung ausgeführt hat. Ein Agent kann während seiner Ausführung Tools aufrufen oder Nachrichten erstellen. Wenn Sie die Ausführungsschritte untersuchen, können Sie verstehen, wie der Agent zu seinen Ergebnissen gelangt.

Führen Sie die folgenden Befehle aus, um die npm-Pakete zu installieren.

npm install @azure/ai-projects
npm install @azure/identity

Verwenden Sie als Nächstes zum Authentifizieren Ihrer API-Anforderungen und zum Ausführen des Programms den Befehl az login, um sich bei Ihrem Azure-Abonnement anzumelden.

az login

Verwenden Sie den folgenden Code, um einen Agent zu erstellen und auszuführen. Zum Ausführen dieses Codes müssen Sie eine Verbindungszeichenfolge mithilfe von Informationen aus Ihrem Projekt erstellen. Das Format dieser Zeichenfolge lautet:

<HostName>;<AzureSubscriptionId>;<ResourceGroup>;<ProjectName>

Tipp

Sie finden Ihre Verbindungszeichenfolge auch in der Übersicht für Ihr Projekt im Azure KI Foundry-Portal unter Projektdetails>Projektverbindungszeichenfolge. Screenshot der Verbindungszeichenfolge im Azure KI Foundry-Portal.

HostName finden Sie, indem Sie zu Ihrer discovery_url navigieren und das führende https:// und nachfolgende /discovery entfernen. Führen Sie den folgenden CLI-Befehl aus, um discovery_url zu finden:

az ml workspace show -n {project_name} --resource-group {resource_group_name} --query discovery_url

Die Verbindungszeichenfolge könnte beispielsweise wie folgt aussehen:

eastus.api.azureml.ms;12345678-abcd-1234-9fc6-62780b3d3e05;my-resource-group;my-project-name

Legen Sie diese Verbindungszeichenfolge als Umgebungsvariable namens PROJECT_CONNECTION_STRING fest.

// index.ts

import type {
  MessageDeltaChunk,
  MessageDeltaTextContent,
  MessageTextContentOutput,
} from "@azure/ai-projects";
import {
  AIProjectsClient,
  DoneEvent,
  ErrorEvent,
  isOutputOfType,
  MessageStreamEvent,
  RunStreamEvent,
  ToolUtility,
} from "@azure/ai-projects";
import { DefaultAzureCredential } from "@azure/identity";

const connectionString =
  process.env["AZURE_AI_PROJECTS_CONNECTION_STRING"] || "<project connection string>";

if (!connectionString) {
  throw new Error("AZURE_AI_PROJECTS_CONNECTION_STRING must be set in the environment variables");
}

export async function main(): Promise<void> {
  const client = AIProjectsClient.fromConnectionString(
    connectionString || "",
    new DefaultAzureCredential(),
  );

  // Step 1: Create code interpreter tool
  const codeInterpreterTool = ToolUtility.createCodeInterpreterTool();

  // Step 2: Create an agent
  const agent = await client.agents.createAgent("gpt-4o-mini", {
    name: "my-agent",
    instructions: "You are a helpful agent",
    tools: [codeInterpreterTool.definition],
    toolResources: codeInterpreterTool.resources,
  });

  // Step 3: Create a thread
  const thread = await client.agents.createThread();

  // Step 4: Add a message to thread
  await client.agents.createMessage(
    thread.id, {
    role: "user",
    content: "I need to solve the equation `3x + 11 = 14`. Can you help me?",
  });

  // Intermission: message is now correlated with thread
  // Intermission: listing messages will retrieve the message just added

  // Step 5: Run the agent
  const streamEventMessages = await client.agents.createRun(thread.id, agent.id).stream();

  for await (const eventMessage of streamEventMessages) {
    switch (eventMessage.event) {
      case RunStreamEvent.ThreadRunCreated:
        break;
      case MessageStreamEvent.ThreadMessageDelta:
        {
          const messageDelta = eventMessage.data as MessageDeltaChunk;
          messageDelta.delta.content.forEach((contentPart) => {
            if (contentPart.type === "text") {
              const textContent = contentPart as MessageDeltaTextContent;
              const textValue = textContent.text?.value || "No text";
            }
          });
        }
        break;

      case RunStreamEvent.ThreadRunCompleted:
        break;
      case ErrorEvent.Error:
        console.log(`An error occurred. Data ${eventMessage.data}`);
        break;
      case DoneEvent.Done:
        break;
    }
  }

  // 6. Print the messages from the agent
  const messages = await client.agents.listMessages(thread.id);

  // Messages iterate from oldest to newest
  // messages[0] is the most recent
  for (let i = messages.data.length - 1; i >= 0; i--) {
    const m = messages.data[i];
    if (isOutputOfType<MessageTextContentOutput>(m.content[0], "text")) {
      const textContent = m.content[0] as MessageTextContentOutput;
      console.log(`${textContent.text.value}`);
      console.log(`---------------------------------`);
    }
  }

  // 7. Delete the agent once done
  await client.agents.deleteAgent(agent.id);
}

main().catch((err) => {
  console.error("The sample encountered an error:", err);
});

Die Ausgabe enthält den Prompt und Antworten.

I need to solve the equation `3x + 11 = 14`. Can you help me?
---------------------------------
Sure! I can help you solve the equation \(3x + 11 = 14\).

To solve this equation, we need to isolate the variable \(x\). Let's go ahead and solve it.
---------------------------------
The solution to the equation \(3x + 11 = 14\) is \(x = 1\). 

Therefore, the value of \(x\) that satisfies the equation is 1. 

Let me know if you need help with anything else!
---------------------------------

| Referenzdokumentation |

Voraussetzungen

  • Azure-Abonnement – kostenloses Abonnement erstellen.
  • Stellen Sie sicher, dass die RBAC-RolleAzure KI-Entwickler auf der entsprechenden Ebene zugewiesen ist.
  • Die Rolle Cognitive Services OpenAI-Benutzer muss Ihnen zugewiesen sein, damit Sie die Azure KI Services-Ressource verwenden können.
  • Installieren Sie die Azure CLI und die Machine Learning-Erweiterung. Wenn die CLI bereits installiert ist, vergewissern Sie sich, dass sie auf die neueste Version aktualisiert wurde.

Einrichten Ihres Azure KI-Hubs und Agent-Projekts

Im folgenden Abschnitt wird gezeigt, wie Sie die erforderlichen Ressourcen für die ersten Schritte mit dem Azure KI-Agent-Dienst einrichten:

  1. Erstellen eines Azure KI-Hubs zum Einrichten Ihrer App-Umgebung und Azure-Ressourcen.

  2. Durch das Erstellen eines Azure KI-Projekts unter Ihrem Hub wird ein Endpunkt zum Aufrufen durch Ihre App erstellt. Außerdem werden die App-Dienste für den Zugriff auf Ressourcen in Ihrem Mandanten eingerichtet.

  3. Verbinden einer Azure OpenAI-Ressource oder einer Azure KI Services-Ressource

Auswählen des Basic- oder Standard-Agent-Setups

Basic-Setup: Agents verwenden mehrinstanzenfähige Such- und Speicherressourcen, die vollständig von Microsoft verwaltet werden. Sie haben keine Sichtbarkeit oder Kontrolle über diese zugrunde liegenden Azure-Ressourcen.

Standardsetup: Agents verwenden kundeneigene Such- und Speicherressourcen mit einem Mandanten. Mit diesem Setup haben Sie die volle Kontrolle über diese Ressourcen, aber es fallen Kosten basierend auf Ihrer Nutzung an.

Hinweis

Sie können die folgenden automatisierten Bicep-Vorlagen verwenden, um entweder einen Standard-Agent oder einen grundlegenden Agent zu erstellen. Einen grundlegenden Agent können Sie auch über das Azure AI Foundry-Portal erstellen. Azure AI Foundry unterstützt derzeit nicht das Standard-Agent-Setup.

Beschreibung und automatische Bereitstellung Diagramm (zum Zoomen klicken)
Stellen Sie ein grundlegendes Agent-Setup bereit, das die verwaltete Identität für die Authentifizierung verwendet. Ressourcen für den KI-Hub, das KI-Projekt, das Speicherkonto und für KI-Dienste werden für Sie erstellt.

Das KI Services-Konto ist mit Ihrem Projekt und Hub verbunden, und es wird ein gpt-4o-mini-Modell in der Region „USA, Osten“ bereitgestellt. Standardmäßig wird ein von Microsoft verwalteter Schlüsseltresor verwendet.

Bereitstellung in Azure
Ein Architekturdiagramm für das Basic-Setup des Agents.
Stellen Sie ein Agent-Standardsetup bereit, das die verwaltete Identität für die Authentifizierung verwendet.

Ressourcen für den KI-Hub, das KI-Projekt, den Schlüsseltresor, das Speicherkonto, KI-Dienste und KI-Suche werden für Sie erstellt.

Die KI-Dienste, die KI-Suche, der Schlüsseltresor und das Speicherkonto sind mit Ihrem Projekt und Ihrem Hub verbunden. Ein gpt-4o-mini-Modell wird in der Region „USA, Osten“ bereitgestellt.

Bereitstellung in Azure
Ein Architekturdiagramm für das Standard-Setup des Agents.

[Optional] Modellauswahl in der Vorlage für die automatische Bereitstellung

Sie können das vom Agent verwendete Modell anpassen, indem Sie die Modellparameter in der Vorlage für die automatische Bereitstellung bearbeiten. Um ein anderes Modell bereitzustellen, müssen Sie mindestens die Parameter modelName und modelVersion aktualisieren.

Standardmäßig ist die Bereitstellungsvorlage mit den folgenden Werten konfiguriert:

Modellparameter Standardwert
modelName gpt-4o-mini
modelFormat OpenAI (für Azure OpenAI)
modelVersion 2024-07-18
modelSkuName GlobalStandard
modelLocation eastus

Wichtig

Ändern Sie den Parameter „modelFormat“ nicht.

Die Vorlagen unterstützen nur die Bereitstellung von Azure OpenAI-Modellen. Informationen zu den unterstützten Azure OpenAI-Modellen finden Sie in der Dokumentation zur Modellunterstützung für den Azure KI-Agent-Dienst.

[Optional] Verwenden Ihrer eigenen Ressourcen während der Agenteinrichtung

Hinweis

Wenn Sie eine vorhandene Ressource von KI Services oder Azure OpenAI verwenden, wird kein Modell bereitgestellt. Sie können ein Modell nach Abschluss des Agent-Setups in der Ressource bereitstellen.

Verwenden Sie eine vorhandene Ressource von KI Services, Azure OpenAI, KI Suche und/oder Azure Blob Storage, indem Sie die vollständige ARM-Ressourcen-ID in der Parameterdatei angeben:

  • aiServiceAccountResourceId
  • aiSearchServiceResourceId
  • aiStorageAccountResourceId

Wenn Sie eine vorhandene Azure OpenAI-Ressource verwenden möchten, müssen Sie die Parameter aiServiceAccountResourceId und aiServiceKind in der Parameterdatei aktualisieren. Der aiServiceKind-Parameter sollte auf AzureOpenAI festgelegt werden.

Weitere Informationen finden Sie unter Verwenden Ihrer eigenen Ressourcen.

Konfigurieren und Ausführen eines Agents

Komponente Beschreibung
Agent Benutzerdefinierte KI, die KI-Modelle in Verbindung mit Tools verwendet.
Tool Tools helfen, die Fähigkeit eines Agenten zu erweitern, während der Unterhaltung zuverlässig und präzise zu reagieren. Dazu gehören z. B. das Herstellen einer Verbindung mit benutzerdefinierten Wissensbasen, um das Modell zu grounden, oder das Aktivieren der Websuche, um aktuelle Informationen bereitzustellen.
Thread Eine Unterhaltungssitzung zwischen einem Agent und einem Benutzer. Threads speichern Nachrichten und behandeln automatisch das Abschneiden, um Inhalte in den Kontext eines Modells einzupassen.
Nachricht Eine Nachricht, die von einem Agent oder von einem Benutzer erstellt wurde. Nachrichten können Text, Bilder und andere Dateien enthalten. Nachrichten werden als Liste im Thread gespeichert.
Ausführung Aktivierung eines Agents, der basierend auf dem Inhalt des Threads mit der Ausführung beginnt. Der Agent verwendet seine Konfiguration und die Nachrichten des Threads, um Aufgaben durch Aufrufen von Modellen und Tools auszuführen. Als Teil einer Ausführung fügt der Agent Nachrichten an den Thread an.
Ausführungsschritt Eine detaillierte Liste der Schritte, die der Agent als Teil einer Ausführung ausgeführt hat. Ein Agent kann während seiner Ausführung Tools aufrufen oder Nachrichten erstellen. Wenn Sie die Ausführungsschritte untersuchen, können Sie verstehen, wie der Agent zu seinen Ergebnissen gelangt.

Verwenden Sie zum Authentifizieren Ihrer API-Anforderungen den Befehl az login, um sich bei Ihrem Azure-Abonnement anzumelden.

az login

Als Nächstes müssen Sie das Entra ID-Token abrufen, die Sie für die Autorisierung der API-Aufrufe benötigen. Rufen Sie das Token mithilfe des folgenden CLI-Befehls ab:

az account get-access-token --resource 'https://ml.azure.com/' | jq -r .accessToken | tr -d '"'

Legen Sie das Zugriffstoken als Umgebungsvariable mit dem Namen AZURE_AI_AGENTS_TOKEN fest.

Um REST-API-Aufrufe an den Azure KI-Agents-Dienst durchführen zu können, müssen Sie den Endpunkt wie folgt verwenden:

https://<HostName>/agents/v1.0/subscriptions/<AzureSubscriptionId>/resourceGroups/<ResourceGroup>/providers/Microsoft.MachineLearningServices/workspaces/<ProjectName>

HostName finden Sie, indem Sie zu Ihrer discovery_url navigieren und das führende https:// und nachfolgende /discovery entfernen. Führen Sie den folgenden CLI-Befehl aus, um discovery_url zu finden:

az ml workspace show -n {project_name} --subscription {subscription_name} --resource-group {resource_group_name} --query discovery_url

Ihr Endpunkt kann z. B. etwa wie folgt aussehen:

https://eastus.api.azureml.ms/agents/v1.0/subscriptions/12345678-abcd-1234-abcd-123456789000/resourceGroups/my-resource-group/providers/Microsoft.MachineLearningServices/workspaces/my-project-name

Legen Sie diesen Endpunkt als Umgebungsvariable mit dem Namen AZURE_AI_AGENTS_ENDPOINT fest.

Einen Agent erstellen

Hinweis

Beim Azure KI-Agents-Dienst müssen Sie im model-Parameter den Modellimplementierungsnamen angeben. Wenn sich der Name der Modellimplementierung von dem zugrunde liegenden Modellnamen unterscheidet, ändern Sie den Code zu "model": "{your-custom-model-deployment-name}".

curl $AZURE_AI_AGENTS_ENDPOINT/assistants?api-version=2024-12-01-preview \
  -H "Authorization: Bearer $AZURE_AI_AGENTS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "instructions": "You are a helpful agent.",
    "name": "my-agent",
    "tools": [{"type": "code_interpreter"}],
    "model": "gpt-4o-mini"
  }'

Erstellen eines Threads

curl $AZURE_AI_AGENTS_ENDPOINT/threads?api-version=2024-12-01-preview \
  -H "Authorization: Bearer $AZURE_AI_AGENTS_TOKEN" \
  -H "Content-Type: application/json" \
  -d ''

Hinzufügen einer Benutzerfrage zum Thread

curl $AZURE_AI_AGENTS_ENDPOINT/threads/thread_abc123/messages?api-version=2024-12-01-preview \
  -H "Authorization: Bearer $AZURE_AI_AGENTS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
      "role": "user",
      "content": "I need to solve the equation `3x + 11 = 14`. Can you help me?"
    }'

Ausführen des Threads

curl $AZURE_AI_AGENTS_ENDPOINT/threads/thread_abc123/runs?api-version=2024-12-01-preview \
  -H "Authorization: Bearer $AZURE_AI_AGENTS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "assistant_id": "asst_abc123",
  }'

Abrufen des Ausführungsstatus

curl $AZURE_AI_AGENTS_ENDPOINT/threads/thread_abc123/runs/run_abc123?api-version=2024-12-01-preview \
  -H "Authorization: Bearer $AZURE_AI_AGENTS_TOKEN"

Abrufen der Agent-Antwort

curl $AZURE_AI_AGENTS_ENDPOINT/threads/thread_abc123/messages?api-version=2024-12-01-preview \
  -H "Authorization: Bearer $AZURE_AI_AGENTS_TOKEN"