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
- Azure-Abonnement – kostenloses Abonnement erstellen.
- Stellen Sie sicher, dass ihnen die RBAC-RolleAzure KI-Entwickler zugewiesen ist.
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:
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.
Wählen Sie + Projekt erstellen aus.
Geben Sie einen Namen für das Projekt ein.
Wenn Sie über einen Hub verfügen, ist der zuletzt verwendete Hub ausgewählt.
Wenn Sie Zugriff auf mehrere Hubs haben, können Sie in der Dropdownliste einen anderen Hub auswählen.
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.
Klicken Sie auf Erstellen.
Bereitstellen eines Modells
Melden Sie sich bei Azure KI Foundry an.
Wechseln Sie zu Ihrem Projekt oder erstellen Sie ein neues Projekt im Azure KI Foundry-Portal.
Wählen Sie in Ihrer Projektübersicht unter Erstellen und anpassen die Option Agents aus.
Wählen Sie Ihre Azure OpenAI-Ressource aus.
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.
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.
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.
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.
Siehe auch
Sehen Sie sich die Modelle an, die Sie mit Agents verwenden können.
| Referenzdokumentation | Beispiele | Quellcode der Bibliothek | Paket (NuGet) |
Voraussetzungen
- Azure-Abonnement – kostenloses Abonnement erstellen.
- Die neueste Version von .NET
- Stellen Sie sicher, dass die RBAC-RolleAzure KI-Entwickler auf der entsprechenden Ebene zugewiesen ist.
- 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:
Erstellen eines Azure KI-Hubs zum Einrichten Ihrer App-Umgebung und Azure-Ressourcen.
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.
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.
[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.
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
- Azure-Abonnement – kostenloses Abonnement erstellen.
- Python 3.8 oder höher
- Stellen Sie sicher, dass die RBAC-RolleAzure KI-Entwickler auf der entsprechenden Ebene zugewiesen ist.
- 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:
Erstellen eines Azure KI-Hubs zum Einrichten Ihrer App-Umgebung und Azure-Ressourcen.
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.
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.
[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.
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
- Azure-Abonnement – kostenloses Abonnement erstellen.
- Python 3.8 oder höher
- 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:
Erstellen eines Azure KI-Hubs zum Einrichten Ihrer App-Umgebung und Azure-Ressourcen.
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.
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.
[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.
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
- Azure-Abonnement – kostenloses Abonnement erstellen.
- Node.js LTS
- Stellen Sie sicher, dass die RBAC-RolleAzure KI-Entwickler auf der entsprechenden Ebene zugewiesen ist.
- 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:
Erstellen eines Azure KI-Hubs zum Einrichten Ihrer App-Umgebung und Azure-Ressourcen.
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.
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.
[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.
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
- Azure-Abonnement – kostenloses Abonnement erstellen.
- Node.js LTS
- TypeScript 5.x
- Stellen Sie sicher, dass die RBAC-RolleAzure KI-Entwickler auf der entsprechenden Ebene zugewiesen ist.
- 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:
Erstellen eines Azure KI-Hubs zum Einrichten Ihrer App-Umgebung und Azure-Ressourcen.
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.
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.
[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.
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!
---------------------------------
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:
Erstellen eines Azure KI-Hubs zum Einrichten Ihrer App-Umgebung und Azure-Ressourcen.
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.
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.
[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"