Dela via


Snabbstart: Kom igång med Azure OpenAI Assistants (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.

Förutsättningar

  • En Azure-prenumeration – Skapa en kostnadsfritt.

  • Åtkomst beviljad till Azure OpenAI i den önskade Azure-prenumerationen.

    För närvarande måste man ansöka om att få åtkomst till den här tjänsten. Du kan ansöka om åtkomst till Azure OpenAI genom att fylla i formuläret på https://aka.ms/oai/access. Öppna ett problem på den här lagringsplatsen för att kontakta oss om du har ett problem.

  • 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.

Gå till Azure OpenAI Studio

Gå till Azure OpenAI Studio vid https://oai.azure.com/ och logga in med autentiseringsuppgifter som har åtkomst till din OpenAI-resurs. Under eller efter inloggningsarbetsflödet väljer du lämplig katalog, Azure-prenumeration och Azure OpenAI-resurs.

Från Azure OpenAI Studio-landningssidan startar du assistentens lekplats från det vänstra navigeringsfältet Playground>Assistants (förhandsversion)

Skärmbild av landningssidan för Azure OpenAI Studio.

Lekplats

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.

Skärmbild av skärmen Assistentkonfiguration utan att alla värden har fyllts i.

Konfiguration av assistent

Använd installationsfönstret Assistent för att skapa en ny AI-assistent eller välja en befintlig 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
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 20 filer med en maximal filstorlek på 512 MB att använda med verktyg.

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.

Skapa din första assistent

  1. I listrutan för assistentkonfiguration väljer du Nytt

  2. Ge assistenten ett namn

  3. Ange följande instruktioner "Du är en AI-assistent som kan skriva kod för att besvara matematiska frågor"

  4. Välj en distribution av gpt-4 (1106-preview). Listrutan visar dina anpassade distributionsnamn, så om dina modell-/distributionsnamn skiljer sig bör du välja en distribution där den underliggande modellen motsvarar modellen med 1106 förhandsversioner.

  5. Välj växlingsknappen aktiverande kodtolkare.

  6. Välj Spara.

    Skärmbild av assistenten med konfigurationsinformation angiven.

  7. Ange en fråga som assistenten ska besvara: "Jag måste lösa ekvationen 3x + 11 = 14. Kan du hjälpa mig?"

  8. 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.

  9. Ange uppföljningsfrågan: "Visa den kod du körde för att hämta den här lösningen."

    Certainly! Here's the Python code I ran to find the solution for the equation (3x + 11 = 14):
    
    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  
    

Skärmbild av konversationssessionen i assistentens lekplats.

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.

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

Viktigt!

Vissa av de funktioner som beskrivs i den här artikeln kanske bara är tillgängliga i förhandsversionen. 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.

  • Åtkomst beviljad till Azure OpenAI i den önskade Azure-prenumerationen.

    För närvarande måste man ansöka om att få åtkomst till den här tjänsten. Du kan ansöka om åtkomst till Azure OpenAI genom att fylla i formuläret på https://aka.ms/oai/access. Öppna ett problem på den här lagringsplatsen för att kontakta oss om du har ett problem.

  • 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)

  1. Logga in på Azure AI Studio.

  2. Gå till projektet eller skapa ett nytt projekt i Azure AI Studio.

  3. I projektöversikten väljer du Assistenter under Projektlekplats.

    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 Assistent 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 20 filer med en maximal filstorlek på 512 MB att använda med verktyg. Används inte i den här snabbstarten.

    Skärmbild av skärmen Assistentkonfiguration utan att alla värden har fyllts i.

Skapa din första assistent

  1. Välj din distribution i listrutan Distributioner .

  2. I listrutan Assistentkonfiguration väljer du Nytt.

  3. Ge assistenten ett namn.

  4. Ange följande instruktioner "Du är en AI-assistent som kan skriva kod för att besvara matematiska frågor"

  5. Välj en modelldistribution. Vi rekommenderar att du testar med en av de senaste gpt-4-modellerna.

  6. Välj växlingsknappen aktiverande kodtolkare.

  7. Välj Spara.

    Skärmbild av assistenten med konfigurationsinformation angiven.

  8. Ange en fråga som assistenten ska besvara: "Jag måste lösa ekvationen 3x + 11 = 14. Kan du hjälpa mig?"

  9. 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.

  10. 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.
    

    Skärmbild av konversationssessionen i assistentens lekplats.

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

ReferensdokumentationEns källkodspaket | för bibliotek (PyPi) | |

Förutsättningar

  • En Azure-prenumeration – Skapa en kostnadsfritt

  • Åtkomst beviljad till Azure OpenAI i önskad Azure-prenumeration

    För närvarande måste man ansöka om att få åtkomst till den här tjänsten. Du kan ansöka om åtkomst till Azure OpenAI genom att fylla i formuläret på https://aka.ms/oai/access. Öppna ett problem på den här lagringsplatsen för att kontakta oss om du har ett problem.

  • 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.

För lösenordslös autentisering måste du

  1. Använd azure-identity-paketet.
  2. Cognitive Services User Tilldela rollen till ditt användarkonto. Detta kan göras i Azure-portalen under Åtkomstkontroll (IAM)>Lägg till rolltilldelning.
  3. Logga in med Azure CLI, till exempel az login.

Konfigurera

  1. Installera OpenAI Python-klientbiblioteket med:
pip install openai
  1. 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-portalen. Du kan också hitta värdet i Azure OpenAI Studio>Playground>View-koden. 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-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 Resurshanteringsmodelldistributioner> i Azure-portalen eller under Hanteringsdistributioner> i Azure OpenAI Studio.

