Schnellstart: Erste Schritte mit Azure OpenAI Assistants (Vorschau)
Mit Azure OpenAI Assistants (Preview) können Sie KI-Assistenten erstellen, die dank benutzerdefinierte Anweisungen auf Ihre Anforderungen zugeschnitten sind und durch erweiterte Tools wie Codedolmetscher und benutzerdefinierte Funktionen ergänzt werden.
Wichtig
Einige der in diesem Artikel beschriebenen Features sind möglicherweise nur in der Vorschau verfügbar. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und sollte nicht für Produktionsworkloads verwendet werden. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.
Voraussetzungen
- Azure-Abonnement – kostenloses Abonnement erstellen.
- Eine Azure KI-Hubressource mit einem bereitgestellten Modell. Weitere Informationen zur Modellimplementierung finden Sie im Leitfaden zur Ressourcenbereitstellung.
- Ein Azure KI-Projekt in Azure KI Studio.
Navigieren zu Azure KI Studio (Vorschau)
Hinweis
Sie können zwar Azure OpenAI Studio verwenden, es wird jedoch empfohlen, über die hier beschriebenen Schritte Azure KI Studio zu verwenden. Mit KI Studio können Sie v2-Assistenten verwenden, die mehrere Upgrades bieten. Das Dateisuche-Tool ist etwa schneller und unterstützt mehr Dateien.
Melden Sie sich beim Azure KI Studio an.
Wechseln Sie zu Ihrem Projekt oder erstellen Sie ein neues Projekt in Azure KI Studio.
Wählen Sie in der Projektübersicht Assistentenaus. Dies befindet sich unter Projekt-Playground.
Mit dem Assistants-Playground können Sie KI-Assistenten erkunden, prototypisieren 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.
Der Playground bietet mehrere Optionen zum Konfigurieren des Assistenten. In den folgenden Schritten werden Sie den Bereich Assistenten-Setup, um einen neuen KI-Assistenten zu erstellen.
Name Beschreibung Assistentenname Ihr Bereitstellungsname, der einem bestimmten Modell zugeordnet ist. Anweisungen Anweisungen ähneln Systemmeldungen, die dem Modell Anleitungen dazu geben, wie es sich verhalten soll und auf welche Kontexte es beim Generieren von Antworten verweisen soll. Sie können die Persönlichkeit des Assistenten beschreiben, ihm sagen, was er beantworten soll und was nicht, und ihm sagen, wie Antworten formatiert werden sollen. Sie können auch Beispiele für die Schritte bereitstellen, die es beim Beantworten von Antworten ausführen soll. Bereitstellung Hier legen Sie fest, welche Modellimplementierung mit Ihrem Assistenten verwendet werden soll. Funktionen Erstellen Sie benutzerdefinierte Funktionsdefinitionen für die Modelle zum Formulieren von API-Aufrufen und strukturieren Sie Datenausgaben basierend auf Ihren Spezifikationen. In dieser Schnellstartanleitung nicht verwendet. Codeinterpreter Codeinterpreter bietet Zugriff auf eine Sandbox-Python-Umgebung, mit der das Modell Code testen und ausführen kann. Dateien Sie können bis zu 10.000 Dateien mit einer maximalen Dateigröße von 512 MB hochladen, um sie mit Tools zu verwenden. In dieser Schnellstartanleitung nicht verwendet.
Erstellen Ihres ersten Assistenten
Wählen Sie Ihre Bereitstellung in der Dropdownliste Bereitstellungen aus.
Wählen Sie im Dropdownmenü „Assistenten-Setup“ die Option Neu aus.
Geben Sie Ihrem Assistenten einen Namen.
Geben Sie die folgenden Anweisungen ein: „Du bist ein KI-Assistent, der Code schreiben kann, um mathematische Fragen zu beantworten“.
Wählen Sie eine Modellimplementierung aus. Es wird empfohlen, für Tests die neuesten gpt-4-Modelle zu verwenden.
Wählen Sie den Umschalter zum Aktivieren des Codeinterpreters aus.
Wählen Sie Speichern.
Geben Sie eine Frage ein, die der Assistent benatworten soll: „Ich muss die Rechnung
3x + 11 = 14
lösen. Kannst du mir helfen?“Wählen Sie die Schaltfläche Hinzufügen und Ausführen aus.
The solution to the equation (3x + 11 = 14) is (x = 1).
Wir sehen zwar, dass die Antwort richtig ist, aber um zu bestätigen, dass das Modell den Codeinterpreter verwendet hat, um zu dieser Antwort zu gelangen, und dass der von ihm geschriebene Code gültig ist und nicht einfach eine Antwort aus den Trainingsdaten des Modells wiederholt, müssen wir eine weitere Frage stellen.
Geben Sie Folgendes ein: „Zeige mir den Code an, den du ausgeführt hast, um diese Lösung zu erhalten.“
Sure. The code is very straightforward
# calculation x = (14 - 11) / 3 x
First, we subtract 11 from 14, then divide the result by 3. This gives us the value of x which is 1.0.
Sie können auch die Protokolle im rechten Bereich konsultieren, um sicherzustellen, dass der Codeinterpreter verwendet wurde, und um den Code zu überprüfen, der zur Generierung der Antwort ausgeführt wurde. Es ist wichtig zu beachten, dass der Codeinterpreter das Modell zwar in die Lage versetzt, auf komplexere mathematische Fragen zu reagieren, indem er die Fragen in Code konvertiert und in einer Sandbox-Python-Umgebung ausgeführt. Dennoch müssen Sie die Antwort überprüfen, um sicherzustellen, dass das Modell Ihre Frage korrekt in eine gültige Codedarstellung übersetzt hat.
Wichtige Begriffe
Beachten Sie bei der Verwendung des Assistenten-Playgrounds die folgenden Konzepte.
Extras
Ein einzelner Assistent kann auf bis zu 128 Tools code interpreter
sowie auf alle benutzerdefinierten Tools, die Sie über Funktionen erstellen, zugreifen.
Chat-Sitzung
Die Chatsitzung, die innerhalb der API des Assistenten auch als Thread bezeichnet wird, ist der Ort, an dem die Unterhaltung zwischen Benutzer*innen und dem Assistenten stattfindet. Im Gegensatz zu herkömmlichen Chatabschlussaufrufen ist die Anzahl der Nachrichten in einem Thread nicht begrenzt. Der Assistent komprimiert automatisch Anforderungen, um den Eingabetokengrenzwert des Modells anzupassen.
Das bedeutet auch, dass Sie nicht steuern, wie viele Token während jeder Unterhaltung an das Modell übergeben werden. Das Verwalten von Token wird vollständig von der Assistants-API abstrahiert und verarbeitet.
Wählen Sie die Schaltfläche Chat löschen aus, um den aktuellen Konversationsverlauf zu löschen.
Unterhalb des Texteingabefelds gibt es zwei Schaltflächen:
- Nachricht ohne Ausführung hinzufügen.
- Hinzufügen und Ausführen.
Protokolle
Protokolle bieten eine detaillierte Momentaufnahme der API-Aktivität des Assistenten.
Anzeigen von Bereichen
Standardmäßig gibt es drei Bereiche: Assistenteneinrichtung, Chatsitzung und Protokolle. Mit Bereiche anzeigen können Sie die Bereiche hinzufügen, entfernen und neu anordnen. Wenn Sie jemals einen Bereich schließen und ihn wiederherstellen müssen, verwenden Sie Bereiche anzeigen, um den geschlossenen Bereich wiederherzustellen.
Bereinigen von Ressourcen
Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource selbst oder die Ressourcengruppe löschen. Wenn Sie die Ressourcengruppe löschen, werden auch alle anderen Ressourcen gelöscht, die ihr zugeordnet sind.
Alternativ können Sie den Assistentenoder Thread über die API des Assistenten löschen.
Weitere Informationen
- Erfahren Sie mehr über die Verwendung von Assistants mit unserer Schrittanleitung für Assistants.
- Beispiele zur Azure OpenAI Assistants-API
Referenzdokumentation | Quellcode der Bibliothek | Paket (PyPi) |
Voraussetzungen
- Azure-Abonnement: Kostenloses Azure-Konto
- Python 3.8 oder eine höhere Version
- Die folgenden Python-Bibliotheken: os, openai (Version 1.x ist erforderlich)
- Die Azure CLI wird für die kennwortlose Authentifizierung in einer lokalen Entwicklungsumgebung verwendet. Erstellen Sie den erforderlichen Kontext, indem Sie sich mit der Azure CLI anmelden.
- Eine Azure OpenAI-Ressource mit einem kompatiblen Modell in einer unterstützten Region.
- Wir empfehlen, den Transparenzhinweis zu verantwortungsvoller KI und andere Ressourcen für verantwortungsvolle KI zu lesen, um sich mit den Funktionen und Einschränkungen von Azure OpenAI Service vertraut zu machen.
- Zum Testen dieses Beispiels wurde eine Azure OpenAI-Ressource mit dem bereitgestellten
gpt-4 (1106-preview)
-Modell verwendet.
Kennwortlose Authentifizierung wird empfohlen
Für die kennwortlose Authentifizierung müssen Sie die folgenden Schritte ausführen:
- Verwenden Sie das Paket azure-identity.
- Weisen Sie Ihrem Benutzerkonto die
Cognitive Services User
-Rolle zu. Navigieren Sie hierzu im Azure-Portal zu Zugriffssteuerung (IAM)>Rollenzuweisungen hinzufügen. - Melden Sie sich mit der Azure CLI an (z. B.
az login
).
Einrichten
- Installieren Sie die OpenAI Python-Clientbibliothek mit:
pip install openai
- Für die empfohlene kennwortlose Authentifizierung:
pip install azure-identity
Hinweis
- Die Dateisuche kann bis zu 10.000 Dateien pro Assistent erfassen – 500 mal mehr als bisher. Sie ist schnell, unterstützt parallele Abfragen durch Multithreadsuchvorgänge und beinhaltet verbesserte Funktionen für Neusortierung und das Umschreiben von Abfragen.
- Der Vektorspeicher ist ein neues Objekt in der API. Sobald eine Datei einem Vektorspeicher hinzugefügt wurde, wird sie automatisch geparst, aufgeteilt und eingebettet, damit sie durchsucht werden kann. Vektorspeicher können über Assistenten und Threads hinweg verwendet werden und vereinfachen so die Dateiverwaltung und Abrechnung.
- Wir haben Unterstützung für den
tool_choice
-Parameter hinzugefügt. Dieser kann verwendet werden, um die Nutzung eines bestimmten Tools (z. B. Dateisuche, Codeinterpreter oder eine Funktion) in einer bestimmten Ausführung zu erzwingen.
Hinweis
Diese Bibliothek wird von OpenAI verwaltet. Lesen Sie den Versionsverlauf, um die neuesten Updates für die Bibliothek nachzuverfolgen.
Abrufen von Schlüssel und Endpunkt
Um erfolgreich einen Aufruf im Azure OpenAI Service auszuführen, benötigen Sie Folgendes:
Variablenname | Wert |
---|---|
ENDPOINT |
Diesen Wert finden Sie im Abschnitt Schlüssel und Endpunkt, wenn Sie die Ressource über das Azure-Portal untersuchen. Alternativ dazu finden Sie den Wert auch unter Azure OpenAI Studio>Playground>Code anzeigen. Ein Beispielendpunkt ist https://docs-test-001.openai.azure.com/ . |
API-KEY |
Diesen Wert finden Sie im Abschnitt Schlüssel und Endpunkt, wenn Sie die Ressource über das Azure-Portal untersuchen. Sie können KEY1 oder KEY2 verwenden. |
DEPLOYMENT-NAME |
Dieser Wert entspricht dem benutzerdefinierten Namen, den Sie während der Bereitstellung eines Modells für die Bereitstellung ausgewählt haben. Sie finden diesen Wert im Azure-Portal unter Ressourcenverwaltung>Modellbereitstellungen oder in Azure OpenAI Studio unter Verwaltung>Bereitstellungen. |
Wechseln Sie zu Ihrer Ressource im Azure-Portal. Die Werte für Schlüssel und Endpunkt finden Sie im Abschnitt Ressourcenverwaltung. Kopieren Sie die Werte für Endpunkt und Zugriffsschlüssel, da Sie beide für die Authentifizierung Ihrer API-Aufrufe benötigen. Sie können KEY1
oder KEY2
verwenden. Wenn Sie jederzeit zwei Schlüssel zur Verfügung haben, können Sie die Schlüssel auf sichere Weise rotieren und neu generieren, ohne Dienstunterbrechungen zu verursachen.
Umgebungsvariablen
Erstellen und Zuweisen von beständigen Umgebungsvariablen für Ihren Schlüssel und Endpunkt.
Wichtig
Wenn Sie einen API-Schlüssel verwenden, speichern Sie ihn an einer anderen Stelle sicher, z. B. in Azure Key Vault. Fügen Sie den API-Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich zugänglich.
Weitere Informationen zur Sicherheit von KI Services finden Sie unter Authentifizieren von Anforderungen an Azure KI Services.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Erstellen eines Assistenten
In unserem Code geben wir die folgenden Werte an:
Name | Beschreibung |
---|---|
Assistentenname | Ihr Bereitstellungsname, der einem bestimmten Modell zugeordnet ist. |
Anweisungen | Anweisungen ähneln Systemmeldungen, die dem Modell Anleitungen dazu geben, wie es sich verhalten soll und auf welche Kontexte es beim Generieren von Antworten verweisen soll. Sie können die Persönlichkeit des Assistenten beschreiben, ihm sagen, was er beantworten soll und was nicht, und ihm sagen, wie Antworten formatiert werden sollen. Sie können auch Beispiele für die Schritte bereitstellen, die es beim Beantworten von Antworten ausführen soll. |
Modell | Hier legen Sie fest, welcher Modellimplementierungsname mit Ihrem Assistenten verwendet werden soll. Das Abruftool erfordert oder Modell gpt-35-turbo (1106) oder gpt-4 (1106-preview) . Legen Sie diesen Wert auf Ihren Bereitstellungsnamen fest, nicht auf den Modellnamen, es sei denn, die Namen sind identisch. |
Codeinterpreter | Codeinterpreter bietet Zugriff auf eine Sandbox-Python-Umgebung, mit der das Modell Code testen und ausführen kann. |
Extras
Ein einzelner Assistent kann auf bis zu 128 Tools code interpreter
sowie auf alle benutzerdefinierten Tools, die Sie über Funktionen erstellen, zugreifen.
Erstellen der Python-App
Melden Sie sich mit az login
bei Azure an, und erstellen Sie anschließend mit dem folgenden empfohlenen kennwortlosen Python-Beispiel einen Assistenten:
import os
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
from openai import AzureOpenAI
token_provider = get_bearer_token_provider(DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default")
client = AzureOpenAI(
azure_ad_token_provider=token_provider,
azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
api_version="2024-05-01-preview",
)
# Create an assistant
assistant = client.beta.assistants.create(
name="Math Assist",
instructions="You are an AI assistant that can write code to help answer math questions.",
tools=[{"type": "code_interpreter"}],
model="gpt-4-1106-preview" # You must replace this value with the deployment name for your model.
)
# Create a thread
thread = client.beta.threads.create()
# Add a user question to the thread
message = client.beta.threads.messages.create(
thread_id=thread.id,
role="user",
content="I need to solve the equation `3x + 11 = 14`. Can you help me?"
)
# Run the thread and poll for the result
run = client.beta.threads.runs.create_and_poll(
thread_id=thread.id,
assistant_id=assistant.id,
instructions="Please address the user as Jane Doe. The user has a premium account.",
)
print("Run completed with status: " + run.status)
if run.status == "completed":
messages = client.beta.threads.messages.list(thread_id=thread.id)
print(messages.to_json(indent=2))
Um den API-Dienstschlüssel für die Authentifizierung zu verwenden, können Sie einen Assistenten mit dem folgenden Python-Beispiel erstellen und ausführen:
import os
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.environ["AZURE_OPENAI_API_KEY"],
azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
api_version="2024-05-01-preview",
)
# Create an assistant
assistant = client.beta.assistants.create(
name="Math Assist",
instructions="You are an AI assistant that can write code to help answer math questions.",
tools=[{"type": "code_interpreter"}],
model="gpt-4-1106-preview" # You must replace this value with the deployment name for your model.
)
# Create a thread
thread = client.beta.threads.create()
# Add a user question to the thread
message = client.beta.threads.messages.create(
thread_id=thread.id,
role="user",
content="I need to solve the equation `3x + 11 = 14`. Can you help me?"
)
# Run the thread and poll for the result
run = client.beta.threads.runs.create_and_poll(
thread_id=thread.id,
assistant_id=assistant.id,
instructions="Please address the user as Jane Doe. The user has a premium account.",
)
print("Run completed with status: " + run.status)
if run.status == "completed":
messages = client.beta.threads.messages.list(thread_id=thread.id)
print(messages.to_json(indent=2))
Output
Ausführung abgeschlossen mit dem Status: Abgeschlossen
{
"data": [
{
"id": "msg_4SuWxTubHsHpt5IlBTO5Hyw9",
"assistant_id": "asst_cYqL1RuwLyFV3HU1gkaE2k0K",
"attachments": [],
"content": [
{
"text": {
"annotations": [],
"value": "The solution to the equation \\(3x + 11 = 14\\) is \\(x = 1\\)."
},
"type": "text"
}
],
"created_at": 1716397091,
"metadata": {},
"object": "thread.message",
"role": "assistant",
"run_id": "run_hFgBPbUtO8ZNTnNPC8PgpH1S",
"thread_id": "thread_isb7spwRycI5ueT9E7357aOm"
},
{
"id": "msg_Z32w2E7kY5wEWhZqQWxIbIUB",
"assistant_id": null,
"attachments": [],
"content": [
{
"text": {
"annotations": [],
"value": "I need to solve the equation `3x + 11 = 14`. Can you help me?"
},
"type": "text"
}
],
"created_at": 1716397025,
"metadata": {},
"object": "thread.message",
"role": "user",
"run_id": null,
"thread_id": "thread_isb7spwRycI5ueT9E7357aOm"
}
],
"object": "list",
"first_id": "msg_4SuWxTubHsHpt5IlBTO5Hyw9",
"last_id": "msg_Z32w2E7kY5wEWhZqQWxIbIUB",
"has_more": false
}
Verstehen der Ergebnisse
In diesem Beispiel erstellen wir einen Assistenten mit aktivierten Codeinterpreter. Wenn wir dem Assistenten eine mathematische Frage stellen, übersetzt dieser die Frage in Python-Code und führt den Code in der Sandbox-Umgebung aus, um die Antwort auf die Frage zu finden. Der Code, den das Modell erstellt und testet, um zu einer Antwort zu gelangen, lautet:
from sympy import symbols, Eq, solve
# Define the variable
x = symbols('x')
# Define the equation
equation = Eq(3*x + 11, 14)
# Solve the equation
solution = solve(equation, x)
solution
Es ist wichtig zu beachten, dass der Codeinterpreter das Modell zwar in die Lage versetzt, auf komplexere Abfragen zu reagieren, indem er die Fragen in Code konvertiert und diesen iterativ in einer Python-Sandbox ausführt, bis er eine Lösung findet. Dennoch müssen Sie die Antwort überprüfen, um sicherzustellen, dass das Modell Ihre Frage korrekt in eine gültige Codedarstellung übersetzt hat.
Bereinigen von Ressourcen
Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource selbst oder die Ressourcengruppe löschen. Wenn Sie die Ressourcengruppe löschen, werden auch alle anderen Ressourcen gelöscht, die ihr zugeordnet sind.
Siehe auch
- Erfahren Sie mehr über die Verwendung von Assistants mit unserer Schrittanleitung für Assistants.
- Beispiele zur Azure OpenAI Assistants-API
Referenzdokumentation | Quellcode | Paket (NuGet)
Voraussetzungen
- Azure-Abonnement: Kostenloses Azure-Konto
- Das .NET 8 SDK
- Eine Azure OpenAI-Ressource mit einem kompatiblen Modell in einer unterstützten Region.
- Wir empfehlen, den Transparenzhinweis zu verantwortungsvoller KI und andere Ressourcen für verantwortungsvolle KI zu lesen, um sich mit den Funktionen und Einschränkungen von Azure OpenAI Service vertraut zu machen.
- Zum Testen dieses Beispiels wurde eine Azure OpenAI-Ressource mit dem bereitgestellten
gpt-4 (1106-preview)
-Modell verwendet.
Einrichten
Erstellen einer neuen .NET Core-Anwendung
Verwenden Sie in einem Konsolenfenster (z. B. cmd, PowerShell oder Bash) den Befehl dotnet new
zum Erstellen einer neuen Konsolen-App mit dem Namen azure-openai-quickstart
. Dieser Befehl erstellt ein einfaches „Hallo Welt“-Projekt mit einer einzigen C#-Quelldatei: Program.cs.
dotnet new console -n azure-openai-assistants-quickstart
Wechseln Sie zum Ordner der neu erstellten App. Sie können die Anwendung mit folgendem Befehl erstellen:
dotnet build
Die Buildausgabe sollte keine Warnungen oder Fehler enthalten.
...
Build succeeded.
0 Warning(s)
0 Error(s)
...
Installieren Sie die OpenAI .NET-Clientbibliothek mit:
dotnet add package Azure.AI.OpenAI.Assistants --prerelease
Abrufen von Schlüssel und Endpunkt
Für erfolgreiche Azure OpenAI-Aufrufe benötigen Sie einen Endpunkt und einen Schlüssel.
Variablenname | Wert |
---|---|
ENDPOINT |
Diesen Wert finden Sie im Abschnitt Schlüssel und Endpunkt, wenn Sie die Ressource über das Azure-Portal untersuchen. Alternativ dazu finden Sie den Wert auch unter Azure OpenAI Studio>Playground>Codeansicht. Ein Beispielendpunkt ist https://docs-test-001.openai.azure.com/ . |
API-KEY |
Diesen Wert finden Sie im Abschnitt Schlüssel und Endpunkt, wenn Sie die Ressource über das Azure-Portal untersuchen. Sie können KEY1 oder KEY2 verwenden. |
Wechseln Sie zu Ihrer Ressource im Azure-Portal. Den Abschnitt Schlüssel und Endpunkt finden Sie im Abschnitt Ressourcenverwaltung. Kopieren Sie die Werte für Endpunkt und Zugriffsschlüssel, da Sie beide für die Authentifizierung Ihrer API-Aufrufe benötigen. Sie können KEY1
oder KEY2
verwenden. Wenn Sie jederzeit zwei Schlüssel zur Verfügung haben, können Sie die Schlüssel auf sichere Weise rotieren und neu generieren, ohne Dienstunterbrechungen zu verursachen.
Umgebungsvariablen
Erstellen und Zuweisen von beständigen Umgebungsvariablen für Ihren Schlüssel und Endpunkt.
Wichtig
Wenn Sie einen API-Schlüssel verwenden, speichern Sie ihn an einer anderen Stelle sicher, z. B. in Azure Key Vault. Fügen Sie den API-Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich zugänglich.
Weitere Informationen zur Sicherheit von KI Services finden Sie unter Authentifizieren von Anforderungen an Azure KI Services.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Erstellen eines Assistenten
In unserem Code geben wir die folgenden Werte an:
Name | Beschreibung |
---|---|
Assistentenname | Ihr Bereitstellungsname, der einem bestimmten Modell zugeordnet ist. |
Anweisungen | Anweisungen ähneln Systemmeldungen, die dem Modell Anleitungen dazu geben, wie es sich verhalten soll und auf welche Kontexte es beim Generieren von Antworten verweisen soll. Sie können die Persönlichkeit des Assistenten beschreiben, ihm sagen, was er beantworten soll und was nicht, und ihm sagen, wie Antworten formatiert werden sollen. Sie können auch Beispiele für die Schritte bereitstellen, die es beim Beantworten von Antworten ausführen soll. |
Modell | Hier legen Sie fest, welcher Modellimplementierungsname mit Ihrem Assistenten verwendet werden soll. Das Abruftool erfordert oder Modell gpt-35-turbo (1106) oder gpt-4 (1106-preview) . Legen Sie diesen Wert auf Ihren Bereitstellungsnamen fest, nicht auf den Modellnamen, es sei denn, die Namen sind identisch. |
Codeinterpreter | Codeinterpreter bietet Zugriff auf eine Sandbox-Python-Umgebung, mit der das Modell Code testen und ausführen kann. |
Extras
Ein einzelner Assistent kann auf bis zu 128 Tools code interpreter
sowie auf alle benutzerdefinierten Tools, die Sie über Funktionen erstellen, zugreifen.
Erstellen Sie einen Assistenten mit folgendem Code, und führen Sie ihn aus:
using Azure;
using Azure.AI.OpenAI.Assistants;
string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT") ?? throw new ArgumentNullException("AZURE_OPENAI_ENDPOINT");
string key = Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY") ?? throw new ArgumentNullException("AZURE_OPENAI_API_KEY");
AssistantsClient client = new AssistantsClient(new Uri(endpoint), new AzureKeyCredential(key));
// Create an assistant
Assistant assistant = await client.CreateAssistantAsync(
new AssistantCreationOptions("gpt-4-1106-preview") // Replace this with the name of your model deployment
{
Name = "Math Tutor",
Instructions = "You are a personal math tutor. Write and run code to answer math questions.",
Tools = { new CodeInterpreterToolDefinition() }
});
// Create a thread
AssistantThread thread = await client.CreateThreadAsync();
// Add a user question to the thread
ThreadMessage message = await client.CreateMessageAsync(
thread.Id,
MessageRole.User,
"I need to solve the equation `3x + 11 = 14`. Can you help me?");
// Run the thread
ThreadRun run = await client.CreateRunAsync(
thread.Id,
new CreateRunOptions(assistant.Id)
);
// Wait for the assistant to respond
do
{
await Task.Delay(TimeSpan.FromMilliseconds(500));
run = await client.GetRunAsync(thread.Id, run.Id);
}
while (run.Status == RunStatus.Queued
|| run.Status == RunStatus.InProgress);
// Get the messages
PageableList<ThreadMessage> messagesPage = await client.GetMessagesAsync(thread.Id);
IReadOnlyList<ThreadMessage> messages = messagesPage.Data;
// Note: messages iterate from newest to oldest, with the messages[0] being the most recent
foreach (ThreadMessage threadMessage in messages.Reverse())
{
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);
}
Console.WriteLine();
}
}
Dadurch wird eine Ausgabe wie folgt gedruckt:
2024-03-05 03:38:17 - user: I need to solve the equation `3x + 11 = 14`. Can you help me?
2024-03-05 03:38:25 - assistant: The solution to the equation \(3x + 11 = 14\) is \(x = 1\).
Neue Nachrichten können vor der erneuten Ausführung im Thread erstellt werden, wodurch der Assistent die früheren Nachrichten als Kontext innerhalb des Threads verwendet.
Bereinigen von Ressourcen
Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource selbst oder die Ressourcengruppe löschen. Wenn Sie die Ressourcengruppe löschen, werden auch alle anderen Ressourcen gelöscht, die ihr zugeordnet sind.
Siehe auch
- Erfahren Sie mehr über die Verwendung von Assistants mit unserer Schrittanleitung für Assistants.
- Beispiele zur Azure OpenAI Assistants-API
Referenzdokumentation | Quellcode der Bibliothek | Paket (npm) |
Voraussetzungen
- Azure-Abonnement: Kostenloses Azure-Konto
- Node.js-LTS mit TypeScript- oder ESM-Unterstützung
- Die Azure CLI wird für die kennwortlose Authentifizierung in einer lokalen Entwicklungsumgebung verwendet. Erstellen Sie den erforderlichen Kontext, indem Sie sich mit der Azure CLI anmelden.
- Eine Azure OpenAI-Ressource mit einem kompatiblen Modell in einer unterstützten Region.
- Wir empfehlen, den Transparenzhinweis zu verantwortungsvoller KI und andere Ressourcen für verantwortungsvolle KI zu lesen, um sich mit den Funktionen und Einschränkungen von Azure OpenAI Service vertraut zu machen.
- Zum Testen dieses Beispiels wurde eine Azure OpenAI-Ressource mit dem bereitgestellten
gpt-4 (1106-preview)
-Modell verwendet.
Kennwortlose Authentifizierung wird empfohlen
Für die kennwortlose Authentifizierung müssen Sie die folgenden Schritte ausführen:
- Verwenden Sie das
@azure/identity
-Paket. - Weisen Sie Ihrem Benutzerkonto die
Cognitive Services User
-Rolle zu. Navigieren Sie hierzu im Azure-Portal zu Zugriffssteuerung (IAM)>Rollenzuweisungen hinzufügen. - Melden Sie sich mit der Azure CLI an (z. B.
az login
).
Einrichten
Installieren Sie mit dem folgenden Code die Clientbibliothek für OpenAI-Assistenten für JavaScript:
npm install openai
Für die empfohlene kennwortlose Authentifizierung:
npm install @azure/identity
Abrufen von Schlüssel und Endpunkt
Um erfolgreich einen Aufruf im Azure OpenAI Service auszuführen, benötigen Sie Folgendes:
Variablenname | Wert |
---|---|
ENDPOINT |
Diesen Wert finden Sie im Abschnitt Schlüssel und Endpunkt, wenn Sie die Ressource über das Azure-Portal untersuchen. Alternativ dazu finden Sie den Wert auch unter Azure OpenAI Studio>Playground>Code anzeigen. Ein Beispielendpunkt ist https://docs-test-001.openai.azure.com/ . |
API-KEY |
Diesen Wert finden Sie im Abschnitt Schlüssel und Endpunkt, wenn Sie die Ressource über das Azure-Portal untersuchen. Sie können KEY1 oder KEY2 verwenden. |
DEPLOYMENT-NAME |
Dieser Wert entspricht dem benutzerdefinierten Namen, den Sie während der Bereitstellung eines Modells für die Bereitstellung ausgewählt haben. Sie finden diesen Wert im Azure-Portal unter Ressourcenverwaltung>Modellbereitstellungen oder in Azure OpenAI Studio unter Verwaltung>Bereitstellungen. |
Wechseln Sie zu Ihrer Ressource im Azure-Portal. Die Werte für Schlüssel und Endpunkt finden Sie im Abschnitt Ressourcenverwaltung. Kopieren Sie die Werte für Endpunkt und Zugriffsschlüssel, da Sie beide für die Authentifizierung Ihrer API-Aufrufe benötigen. Sie können KEY1
oder KEY2
verwenden. Wenn Sie jederzeit zwei Schlüssel zur Verfügung haben, können Sie die Schlüssel auf sichere Weise rotieren und neu generieren, ohne Dienstunterbrechungen zu verursachen.
Umgebungsvariablen
Erstellen und Zuweisen von beständigen Umgebungsvariablen für Ihren Schlüssel und Endpunkt.
Wichtig
Wenn Sie einen API-Schlüssel verwenden, speichern Sie ihn an einer anderen Stelle sicher, z. B. in Azure Key Vault. Fügen Sie den API-Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich zugänglich.
Weitere Informationen zur Sicherheit von KI Services finden Sie unter Authentifizieren von Anforderungen an Azure KI Services.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Fügen Sie zusätzliche Umgebungsvariablen für den Bereitstellungsnamen und die API-Version hinzu:
AZURE_OPENAI_DEPLOYMENT_NAME
: Ihr Bereitstellungsname wie im Azure-Portal dargestellt.OPENAI_API_VERSION
: Weitere Informationen zu API-Versionen.
setx AZURE_OPENAI_DEPLOYMENT_NAME "REPLACE_WITH_YOUR_DEPLOYMENT_NAME"
setx OPENAI_API_VERSION "REPLACE_WITH_YOUR_API_VERSION"
Erstellen eines Assistenten
In unserem Code geben wir die folgenden Werte an:
Name | Beschreibung |
---|---|
Assistentenname | Ihr Bereitstellungsname, der einem bestimmten Modell zugeordnet ist. |
Anweisungen | Anweisungen ähneln Systemmeldungen, die dem Modell Anleitungen dazu geben, wie es sich verhalten soll und auf welche Kontexte es beim Generieren von Antworten verweisen soll. Sie können die Persönlichkeit des Assistenten beschreiben, ihm sagen, was er beantworten soll und was nicht, und ihm sagen, wie Antworten formatiert werden sollen. Sie können auch Beispiele für die Schritte bereitstellen, die es beim Beantworten von Antworten ausführen soll. |
Modell | Dies ist der Bereitstellungsname. |
Codeinterpreter | Codeinterpreter bietet Zugriff auf eine Sandbox-Python-Umgebung, mit der das Modell Code testen und ausführen kann. |
Extras
Ein einzelner Assistent kann auf bis zu 128 Tools code interpreter
sowie auf alle benutzerdefinierten Tools, die Sie über Funktionen erstellen, zugreifen.
Melden Sie sich mit az login
bei Azure an, und erstellen Sie dann einen Assistenten mit dem folgenden empfohlenen kennwortlosen TypeScript-Modul (index.ts). Führen Sie den Assistenten dann aus:
import "dotenv/config";
import { AzureOpenAI } from "openai";
import {
Assistant,
AssistantCreateParams,
AssistantTool,
} from "openai/resources/beta/assistants";
import { Message, MessagesPage } from "openai/resources/beta/threads/messages";
import { Run } from "openai/resources/beta/threads/runs/runs";
import { Thread } from "openai/resources/beta/threads/threads";
// Add `Cognitive Services User` to identity for Azure OpenAI resource
import {
DefaultAzureCredential,
getBearerTokenProvider,
} from "@azure/identity";
// Get environment variables
const azureOpenAIEndpoint = process.env.AZURE_OPENAI_ENDPOINT as string;
const azureOpenAIDeployment = process.env
.AZURE_OPENAI_DEPLOYMENT_NAME as string;
const openAIVersion = process.env.OPENAI_API_VERSION as string;
// Check env variables
if (!azureOpenAIEndpoint || !azureOpenAIDeployment || !openAIVersion) {
throw new Error(
"Please ensure to set AZURE_OPENAI_DEPLOYMENT_NAME and AZURE_OPENAI_ENDPOINT in your environment variables."
);
}
// Get Azure SDK client
const getClient = (): AzureOpenAI => {
const credential = new DefaultAzureCredential();
const scope = "https://cognitiveservices.azure.com/.default";
const azureADTokenProvider = getBearerTokenProvider(credential, scope);
const assistantsClient = new AzureOpenAI({
endpoint: azureOpenAIEndpoint,
apiVersion: openAIVersion,
azureADTokenProvider,
});
return assistantsClient;
};
const assistantsClient = getClient();
const options: AssistantCreateParams = {
model: azureOpenAIDeployment, // Deployment name seen in Azure AI Studio
name: "Math Tutor",
instructions:
"You are a personal math tutor. Write and run JavaScript code to answer math questions.",
tools: [{ type: "code_interpreter" } as AssistantTool],
};
const role = "user";
const message = "I need to solve the equation `3x + 11 = 14`. Can you help me?";
// Create an assistant
const assistantResponse: Assistant =
await assistantsClient.beta.assistants.create(options);
console.log(`Assistant created: ${JSON.stringify(assistantResponse)}`);
// Create a thread
const assistantThread: Thread = await assistantsClient.beta.threads.create({});
console.log(`Thread created: ${JSON.stringify(assistantThread)}`);
// Add a user question to the thread
const threadResponse: Message =
await assistantsClient.beta.threads.messages.create(assistantThread.id, {
role,
content: message,
});
console.log(`Message created: ${JSON.stringify(threadResponse)}`);
// Run the thread and poll it until it is in a terminal state
const runResponse: Run = await assistantsClient.beta.threads.runs.createAndPoll(
assistantThread.id,
{
assistant_id: assistantResponse.id,
},
{ pollIntervalMs: 500 }
);
console.log(`Run created: ${JSON.stringify(runResponse)}`);
// Get the messages
const runMessages: MessagesPage =
await assistantsClient.beta.threads.messages.list(assistantThread.id);
for await (const runMessageDatum of runMessages) {
for (const item of runMessageDatum.content) {
// types are: "image_file" or "text"
if (item.type === "text") {
console.log(`Message content: ${JSON.stringify(item.text?.value)}`);
}
}
}
Um den Dienstschlüssel für die Authentifizierung zu verwenden, können Sie einen Assistenten mit dem folgenden TypeScript-Modul (index.ts) erstellen und ausführen:
import "dotenv/config";
import { AzureOpenAI } from "openai";
import {
Assistant,
AssistantCreateParams,
AssistantTool,
} from "openai/resources/beta/assistants";
import { Message, MessagesPage } from "openai/resources/beta/threads/messages";
import { Run } from "openai/resources/beta/threads/runs/runs";
import { Thread } from "openai/resources/beta/threads/threads";
// Get environment variables
const azureOpenAIKey = process.env.AZURE_OPENAI_KEY as string;
const azureOpenAIEndpoint = process.env.AZURE_OPENAI_ENDPOINT as string;
const azureOpenAIDeployment = process.env
.AZURE_OPENAI_DEPLOYMENT_NAME as string;
const openAIVersion = process.env.OPENAI_API_VERSION as string;
// Check env variables
if (!azureOpenAIKey || !azureOpenAIEndpoint || !azureOpenAIDeployment || !openAIVersion) {
throw new Error(
"Please set AZURE_OPENAI_KEY and AZURE_OPENAI_ENDPOINT and AZURE_OPENAI_DEPLOYMENT_NAME in your environment variables."
);
}
// Get Azure SDK client
const getClient = (): AzureOpenAI => {
const assistantsClient = new AzureOpenAI({
endpoint: azureOpenAIEndpoint,
apiVersion: openAIVersion,
apiKey: azureOpenAIKey,
});
return assistantsClient;
};
const assistantsClient = getClient();
const options: AssistantCreateParams = {
model: azureOpenAIDeployment, // Deployment name seen in Azure AI Studio
name: "Math Tutor",
instructions:
"You are a personal math tutor. Write and run JavaScript code to answer math questions.",
tools: [{ type: "code_interpreter" } as AssistantTool],
};
const role = "user";
const message = "I need to solve the equation `3x + 11 = 14`. Can you help me?";
// Create an assistant
const assistantResponse: Assistant =
await assistantsClient.beta.assistants.create(options);
console.log(`Assistant created: ${JSON.stringify(assistantResponse)}`);
// Create a thread
const assistantThread: Thread = await assistantsClient.beta.threads.create({});
console.log(`Thread created: ${JSON.stringify(assistantThread)}`);
// Add a user question to the thread
const threadResponse: Message =
await assistantsClient.beta.threads.messages.create(assistantThread.id, {
role,
content: message,
});
console.log(`Message created: ${JSON.stringify(threadResponse)}`);
// Run the thread and poll it until it is in a terminal state
const runResponse: Run = await assistantsClient.beta.threads.runs.createAndPoll(
assistantThread.id,
{
assistant_id: assistantResponse.id,
},
{ pollIntervalMs: 500 }
);
console.log(`Run created: ${JSON.stringify(runResponse)}`);
// Get the messages
const runMessages: MessagesPage =
await assistantsClient.beta.threads.messages.list(assistantThread.id);
for await (const runMessageDatum of runMessages) {
for (const item of runMessageDatum.content) {
// types are: "image_file" or "text"
if (item.type === "text") {
console.log(`Message content: ${JSON.stringify(item.text?.value)}`);
}
}
}
Output
Assistant created: {"id":"asst_zXaZ5usTjdD0JGcNViJM2M6N","createdAt":"2024-04-08T19:26:38.000Z","name":"Math Tutor","description":null,"model":"daisy","instructions":"You are a personal math tutor. Write and run JavaScript code to answer math questions.","tools":[{"type":"code_interpreter"}],"fileIds":[],"metadata":{}}
Thread created: {"id":"thread_KJuyrB7hynun4rvxWdfKLIqy","createdAt":"2024-04-08T19:26:38.000Z","metadata":{}}
Message created: {"id":"msg_o0VkXnQj3juOXXRCnlZ686ff","createdAt":"2024-04-08T19:26:38.000Z","threadId":"thread_KJuyrB7hynun4rvxWdfKLIqy","role":"user","content":[{"type":"text","text":{"value":"I need to solve the equation `3x + 11 = 14`. Can you help me?","annotations":[]},"imageFile":{}}],"assistantId":null,"runId":null,"fileIds":[],"metadata":{}}
Created run
Run created: {"id":"run_P8CvlouB8V9ZWxYiiVdL0FND","object":"thread.run","status":"queued","model":"daisy","instructions":"You are a personal math tutor. Write and run JavaScript code to answer math questions.","tools":[{"type":"code_interpreter"}],"metadata":{},"usage":null,"assistantId":"asst_zXaZ5usTjdD0JGcNViJM2M6N","threadId":"thread_KJuyrB7hynun4rvxWdfKLIqy","fileIds":[],"createdAt":"2024-04-08T19:26:39.000Z","expiresAt":"2024-04-08T19:36:39.000Z","startedAt":null,"completedAt":null,"cancelledAt":null,"failedAt":null}
Message content: "The solution to the equation \\(3x + 11 = 14\\) is \\(x = 1\\)."
Message content: "Yes, of course! To solve the equation \\( 3x + 11 = 14 \\), we can follow these steps:\n\n1. Subtract 11 from both sides of the equation to isolate the term with x.\n2. Then, divide by 3 to find the value of x.\n\nLet me calculate that for you."
Message content: "I need to solve the equation `3x + 11 = 14`. Can you help me?"
Es ist wichtig zu beachten, dass der Codeinterpreter das Modell zwar in die Lage versetzt, auf komplexere Abfragen zu reagieren, indem er die Fragen in Code konvertiert und diesen iterativ in JavaScript ausführt, bis er eine Lösung findet. Dennoch müssen Sie die Antwort überprüfen, um sicherzustellen, dass das Modell Ihre Frage korrekt in eine gültige Codedarstellung übersetzt hat.
Bereinigen von Ressourcen
Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource selbst oder die Ressourcengruppe löschen. Wenn Sie die Ressourcengruppe löschen, werden auch alle anderen Ressourcen gelöscht, die ihr zugeordnet sind.
Beispielcode
Weitere Informationen
- Erfahren Sie mehr über die Verwendung von Assistants mit unserer Schrittanleitung für Assistants.
- Beispiele zur Azure OpenAI Assistants-API
Voraussetzungen
- Azure-Abonnement: Kostenloses Azure-Konto
- Python 3.8 oder eine höhere Version
- Eine Azure OpenAI-Ressource mit einem kompatiblen Modell in einer unterstützten Region.
- Wir empfehlen, den Transparenzhinweis zu verantwortungsvoller KI und andere Ressourcen für verantwortungsvolle KI zu lesen, um sich mit den Funktionen und Einschränkungen von Azure OpenAI Service vertraut zu machen.
- Zum Testen dieses Beispiels wurde eine Azure OpenAI-Ressource mit dem bereitgestellten
gpt-4 (1106-preview)
-Modell verwendet.
Einrichten
Abrufen von Schlüssel und Endpunkt
Um erfolgreich einen Aufruf für Azure OpenAI auszuführen, benötigen Sie Folgendes:
Variablenname | Wert |
---|---|
ENDPOINT |
Diesen Wert finden Sie im Abschnitt Schlüssel und Endpunkt, wenn Sie die Ressource über das Azure-Portal untersuchen. Alternativ dazu finden Sie den Wert auch unter Azure OpenAI Studio>Playground>Codeansicht. Ein Beispielendpunkt ist https://docs-test-001.openai.azure.com/ . |
API-KEY |
Diesen Wert finden Sie im Abschnitt Schlüssel und Endpunkt, wenn Sie die Ressource über das Azure-Portal untersuchen. Sie können KEY1 oder KEY2 verwenden. |
DEPLOYMENT-NAME |
Dieser Wert entspricht dem benutzerdefinierten Namen, den Sie während der Bereitstellung eines Modells für die Bereitstellung ausgewählt haben. Sie finden diesen Wert im Azure-Portal unter Ressourcenverwaltung>Bereitstellungen oder in Azure OpenAI Studio unter Verwaltung>Bereitstellungen. |
Wechseln Sie zu Ihrer Ressource im Azure-Portal. Die Werte für Endpunkt und Schlüssel finden Sie im Abschnitt Ressourcenverwaltung. Kopieren Sie die Werte für Endpunkt und Zugriffsschlüssel, da Sie beide für die Authentifizierung Ihrer API-Aufrufe benötigen. Sie können KEY1
oder KEY2
verwenden. Wenn Sie jederzeit zwei Schlüssel zur Verfügung haben, können Sie die Schlüssel auf sichere Weise rotieren und neu generieren, ohne Dienstunterbrechungen zu verursachen.
Umgebungsvariablen
Erstellen und Zuweisen von beständigen Umgebungsvariablen für Ihren Schlüssel und Endpunkt.
Wichtig
Wenn Sie einen API-Schlüssel verwenden, speichern Sie ihn an einer anderen Stelle sicher, z. B. in Azure Key Vault. Fügen Sie den API-Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich zugänglich.
Weitere Informationen zur Sicherheit von KI Services finden Sie unter Authentifizieren von Anforderungen an Azure KI Services.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
REST-API
Erstellen eines Assistenten
Hinweis
Bei Azure OpenAI erfordert der model
-Parameter den Modellimplementierungsnamen. Wenn sich der Name der Modellimplementierung von dem zugrunde liegenden Modellnamen unterscheidet, ändern Sie den Code zu "model": "{your-custom-model-deployment-name}"
.
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants?api-version=2024-05-01-preview \
-H "api-key: $AZURE_OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"instructions": "You are an AI assistant that can write code to help answer math questions.",
"name": "Math Assist",
"tools": [{"type": "code_interpreter"}],
"model": "gpt-4-1106-preview"
}'
Extras
Ein einzelner Assistent kann auf bis zu 128 Tools code interpreter
sowie auf alle benutzerdefinierten Tools, die Sie über Funktionen erstellen, zugreifen.
Erstellen eines Threads
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads \
-H "Content-Type: application/json" \
-H "api-key: $AZURE_OPENAI_API_KEY" \
-d ''
Hinzufügen einer Benutzerfrage zum Thread
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/thread_abc123/messages \
-H "Content-Type: application/json" \
-H "api-key: $AZURE_OPENAI_API_KEY" \
-d '{
"role": "user",
"content": "I need to solve the equation `3x + 11 = 14`. Can you help me?"
}'
Ausführen des Threads
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/thread_abc123/runs \
-H "api-key: $AZURE_OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"assistant_id": "asst_abc123",
}'
Abrufen des Ausführungsstatus
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/thread_abc123/runs/run_abc123 \
-H "api-key: $AZURE_OPENAI_API_KEY" \
Antwort des Assistenten
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/thread_abc123/messages \
-H "Content-Type: application/json" \
-H "api-key: $AZURE_OPENAI_API_KEY" \
Verstehen der Ergebnisse
In diesem Beispiel erstellen wir einen Assistenten mit aktivierten Codeinterpreter. Wenn wir dem Assistenten eine mathematische Frage stellen, übersetzt dieser die Frage in Python-Code und führt den Code in der Sandbox-Umgebung aus, um die Antwort auf die Frage zu finden. Der Code, den das Modell erstellt und testet, um zu einer Antwort zu gelangen, lautet:
from sympy import symbols, Eq, solve
# Define the variable
x = symbols('x')
# Define the equation
equation = Eq(3*x + 11, 14)
# Solve the equation
solution = solve(equation, x)
solution
Es ist wichtig zu beachten, dass der Codeinterpreter das Modell zwar in die Lage versetzt, auf komplexere Abfragen zu reagieren, indem er die Fragen in Code konvertiert und diesen iterativ in einer Python-Sandbox ausführt, bis er eine Lösung findet. Dennoch müssen Sie die Antwort überprüfen, um sicherzustellen, dass das Modell Ihre Frage korrekt in eine gültige Codedarstellung übersetzt hat.
Bereinigen von Ressourcen
Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource selbst oder die Ressourcengruppe löschen. Wenn Sie die Ressourcengruppe löschen, werden auch alle anderen Ressourcen gelöscht, die ihr zugeordnet sind.
Siehe auch
- Erfahren Sie mehr über die Verwendung von Assistants mit unserer Schrittanleitung für Assistants.
- Beispiele zur Azure OpenAI Assistants-API