Snabbstart: Kom igång med Hjälp av Azure OpenAI-assistenter (förhandsversion)
Med Azure OpenAI Assistants (förhandsgranska) kan du skapa AI-assistenter som är skräddarsydda för dina behov med hjälp av anpassade instruktioner och utökade med avancerade verktyg som kodtolkare och anpassade funktioner.
Viktigt!
Objekt markerade (förhandsversion) i den här artikeln är för närvarande i offentlig förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och vi rekommenderar det inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt.
- En Azure AI-hubbresurs med en distribuerad modell. Mer information om distributionsmodellerna finns i Förstå distributionsmodeller.
- Skapa ett Azure AI-projekt i Azure AI Studio
Gå till Azure AI Studio (förhandsversion)
Med Azure AI Studio kan du använda Assistants v2 som tillhandahåller flera uppgraderingar, till exempel filsökningsverktyget som går snabbare och har stöd för fler filer.
Logga in på Azure AI Studio.
Gå till projektet eller skapa ett nytt projekt i Azure AI Studio.
I projektöversikten väljer du Assistenter, som finns under lekplatser.
Med assistenternas lekplats kan du utforska, prototypa och testa AI-assistenter utan att behöva köra någon kod. Från den här sidan kan du snabbt iterera och experimentera med nya idéer.
På lekplatsen finns flera alternativ för att konfigurera assistenten. I följande steg använder du installationsfönstret för att skapa en ny AI-assistent.
Namn Beskrivning Assistentens namn Ditt distributionsnamn som är associerat med en specifik modell. Instruktioner Instruktioner liknar systemmeddelanden där du ger modellen vägledning om hur den ska bete sig och vilket sammanhang den bör referera till när du genererar ett svar. Du kan beskriva assistentens personlighet, berätta vad den ska och inte ska svara på och tala om för den hur svar ska formateras. Du kan också ge exempel på de steg som ska utföras när du svarar på svar. Distribution Det är här du anger vilken modelldistribution som ska användas med din assistent. Funktioner Skapa anpassade funktionsdefinitioner för modellerna för att formulera API-anrop och strukturera datautdata baserat på dina specifikationer. Används inte i den här snabbstarten. Kodtolkare Kodtolkare ger åtkomst till en python-miljö i sandbox-miljö som kan användas för att tillåta modellen att testa och köra kod. Filer Du kan ladda upp upp till 10 000 filer med en maximal filstorlek på 512 MB att använda med verktyg. Används inte i den här snabbstarten.
Skapa din första assistent
Välj din distribution i listrutan Distributioner .
I listrutan Assistentkonfiguration väljer du Ny assistent.
Ge assistenten ett namn.
Ange följande instruktioner "Du är en AI-assistent som kan skriva kod för att besvara matematiska frågor"
Välj en modelldistribution. Vi rekommenderar att du testar med en av de senaste gpt-4-modellerna.
Välj växlingsknappen aktiverande kodtolkare.
Välj Spara.
Ange en fråga som assistenten ska besvara: "Jag måste lösa ekvationen
3x + 11 = 14
. Kan du hjälpa mig?"Välj knappen Lägg till och kör
The solution to the equation (3x + 11 = 14) is (x = 1).
Vi kan se att svaret är korrekt, men för att bekräfta att modellen använde kodtolk för att komma åt det här svaret och att koden den skrev är giltig i stället för att bara upprepa ett svar från modellens träningsdata ställer vi en annan fråga.
Ange uppföljningsfrågan: "Visa den kod du körde för att hämta den här lösningen."
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.
Du kan också läsa loggarna i den högra panelen för att bekräfta att kodtolkaren användes och verifiera koden som kördes för att generera svaret. Det är viktigt att komma ihåg att även om kodtolkaren ger modellen möjlighet att svara på mer komplexa matematiska frågor genom att konvertera frågorna till kod och köra i en python-miljö i begränsat läge, måste du fortfarande verifiera svaret för att bekräfta att modellen korrekt översatte din fråga till en giltig representation i kod.
Nyckelbegrepp
Tänk på följande begrepp när du använder assistenternas lekplats.
Verktyg
En enskild assistent kan komma åt upp till 128 verktyg, inklusive code interpreter
, samt alla anpassade verktyg som du skapar via funktioner.
Chatt-session
Chattsessionen kallas även för en tråd i assistentens API där konversationen mellan användaren och assistenten sker. Till skillnad från traditionella samtal för chatten finns det ingen gräns för antalet meddelanden i en tråd. Assistenten komprimerar automatiskt begäranden för att passa indatatokens gräns för modellen.
Det innebär också att du inte styr hur många token som skickas till modellen under varje konversationsvändning. Hantering av token abstraheras bort och hanteras helt av API:et Assistants.
Välj knappen Rensa chatt för att ta bort den aktuella konversationshistoriken.
Under textrutan finns två knappar:
- Lägg till ett meddelande utan körning.
- Lägg till och kör.
Loggar
Loggar ger en detaljerad ögonblicksbild av vad api-aktiviteten för assistenten.
Visa paneler
Som standard finns det tre paneler: assistentkonfiguration, chattsession och loggar. Med Visa paneler kan du lägga till, ta bort och ordna om panelerna. Om du någonsin stänger en panel och behöver få tillbaka den använder du Visa paneler för att återställa den förlorade panelen.
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.
Du kan också ta bort assistenten eller tråden via assistentens API.
Se även
- Läs mer om hur du använder assistenter med vår instruktionsguide om assistenter.
- API-exempel för Azure OpenAI Assistants
ReferensdokumentationEns källkodspaket | för bibliotek (PyPi) | |
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- Python 3.8 eller senare version
- Följande Python-bibliotek: os, openai (version 1.x krävs)
- Azure CLI används för lösenordslös autentisering i en lokal utvecklingsmiljö och skapar den nödvändiga kontexten genom att logga in med Azure CLI.
- En Azure OpenAI-resurs med en kompatibel modell i en region som stöds.
- Vi rekommenderar att du läser transparensanteckningen ansvarsfull AI och andra ansvarsfulla AI-resurser för att bekanta dig med funktionerna och begränsningarna i Azure OpenAI-tjänsten.
- En Azure OpenAI-resurs med den
gpt-4 (1106-preview)
distribuerade modellen användes för att testa det här exemplet.
Lösenordsfri autentisering rekommenderas
För lösenordslös autentisering måste du
- Använd azure-identity-paketet.
Cognitive Services User
Tilldela rollen till ditt användarkonto. Detta kan göras i Azure Portal under Åtkomstkontroll (IAM)>Lägg till rolltilldelning.- Logga in med Azure CLI, till exempel
az login
.
Konfigurera
- Installera OpenAI Python-klientbiblioteket med:
pip install openai
- För den rekommenderade lösenordslösa autentiseringen:
pip install azure-identity
Kommentar
- Filsökning kan mata in upp till 10 000 filer per assistent – 500 gånger mer än tidigare. Den är snabb, stöder parallella frågor via sökningar med flera trådar och funktioner för förbättrad omrankning och omskrivning av frågor.
- Vector Store är ett nytt objekt i API:et. När en fil har lagts till i ett vektorlager parsas den automatiskt, segmenteras och bäddas in och görs redo att sökas igenom. Vektorlager kan användas mellan assistenter och trådar, vilket förenklar filhantering och fakturering.
- Vi har lagt till stöd för parametern
tool_choice
som kan användas för att tvinga fram användningen av ett specifikt verktyg (till exempel filsökning, kodtolkare eller en funktion) i en viss körning.
Kommentar
Det här biblioteket underhålls av OpenAI. Se versionshistoriken för att spåra de senaste uppdateringarna i biblioteket.
Hämta nyckel och slutpunkt
Om du vill göra ett anrop mot Azure OpenAI-tjänsten behöver du följande:
Variabelnamn | Värde |
---|---|
ENDPOINT |
Det här värdet finns i avsnittet Nycklar och slutpunkter när du undersöker din resurs från Azure Portal. Du hittar även slutpunkten via sidan Distributioner i Azure AI Studio. En exempelslutpunkt är: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Det här värdet finns i avsnittet Nycklar och slutpunkter när du undersöker din resurs från Azure Portal. Du kan använda antingen KEY1 eller KEY2 . |
DEPLOYMENT-NAME |
Det här värdet motsvarar det anpassade namn som du valde för distributionen när du distribuerade en modell. Det här värdet finns under Resurshanteringsmodelldistributioner> i Azure Portal eller via sidan Distributioner i Azure AI Studio. |
Gå till resursen i Azure Portal. Nycklar och slutpunkt finns i avsnittet Resurshantering . Kopiera slutpunkten och åtkomstnyckeln eftersom du behöver båda för att autentisera dina API-anrop. Du kan använda antingen KEY1
eller KEY2
. Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.
Miljövariabler
Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Skapa en assistent
I vår kod ska vi ange följande värden:
Namn | Beskrivning |
---|---|
Assistentens namn | Ditt distributionsnamn som är associerat med en specifik modell. |
Instruktioner | Instruktioner liknar systemmeddelanden där du ger modellen vägledning om hur den ska bete sig och vilket sammanhang den bör referera till när du genererar ett svar. Du kan beskriva assistentens personlighet, berätta vad den ska och inte ska svara på och tala om för den hur svar ska formateras. Du kan också ge exempel på de steg som ska utföras när du svarar på svar. |
Modell | Det är här du anger vilket modelldistributionsnamn som ska användas med din assistent. Hämtningsverktyget kräver gpt-35-turbo (1106) eller gpt-4 (1106-preview) modellerar. Ange det här värdet till distributionsnamnet, inte modellnamnet om det inte är samma. |
Kodtolkare | Kodtolkare ger åtkomst till en python-miljö i sandbox-miljö som kan användas för att tillåta modellen att testa och köra kod. |
Verktyg
En enskild assistent kan komma åt upp till 128 verktyg, inklusive code interpreter
, samt alla anpassade verktyg som du skapar via funktioner.
Skapa Python-appen
Logga in på Azure med az login
skapa och kör sedan en assistent med följande rekommenderade lösenordslösa Python-exempel:
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))
Om du vill använda tjänstens API-nyckel för autentisering kan du skapa och köra en assistent med följande Python-exempel:
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
Körningen har slutförts med status: slutförd
{
"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
}
Förstå dina resultat
I det här exemplet skapar vi en assistent med kodtolkaren aktiverad. När vi ställer en matematisk fråga till assistenten översätter den frågan till python-kod och kör koden i sandbox-miljön för att fastställa svaret på frågan. Koden som modellen skapar och testar för att komma fram till ett svar är:
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
Det är viktigt att komma ihåg att även om kodtolkaren ger modellen möjlighet att svara på mer komplexa frågor genom att konvertera frågorna till kod och köra koden iterativt i Python-sandbox-miljön tills den når en lösning, måste du fortfarande verifiera svaret för att bekräfta att modellen korrekt översatte din fråga till en giltig representation i kod.
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.
Se även
- Läs mer om hur du använder assistenter med vår instruktionsguide om assistenter.
- API-exempel för Azure OpenAI Assistants
Referensdokumentation Källkodspaket | (NuGet) |
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- .NET 8 SDK
- En Azure OpenAI-resurs med en kompatibel modell i en region som stöds.
- Vi rekommenderar att du läser transparensanteckningen ansvarsfull AI och andra ansvarsfulla AI-resurser för att bekanta dig med funktionerna och begränsningarna i Azure OpenAI-tjänsten.
- En Azure OpenAI-resurs med den
gpt-4 (1106-preview)
distribuerade modellen användes för att testa det här exemplet.
Konfigurera
Skapa en ny .NET Core-app
I ett konsolfönster (till exempel cmd, PowerShell eller Bash) använder du
dotnet new
kommandot för att skapa en ny konsolapp med namnetazure-openai-quickstart
:dotnet new console -n azure-openai-assistants-quickstart
Ändra till katalogen för den nyligen skapade appmappen och skapa appen med
dotnet build
kommandot :dotnet build
Kompileringsutdata får inte innehålla några varningar eller fel.
... Build succeeded. 0 Warning(s) 0 Error(s) ...
Installera OpenAI .NET-klientbiblioteket med kommandot dotnet add package:
dotnet add package Azure.AI.OpenAI --prerelease
Hämta nyckel och slutpunkt
Om du vill göra ett anrop mot Azure OpenAI behöver du en slutpunkt och en nyckel.
Variabelnamn | Värde |
---|---|
ENDPOINT |
Tjänstslutpunkten finns i avsnittet Nycklar och slutpunkter när du undersöker resursen från Azure Portal. Du kan också hitta slutpunkten via sidan Distributioner i Azure AI Studio. En exempelslutpunkt är: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Det här värdet finns i avsnittet Nycklar och slutpunkt när du undersöker resursen från Azure-portalen. Du kan använda antingen KEY1 eller KEY2 . |
Gå till resursen i Azure Portal. Avsnittet Nycklar och slutpunkter finns i avsnittet Resurshantering . Kopiera slutpunkten och åtkomstnyckeln eftersom du behöver båda för att autentisera dina API-anrop. Du kan använda antingen KEY1
eller KEY2
. Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.
Miljövariabler
Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Lösenordsfri autentisering rekommenderas
Lösenordsfri autentisering är säkrare än nyckelbaserade alternativ och är den rekommenderade metoden för att ansluta till Azure-tjänster. Om du väljer Lösenordslös autentisering måste du slutföra följande:
Lägg till paketet
Azure.Identity
.dotnet add package Azure.Identity
Cognitive Services User
Tilldela rollen till ditt användarkonto. Detta kan göras i Azure Portal på din OpenAI-resurs under Åtkomstkontroll (IAM)>Lägg till rolltilldelning.Logga in på Azure med Visual Studio eller Azure CLI via
az login
.
Skapa assistenten
Program.cs
Uppdatera filen med följande kod för att skapa en assistent:
using Azure;
using Azure.AI.OpenAI.Assistants;
// Assistants is a beta API and subject to change
// Acknowledge its experimental status by suppressing the matching warning.
string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT");
string key = Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY");
var openAIClient = new AzureOpenAIClient(new Uri(endpoint), new AzureKeyCredential(key));
// Use for passwordless auth
//var openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential());
FileClient fileClient = openAIClient.GetFileClient();
AssistantClient assistantClient = openAIClient.GetAssistantClient();
// First, let's contrive a document we'll use retrieval with and upload it.
using Stream document = BinaryData.FromString("""
{
"description": "This document contains the sale history data for Contoso products.",
"sales": [
{
"month": "January",
"by_product": {
"113043": 15,
"113045": 12,
"113049": 2
}
},
{
"month": "February",
"by_product": {
"113045": 22
}
},
{
"month": "March",
"by_product": {
"113045": 16,
"113055": 5
}
}
]
}
""").ToStream();
OpenAIFileInfo salesFile = await fileClient.UploadFileAsync(
document,
"monthly_sales.json",
FileUploadPurpose.Assistants);
// Now, we'll create a client intended to help with that data
AssistantCreationOptions assistantOptions = new()
{
Name = "Example: Contoso sales RAG",
Instructions =
"You are an assistant that looks up sales data and helps visualize the information based"
+ " on user queries. When asked to generate a graph, chart, or other visualization, use"
+ " the code interpreter tool to do so.",
Tools =
{
new FileSearchToolDefinition(),
new CodeInterpreterToolDefinition(),
},
ToolResources = new()
{
FileSearch = new()
{
NewVectorStores =
{
new VectorStoreCreationHelper([salesFile.Id]),
}
}
},
};
Assistant assistant = await assistantClient.CreateAssistantAsync(deploymentName, assistantOptions);
// Create and run a thread with a user query about the data already associated with the assistant
ThreadCreationOptions threadOptions = new()
{
InitialMessages = { "How well did product 113045 sell in February? Graph its trend over time." }
};
ThreadRun threadRun = await assistantClient.CreateThreadAndRunAsync(assistant.Id, threadOptions);
// Check back to see when the run is done
do
{
Thread.Sleep(TimeSpan.FromSeconds(1));
threadRun = assistantClient.GetRun(threadRun.ThreadId, threadRun.Id);
} while (!threadRun.Status.IsTerminal);
// Finally, we'll print out the full history for the thread that includes the augmented generation
AsyncCollectionResult<ThreadMessage> messages
= assistantClient.GetMessagesAsync(
threadRun.ThreadId,
new MessageCollectionOptions() { Order = MessageCollectionOrder.Ascending });
await foreach (ThreadMessage message in messages)
{
Console.Write($"[{message.Role.ToString().ToUpper()}]: ");
foreach (MessageContent contentItem in message.Content)
{
if (!string.IsNullOrEmpty(contentItem.Text))
{
Console.WriteLine($"{contentItem.Text}");
if (contentItem.TextAnnotations.Count > 0)
{
Console.WriteLine();
}
// Include annotations, if any.
foreach (TextAnnotation annotation in contentItem.TextAnnotations)
{
if (!string.IsNullOrEmpty(annotation.InputFileId))
{
Console.WriteLine($"* File citation, file ID: {annotation.InputFileId}");
}
if (!string.IsNullOrEmpty(annotation.OutputFileId))
{
Console.WriteLine($"* File output, new file ID: {annotation.OutputFileId}");
}
}
}
if (!string.IsNullOrEmpty(contentItem.ImageFileId))
{
OpenAIFileInfo imageInfo = await fileClient.GetFileAsync(contentItem.ImageFileId);
BinaryData imageBytes = await fileClient.DownloadFileAsync(contentItem.ImageFileId);
using FileStream stream = File.OpenWrite($"{imageInfo.Filename}.png");
imageBytes.ToStream().CopyTo(stream);
Console.WriteLine($"<image: {imageInfo.Filename}.png>");
}
}
Console.WriteLine();
}
Kör appen med kommandot dotnet run
:
dotnet run
Konsolens utdata bör likna följande:
[USER]: How well did product 113045 sell in February? Graph its trend over time.
[ASSISTANT]: Product 113045 sold 22 units in February. Let's visualize its sales trend over the given months (January through March).
I'll create a graph to depict this trend.
[ASSISTANT]: <image: 553380b7-fdb6-49cf-9df6-e8e6700d69f4.png>
The graph above visualizes the sales trend for product 113045 from January to March. As seen, the sales peaked in February with 22 units sold, and fluctuated over the period from January (12 units) to March (16 units).
If you need further analysis or more details, feel free to ask!
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.
Se även
- Läs mer om hur du använder assistenter med vår instruktionsguide om assistenter.
- API-exempel för Azure OpenAI Assistants
ReferensdokumentationEns källkodspaket | för bibliotek (npm) | |
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- Node.js LTS- eller ESM-stöd.
- Azure CLI används för lösenordslös autentisering i en lokal utvecklingsmiljö och skapar den nödvändiga kontexten genom att logga in med Azure CLI.
- En Azure OpenAI-resurs med en kompatibel modell i en region som stöds.
- Vi rekommenderar att du läser transparensanteckningen ansvarsfull AI och andra ansvarsfulla AI-resurser för att bekanta dig med funktionerna och begränsningarna i Azure OpenAI-tjänsten.
- En Azure OpenAI-resurs med den
gpt-4 (1106-preview)
distribuerade modellen användes för att testa det här exemplet.
Microsoft Entra ID-autentisering rekommenderas
För nyckellös autentisering måste du
- Använd paketet
@azure/identity
. Cognitive Services User
Tilldela rollen till ditt användarkonto. Detta kan göras i Azure Portal under Åtkomstkontroll (IAM)>Lägg till rolltilldelning.- Logga in med Azure CLI, till exempel
az login
.
Konfigurera
Skapa en ny mapp
assistants-quickstart
som ska innehålla programmet och öppna Visual Studio Code i mappen med följande kommando:mkdir assistants-quickstart && code assistants-quickstart
package.json
Skapa med följande kommando:npm init -y
package.json
Uppdatera till ECMAScript med följande kommando:npm pkg set type=module
Installera OpenAI Assistants-klientbiblioteket för JavaScript med:
npm install openai
För den rekommenderade lösenordslösa autentiseringen:
npm install @azure/identity
Hämta resursinformation
Variabelnamn | Värde |
---|---|
AZURE_OPENAI_ENDPOINT |
Det här värdet finns i avsnittet Nycklar och slutpunkter när du undersöker din resurs från Azure Portal. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Det här värdet motsvarar det anpassade namn som du valde för distributionen när du distribuerade en modell. Det här värdet finns under Resurshanteringsmodelldistributioner> i Azure Portal. |
OPENAI_API_VERSION |
Läs mer om API-versioner. |
Läs mer om nyckellös autentisering och inställning av miljövariabler.
Varning
Om du vill använda den rekommenderade nyckellösa autentiseringen med SDK:t kontrollerar du att AZURE_OPENAI_API_KEY
miljövariabeln inte har angetts.
Skapa en assistent
I vår kod ska vi ange följande värden:
Namn | Beskrivning |
---|---|
Assistentens namn | Ditt distributionsnamn som är associerat med en specifik modell. |
Instruktioner | Instruktioner liknar systemmeddelanden där du ger modellen vägledning om hur den ska bete sig och vilket sammanhang den bör referera till när du genererar ett svar. Du kan beskriva assistentens personlighet, berätta vad den ska och inte ska svara på och tala om för den hur svar ska formateras. Du kan också ge exempel på de steg som ska utföras när du svarar på svar. |
Modell | Det här är distributionsnamnet. |
Kodtolkare | Kodtolkare ger åtkomst till en python-miljö i sandbox-miljö som kan användas för att tillåta modellen att testa och köra kod. |
Verktyg
En enskild assistent kan komma åt upp till 128 verktyg, inklusive code interpreter
, och alla anpassade verktyg som du skapar via funktioner.
Skapa ett nytt JavaScript-program
index.js
Skapa filen med följande kod:const { AzureOpenAI } = require("openai"); const { DefaultAzureCredential, getBearerTokenProvider, } = require("@azure/identity"); // Get environment variables const azureOpenAIEndpoint = process.env.AZURE_OPENAI_ENDPOINT; const azureOpenAIDeployment = process.env.AZURE_OPENAI_DEPLOYMENT_NAME; const azureOpenAIVersion = process.env.OPENAI_API_VERSION; // Check env variables if (!azureOpenAIEndpoint || !azureOpenAIDeployment || !azureOpenAIVersion) { 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 = () => { const credential = new DefaultAzureCredential(); const scope = "https://cognitiveservices.azure.com/.default"; const azureADTokenProvider = getBearerTokenProvider(credential, scope); const assistantsClient = new AzureOpenAI({ endpoint: azureOpenAIEndpoint, apiVersion: azureOpenAIVersion, azureADTokenProvider, }); return assistantsClient; }; const assistantsClient = getClient(); const options = { 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" }], }; const role = "user"; const message = "I need to solve the equation `3x + 11 = 14`. Can you help me?"; // Create an assistant const assistantResponse = await assistantsClient.beta.assistants.create( options ); console.log(`Assistant created: ${JSON.stringify(assistantResponse)}`); // Create a thread const assistantThread = await assistantsClient.beta.threads.create({}); console.log(`Thread created: ${JSON.stringify(assistantThread)}`); // Add a user question to the thread const threadResponse = 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 = 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 = 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)}`); } } }
Logga in på Azure med följande kommando:
az login
Kör JavaScript-filen.
node index.js
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?"
Det är viktigt att komma ihåg att medan kodtolkaren ger modellen möjlighet att svara på mer komplexa frågor genom att konvertera frågorna till kod och köra koden iterativt i JavaScript tills den når en lösning, måste du fortfarande verifiera svaret för att bekräfta att modellen korrekt översatte din fråga till en giltig representation i kod.
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.
Exempelkod
Se även
- Läs mer om hur du använder assistenter med vår instruktionsguide om assistenter.
- API-exempel för Azure OpenAI Assistants
ReferensdokumentationEns källkodspaket | för bibliotek (npm) | |
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- Node.js LTS- eller ESM-stöd.
- TypeScript installerat globalt
- Azure CLI används för lösenordslös autentisering i en lokal utvecklingsmiljö och skapar den nödvändiga kontexten genom att logga in med Azure CLI.
- En Azure OpenAI-resurs med en kompatibel modell i en region som stöds.
- Vi rekommenderar att du läser transparensanteckningen ansvarsfull AI och andra ansvarsfulla AI-resurser för att bekanta dig med funktionerna och begränsningarna i Azure OpenAI-tjänsten.
- En Azure OpenAI-resurs med den
gpt-4 (1106-preview)
distribuerade modellen användes för att testa det här exemplet.
Lösenordsfri autentisering rekommenderas
För lösenordslös autentisering måste du
- Använd paketet
@azure/identity
. Cognitive Services User
Tilldela rollen till ditt användarkonto. Detta kan göras i Azure Portal under Åtkomstkontroll (IAM)>Lägg till rolltilldelning.- Logga in med Azure CLI, till exempel
az login
.
Konfigurera
Skapa en ny mapp
assistants-quickstart
som ska innehålla programmet och öppna Visual Studio Code i mappen med följande kommando:mkdir assistants-quickstart && code assistants-quickstart
package.json
Skapa med följande kommando:npm init -y
package.json
Uppdatera till ECMAScript med följande kommando:npm pkg set type=module
Installera OpenAI Assistants-klientbiblioteket för JavaScript med:
npm install openai
För den rekommenderade lösenordslösa autentiseringen:
npm install @azure/identity
Hämta resursinformation
Variabelnamn | Värde |
---|---|
AZURE_OPENAI_ENDPOINT |
Det här värdet finns i avsnittet Nycklar och slutpunkter när du undersöker din resurs från Azure Portal. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Det här värdet motsvarar det anpassade namn som du valde för distributionen när du distribuerade en modell. Det här värdet finns under Resurshanteringsmodelldistributioner> i Azure Portal. |
OPENAI_API_VERSION |
Läs mer om API-versioner. |
Läs mer om nyckellös autentisering och inställning av miljövariabler.
Varning
Om du vill använda den rekommenderade nyckellösa autentiseringen med SDK:t kontrollerar du att AZURE_OPENAI_API_KEY
miljövariabeln inte har angetts.
Skapa en assistent
I vår kod ska vi ange följande värden:
Namn | Beskrivning |
---|---|
Assistentens namn | Ditt distributionsnamn som är associerat med en specifik modell. |
Instruktioner | Instruktioner liknar systemmeddelanden där du ger modellen vägledning om hur den ska bete sig och vilket sammanhang den bör referera till när du genererar ett svar. Du kan beskriva assistentens personlighet, berätta vad den ska och inte ska svara på och tala om för den hur svar ska formateras. Du kan också ge exempel på de steg som ska utföras när du svarar på svar. |
Modell | Det här är distributionsnamnet. |
Kodtolkare | Kodtolkare ger åtkomst till en python-miljö i sandbox-miljö som kan användas för att tillåta modellen att testa och köra kod. |
Verktyg
En enskild assistent kan komma åt upp till 128 verktyg, inklusive code interpreter
, och alla anpassade verktyg som du skapar via funktioner.
Skapa ett nytt TypeScript-program
index.ts
Skapa filen med följande kod: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)}`); } } }
tsconfig.json
Skapa filen för att transpilera TypeScript-koden och kopiera följande kod för ECMAScript.{ "compilerOptions": { "module": "NodeNext", "target": "ES2022", // Supports top-level await "moduleResolution": "NodeNext", "skipLibCheck": true, // Avoid type errors from node_modules "strict": true // Enable strict type-checking options }, "include": ["*.ts"] }
Transpilera från TypeScript till JavaScript.
tsc
Logga in på Azure med följande kommando:
az login
Kör koden med följande kommando:
node index.js
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?"
Det är viktigt att komma ihåg att medan kodtolkaren ger modellen möjlighet att svara på mer komplexa frågor genom att konvertera frågorna till kod och köra koden iterativt i JavaScript tills den når en lösning, måste du fortfarande verifiera svaret för att bekräfta att modellen korrekt översatte din fråga till en giltig representation i kod.
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.
Exempelkod
Se även
- Läs mer om hur du använder assistenter med vår instruktionsguide om assistenter.
- API-exempel för Azure OpenAI Assistants
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- Python 3.8 eller senare version
- En Azure OpenAI-resurs med en kompatibel modell i en region som stöds.
- Vi rekommenderar att du läser transparensanteckningen ansvarsfull AI och andra ansvarsfulla AI-resurser för att bekanta dig med funktionerna och begränsningarna i Azure OpenAI-tjänsten.
- En Azure OpenAI-resurs med den
gpt-4 (1106-preview)
distribuerade modellen användes för att testa det här exemplet.
Konfigurera
Hämta nyckel och slutpunkt
Om du vill göra ett anrop mot Azure OpenAI behöver du följande:
Variabelnamn | Värde |
---|---|
ENDPOINT |
Tjänstslutpunkten finns i avsnittet Nycklar och slutpunkter när du undersöker resursen från Azure Portal. Du kan också hitta slutpunkten via sidan Distributioner i Azure AI Studio. En exempelslutpunkt är: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Det här värdet finns i avsnittet Nycklar och slutpunkt när du undersöker resursen från Azure-portalen. Du kan använda antingen KEY1 eller KEY2 . |
DEPLOYMENT-NAME |
Det här värdet motsvarar det anpassade namn som du valde för distributionen när du distribuerade en modell. Det här värdet finns under Resurshanteringsdistributioner> i Azure Portal eller via sidan Distributioner i Azure AI Studio. |
Gå till resursen i Azure Portal. Slutpunkten och nycklarna finns i avsnittet Resurshantering . Kopiera slutpunkten och åtkomstnyckeln eftersom du behöver båda för att autentisera dina API-anrop. Du kan använda antingen KEY1
eller KEY2
. Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.
Miljövariabler
Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
REST-API
Skapa en assistent
Kommentar
Med Azure OpenAI kräver parametern model
modelldistributionsnamn. Om namnet på modelldistributionen skiljer sig från det underliggande modellnamnet justerar du koden till "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"
}'
Verktyg
En enskild assistent kan komma åt upp till 128 verktyg, inklusive code interpreter
, samt alla anpassade verktyg som du skapar via funktioner.
Skapa en tråd
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads \
-H "Content-Type: application/json" \
-H "api-key: $AZURE_OPENAI_API_KEY" \
-d ''
Lägg till en användarfråga i tråden
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?"
}'
Kör tråden
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",
}'
Hämta status för körningen
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/thread_abc123/runs/run_abc123 \
-H "api-key: $AZURE_OPENAI_API_KEY" \
Assistentsvar
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" \
Förstå dina resultat
I det här exemplet skapar vi en assistent med kodtolkaren aktiverad. När vi ställer en matematisk fråga till assistenten översätter den frågan till python-kod och kör koden i sandbox-miljön för att fastställa svaret på frågan. Koden som modellen skapar och testar för att komma fram till ett svar är:
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
Det är viktigt att komma ihåg att även om kodtolkaren ger modellen möjlighet att svara på mer komplexa frågor genom att konvertera frågorna till kod och köra koden iterativt i Python-sandbox-miljön tills den når en lösning, måste du fortfarande verifiera svaret för att bekräfta att modellen korrekt översatte din fråga till en giltig representation i kod.
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.
Se även
- Läs mer om hur du använder assistenter med vår instruktionsguide om assistenter.
- API-exempel för Azure OpenAI Assistants