Gå till din resurs i Azure-portalen. 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.

Skärmbild av översiktsbladet för en Azure OpenAI-resurs i Azure-portalen med platsen slutpunkt och åtkomstnycklar inringad i rött.

Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.

Miljövariabler

Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.

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

Referensdokumentation Källkodspaket | (NuGet) |

Förutsättningar

  • En Azure-prenumeration – Skapa en kostnadsfritt

  • Åtkomst beviljad till Azure OpenAI i önskad Azure-prenumeration

    För närvarande måste man ansöka om att få åtkomst till den här tjänsten. Du kan ansöka om åtkomst till Azure OpenAI genom att fylla i formuläret på https://aka.ms/oai/access. Öppna ett problem på den här lagringsplatsen för att kontakta oss om du har ett problem.

  • .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 namnet azure-openai-quickstart. Det här kommandot skapar ett enkelt "Hello World"-projekt med en enda C#-källfil: Program.cs.

dotnet new console -n azure-openai-assistants-quickstart

Ändra katalogen till den nyligen skapade appmappen. Du kan skapa programmet med:

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:

dotnet add package Azure.AI.OpenAI.Assistants --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 Det här värdet finns i avsnittet Nycklar och slutpunkt när du undersöker resursen från Azure-portalen. Du kan också hitta värdet i Azure OpenAI Studio>Playground Code>View. 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 din resurs i Azure-portalen. 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.

Skärmbild av översiktsgränssnittet för en Azure OpenAI-resurs i Azure-portalen med slutpunkten och åtkomstnycklarna inringade i rött.

Miljövariabler

Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.

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 och kör en assistent med följande:

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();
    }
}

Detta skriver ut utdata på följande sätt:

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\).

Nya meddelanden kan skapas i tråden innan de körs igen, vilket gör att assistenten använder tidigare meddelanden som kontext i tråden.

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

ReferensdokumentationEns källkodspaket | för bibliotek (npm) | |

Förutsättningar

  • En Azure-prenumeration – Skapa en kostnadsfritt

  • Åtkomst beviljad till Azure OpenAI i önskad Azure-prenumeration

    För närvarande måste man ansöka om att få åtkomst till den här tjänsten. Du kan ansöka om åtkomst till Azure OpenAI genom att fylla i formuläret på https://aka.ms/oai/access. Öppna ett problem på den här lagringsplatsen för att kontakta oss om du har ett problem.

  • Node.js LTS med TypeScript- 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.

För lösenordslös autentisering måste du

  1. Använd paketet @azure/identity .
  2. Cognitive Services User Tilldela rollen till ditt användarkonto. Detta kan göras i Azure-portalen under Åtkomstkontroll (IAM)>Lägg till rolltilldelning.
  3. Logga in med Azure CLI, till exempel az login.

Konfigurera

  1. Installera OpenAI Assistants-klientbiblioteket för JavaScript med:

    npm install openai
    
  2. För den rekommenderade lösenordslösa autentiseringen:

    npm install @azure/identity
    

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-portalen. Du kan också hitta värdet i Azure OpenAI Studio>Playground>View-koden. 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-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 Resurshanteringsmodelldistributioner> i Azure-portalen eller under Hanteringsdistributioner> i Azure OpenAI Studio.

Gå till din resurs i Azure-portalen. 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.

Skärmbild av översiktsbladet för en OpenAI-resurs i Azure-portalen med platsen slutpunkt och åtkomstnycklar inringad i rött.

Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.

Miljövariabler

Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Lägg till ytterligare miljövariabler för distributionsnamnet och API-versionen:

  • AZURE_OPENAI_DEPLOYMENT_NAME: Distributionsnamnet som visas i Azure-portalen.
  • OPENAI_API_VERSION: Läs mer om API-versioner.

Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.

setx AZURE_OPENAI_DEPLOYMENT_NAME "REPLACE_WITH_YOUR_DEPLOYMENT_NAME" 
setx OPENAI_API_VERSION "REPLACE_WITH_YOUR_API_VERSION" 

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, samt alla anpassade verktyg som du skapar via funktioner.

Logga in på Azure med az login skapa och kör sedan en assistent med följande rekommenderade lösenordslösa TypeScript-modul (index.ts):

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)}`);
    }
  }
}

Om du vill använda tjänstnyckeln för autentisering kan du skapa och köra en assistent med följande TypeScript-modul (index.ts):

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?"

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

Förutsättningar

  • En Azure-prenumeration – Skapa en kostnadsfritt

  • Åtkomst beviljad till Azure OpenAI i önskad Azure-prenumeration

    För närvarande måste man ansöka om att få åtkomst till den här tjänsten. Du kan ansöka om åtkomst till Azure OpenAI-tjänsten genom att fylla i formuläret på https://aka.ms/oai/access. Öppna ett problem på den här lagringsplatsen för att kontakta oss om du har ett problem.

  • 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 Det här värdet finns i avsnittet Nycklar och slutpunkt när du undersöker resursen från Azure-portalen. Du kan också hitta värdet i kodvyn: Azure OpenAI Studio>Playground>Code View. 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 Resurshantering>Distributioner i Azure-portalen eller under Management (Hantering)>Deployments (Distributioner) i Azure OpenAI Studio.

Gå till din resurs i Azure-portalen. 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.

Skärmbild av översiktsbladet för en Azure OpenAI-resurs i Azure-portalen med platsen slutpunkt och åtkomstnycklar inringad i rött.

Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.

Miljövariabler

Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.

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