Dela via


Api för assistenter (förhandsversion) kör referens

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.

Den här artikeln innehåller referensdokumentation för Python och REST för det nya ASSISTENT-API:et (förhandsversion). Mer detaljerad stegvis vägledning finns i komma igång-guiden.

Skapa körning

POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs?api-version=2024-08-01-preview

Skapa en körning.

Sökvägsparameter

Parameter Type Obligatoriskt Beskrivning
thread_id sträng Obligatoriskt ID:t för tråden som du vill skapa ett meddelande för.

Begärandetext

Namn Typ Obligatoriskt Beskrivning
assistant_id sträng Obligatoriskt ID:t för assistenten som ska användas för att köra den här körningen.
model sträng eller null Valfritt Namnet på modelldistributionen som ska användas för att köra den här körningen. Om ett värde anges här åsidosätter det modelldistributionsnamnet som är associerat med assistenten. Annars används det modelldistributionsnamn som är associerat med assistenten.
instructions sträng eller null Valfritt Åsidosätter assistentens instruktioner. Detta är användbart för att ändra beteendet per körning.
additional_instructions sträng Valfritt Lägger till ytterligare instruktioner i slutet av instruktionerna för körningen. Detta är användbart för att ändra beteendet per körning utan att åsidosätta andra instruktioner.
additional_messages matris Valfritt Lägger till ytterligare meddelanden i tråden innan körningen skapas.
tools matris eller null Valfritt Åsidosätt de verktyg som assistenten kan använda för den här körningen. Detta är användbart för att ändra beteendet per körning.
metadata map Valfritt Uppsättning med 16 nyckel/värde-par som kan kopplas till ett objekt. Detta kan vara användbart för att lagra ytterligare information om objektet i ett strukturerat format. Nycklar kan vara högst 64 tecken långa och värden kan vara högst 512 tecken långa.
temperature Nummer Valfritt Vilken samplingstemperatur som ska användas, mellan 0 och 2. Högre värden som 0,8 gör utdata mer slumpmässiga, medan lägre värden som 0,2 gör det mer fokuserat och deterministiskt. Standard är 1.
top_p Nummer Valfritt Ett alternativ till sampling med temperatur, som kallas kärnsampling, där modellen tar hänsyn till resultatet av token med top_p sannolikhetsmassa. Så 0,1 innebär att endast token som består av den översta 10 % sannolikhetsmassan beaktas. Vi rekommenderar vanligtvis att du ändrar detta eller temperatur men inte båda. Standard är 1.
stream boolean valfri Om truereturnerar returnerar en ström av händelser som inträffar under händelser som skickas av servern och avslutas när Körningen går in i ett terminaltillstånd med ett data: [DONE] meddelande.
max_prompt_tokens integer valfri Det maximala antalet slutförandetoken som kan användas under körningen. Körningen gör ett bra försök att endast använda antalet angivna slutförandetoken över flera varv av körningen. Om körningen överskrider det angivna antalet slutförandetoken avslutas körningen med statusen incomplete.
max_completion_tokens integer valfri Det maximala antalet slutförandetoken som kan användas under körningen. Körningen gör ett bra försök att endast använda antalet angivna slutförandetoken över flera varv av körningen. Om körningen överskrider det angivna antalet slutförandetoken avslutas körningen med statusen incomplete.
truncation_strategy truncationObject valfri Kontroller för hur en tråd trunkeras före körningen. Använd det här alternativet om du vill styra körningens inledande kontextfönster.
tool_choice sträng eller objekt valfri Styr vilket (om något) verktyg som anropas av modellen. Ett none värde innebär att modellen inte anropar några verktyg och i stället genererar ett meddelande. auto är standardvärdet och innebär att modellen kan välja mellan att generera ett meddelande eller anropa ett verktyg. Om du anger ett visst verktyg som {"type": "file_search"} eller {"type": "function", "function": {"name": "my_function"}} tvingar modellen att anropa verktyget.
response_format sträng eller objekt valfri Anger det format som modellen måste mata ut. Kompatibel med GPT-4 Turbo och alla GPT-3.5 Turbo modeller sedan gpt-3.5-turbo-1106.
Inställningen för att { "type": "json_object" } aktivera JSON-läge, vilket garanterar att meddelandet som modellen genererar är giltigt JSON.
Viktigt: När du använder JSON-läge måste du också instruera modellen att skapa JSON själv via ett system- eller användarmeddelande. Utan detta kan modellen generera en avaktiverande ström av blanksteg tills genereringen når tokengränsen, vilket resulterar i en tidskrävande och till synes "fast" begäran. Observera också att meddelandeinnehållet kan vara delvis avskuret om finish_reason="length", vilket indikerar att genereringen överskreds max_tokens eller konversationen överskred den maximala kontextlängden.

Returer

Ett körningsobjekt.

Exempel på begäran om att skapa körning

from openai import AzureOpenAI
    
client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
    api_version="2024-08-01-preview",
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    )

run = client.beta.threads.runs.create(
  thread_id="thread_abc123",
  assistant_id="asst_abc123"
)
print(run)

Skapa tråd och kör

POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/runs?api-version=2024-08-01-preview

Skapa en tråd och kör den i en enda begäran.

Begärandetext

Namn Typ Obligatoriskt Beskrivning
assistant_id sträng Obligatoriskt ID:t för assistenten som ska användas för att köra den här körningen.
thread objekt Valfritt
model sträng eller null Valfritt ID:t för modelldistributionsnamnet som ska användas för att köra den här körningen. Om ett värde anges här åsidosätter det modelldistributionsnamnet som är associerat med assistenten. Annars används det modelldistributionsnamn som är associerat med assistenten.
instructions sträng eller null Valfritt Åsidosätt standardsystemmeddelandet för assistenten. Detta är användbart för att ändra beteendet per körning.
tools matris eller null Valfritt Åsidosätt de verktyg som assistenten kan använda för den här körningen. Detta är användbart för att ändra beteendet per körning.
metadata map Valfritt Uppsättning med 16 nyckel/värde-par som kan kopplas till ett objekt. Detta kan vara användbart för att lagra ytterligare information om objektet i ett strukturerat format. Nycklar kan vara högst 64 tecken långa och värden kan vara högst 512 tecken långa.
temperature Nummer Valfritt Vilken samplingstemperatur som ska användas, mellan 0 och 2. Högre värden som 0,8 gör utdata mer slumpmässiga, medan lägre värden som 0,2 gör det mer fokuserat och deterministiskt. Standard är 1.
top_p Nummer Valfritt Ett alternativ till sampling med temperatur, som kallas kärnsampling, där modellen tar hänsyn till resultatet av token med top_p sannolikhetsmassa. Så 0,1 innebär att endast token som består av den översta 10 % sannolikhetsmassan beaktas. Vi rekommenderar vanligtvis att du ändrar detta eller temperatur men inte båda. Standard är 1.
stream boolean valfri Om truereturnerar returnerar en ström av händelser som inträffar under händelser som skickas av servern och avslutas när Körningen går in i ett terminaltillstånd med ett data: [DONE] meddelande.
max_prompt_tokens integer valfri Det maximala antalet slutförandetoken som kan användas under körningen. Körningen gör ett bra försök att endast använda antalet angivna slutförandetoken över flera varv av körningen. Om körningen överskrider det angivna antalet slutförandetoken avslutas körningen med statusen incomplete.
max_completion_tokens integer valfri Det maximala antalet slutförandetoken som kan användas under körningen. Körningen gör ett bra försök att endast använda antalet angivna slutförandetoken över flera varv av körningen. Om körningen överskrider det angivna antalet slutförandetoken avslutas körningen med statusen incomplete.
truncation_strategy truncationObject valfri Kontroller för hur en tråd trunkeras före körningen. Använd det här alternativet om du vill styra körningens inledande kontextfönster.
tool_choice sträng eller objekt valfri Styr vilket (om något) verktyg som anropas av modellen. Ett none värde innebär att modellen inte anropar några verktyg och i stället genererar ett meddelande. auto är standardvärdet och innebär att modellen kan välja mellan att generera ett meddelande eller anropa ett verktyg. Om du anger ett visst verktyg som {"type": "file_search"} eller {"type": "function", "function": {"name": "my_function"}} tvingar modellen att anropa verktyget.
response_format sträng eller objekt valfri Anger det format som modellen måste mata ut. Kompatibel med GPT-4 Turbo och alla GPT-3.5 Turbo modeller sedan gpt-3.5-turbo-1106.
Inställningen för att { "type": "json_object" } aktivera JSON-läge, vilket garanterar att meddelandet som modellen genererar är giltigt JSON.
Viktigt: När du använder JSON-läge måste du också instruera modellen att skapa JSON själv via ett system- eller användarmeddelande. Utan detta kan modellen generera en avaktiverande ström av blanksteg tills genereringen når tokengränsen, vilket resulterar i en tidskrävande och till synes "fast" begäran. Observera också att meddelandeinnehållet kan vara delvis avskuret om finish_reason="length", vilket indikerar att genereringen överskreds max_tokens eller konversationen överskred den maximala kontextlängden.

Returer

Ett körningsobjekt.

Exempel på begäran om att skapa tråd och körning

from openai import AzureOpenAI
    
client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
    api_version="2024-08-01-preview",
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    )

run = client.beta.threads.create_and_run(
  assistant_id="asst_abc123",
  thread={
    "messages": [
      {"role": "user", "content": "Explain deep learning to a 5 year old."}
    ]
  }
)

Listkörningar

GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs?api-version=2024-08-01-preview

Returnerar en lista över körningar som tillhör en tråd.

Sökvägsparameter

Parameter Type Obligatoriskt Beskrivning
thread_id sträng Obligatoriskt ID:t för den tråd som körningen tillhör.

Frågeparametrar

Namn Typ Obligatoriskt Beskrivning
limit integer Valfritt – standardvärdet är 20 En gräns för hur många objekt som ska returneras. Gränsen kan vara mellan 1 och 100 och standardvärdet är 20.
order sträng Valfritt – Standardinställningar för desc Sortera ordning efter objektens created_at tidsstämpel. asc för stigande ordning och desc för fallande ordning.
after sträng Valfritt En markör för användning i sidnumrering. after är ett objekt-ID som definierar din plats i listan. Om du till exempel gör en listbegäran och tar emot 100 objekt, som slutar med obj_foo, kan ditt efterföljande anrop inkludera after=obj_foo för att hämta nästa sida i listan.
before sträng Valfritt En markör för användning i sidnumrering. innan är ett objekt-ID som definierar din plats i listan. Om du till exempel gör en listbegäran och tar emot 100 objekt, som slutar med obj_foo, kan ditt efterföljande anrop inkludera före =obj_foo för att hämta föregående sida i listan.

Returer

En lista över körningsobjekt.

Exempellista kör begäran

from openai import AzureOpenAI
    
client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
    api_version="2024-08-01-preview",
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    )

runs = client.beta.threads.runs.list(
  "thread_abc123"
)
print(runs)

Listkörningssteg

GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/steps?api-version=2024-08-01-preview

Returnerar en lista med steg som hör till en körning.

Sökvägsparametrar

Parameter Type Obligatoriskt Beskrivning
thread_id sträng Obligatoriskt ID:t för den tråd som körningen tillhör.
run_id sträng Obligatoriskt ID:t för körningen som är associerad med körningsstegen som ska frågas.

Frågeparametrar

Namn Typ Obligatoriskt Beskrivning
limit integer Valfritt – standardvärdet är 20 En gräns för hur många objekt som ska returneras. Gränsen kan vara mellan 1 och 100 och standardvärdet är 20.
order sträng Valfritt – Standardinställningar för desc Sortera ordning efter objektens created_at tidsstämpel. asc för stigande ordning och desc för fallande ordning.
after sträng Valfritt En markör för användning i sidnumrering. after är ett objekt-ID som definierar din plats i listan. Om du till exempel gör en listbegäran och tar emot 100 objekt, som slutar med obj_foo, kan ditt efterföljande anrop inkludera after=obj_foo för att hämta nästa sida i listan.
before sträng Valfritt En markör för användning i sidnumrering. innan är ett objekt-ID som definierar din plats i listan. Om du till exempel gör en listbegäran och tar emot 100 objekt, som slutar med obj_foo, kan ditt efterföljande anrop inkludera före =obj_foo för att hämta föregående sida i listan.

Returer

En lista över körningsstegobjekt.

Exempel på begäran om listkörningssteg

from openai import AzureOpenAI
    
client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
    api_version="2024-08-01-preview",
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    )

run_steps = client.beta.threads.runs.steps.list(
    thread_id="thread_abc123",
    run_id="run_abc123"
)
print(run_steps)

Hämta körning

from openai import OpenAI
client = OpenAI()

run = client.beta.threads.runs.retrieve(
  thread_id="thread_abc123",
  run_id="run_abc123"
)

print(run)

Hämtar en körning.

Sökvägsparametrar

Parameter Type Obligatoriskt Beskrivning
thread_id sträng Obligatoriskt ID:t för tråden som kördes.
run_id sträng Obligatoriskt ID:t för körningen som ska hämtas.

Returer

Körningsobjektet som matchar det angivna körnings-ID:t.

Exempel på begäran om listkörningssteg

from openai import AzureOpenAI
    
client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
    api_version="2024-08-01-preview",
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    )

run = client.beta.threads.runs.retrieve(
  thread_id="thread_abc123",
  run_id="run_abc123"
)
print(run)

Hämta körningssteg

GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/steps/{step_id}?api-version=2024-08-01-preview

Hämtar ett körningssteg.

Sökvägsparametrar

Parameter Type Obligatoriskt Beskrivning
thread_id sträng Obligatoriskt ID:t för den tråd som körnings- och körningssteget tillhör.
run_id sträng Obligatoriskt ID för körningen som körningssteget tillhör.
step_id sträng Obligatoriskt ID för körningssteget som ska hämtas.

Returer

Körningsstegsobjektet som matchar det angivna ID:t.

Exempel på begäran om att hämta körningssteg

from openai import AzureOpenAI
    
client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
    api_version="2024-08-01-preview",
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    )

run_step = client.beta.threads.runs.steps.retrieve(
    thread_id="thread_abc123",
    run_id="run_abc123",
    step_id="step_abc123"
)
print(run_step)

Ändra körning

POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}?api-version=2024-08-01-preview

Ändrar en körning.

Sökvägsparametrar

Parameter Type Obligatoriskt Beskrivning
thread_id sträng Obligatoriskt ID:t för tråden som kördes.
run_id sträng Obligatoriskt ID:t för körningen som ska ändras.

Begärandetext

Namn Typ Obligatoriskt Beskrivning
metadata map Valfritt Uppsättning med 16 nyckel/värde-par som kan kopplas till ett objekt. Detta kan vara användbart för att lagra ytterligare information om objektet i ett strukturerat format. Nycklar kan vara högst 64 tecken långa och värden kan vara högst 512 tecken långa.

Returer

Det ändrade körningsobjektet som matchar det angivna ID:t.

Exempel på ändringskörningsbegäran

from openai import AzureOpenAI
    
client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
    api_version="2024-08-01-preview",
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    )

run = client.beta.threads.runs.update(
  thread_id="thread_abc123",
  run_id="run_abc123",
  metadata={"user_id": "user_abc123"},
)
print(run)

Skicka verktygsutdata som ska köras

POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/submit_tool_outputs?api-version=2024-08-01-preview

När en körning har statusen "requires_action" och required_action.type är submit_tool_outputs kan den här slutpunkten användas för att skicka utdata från verktygsanropen när alla har slutförts. Alla utdata måste skickas i en enda begäran.

Sökvägsparametrar

Parameter Type Obligatoriskt Beskrivning
thread_id sträng Obligatoriskt ID:t för den tråd som den här körningen tillhör.
run_id sträng Obligatoriskt ID för körningen som kräver att verktyget skickas ut.

Begärandetext

Namn Typ Obligatoriskt Beskrivning
tool_outputs matris Obligatoriskt En lista över verktyg som utdata skickas för.
stream boolean Valfritt Om truereturnerar returnerar en ström av händelser som inträffar under händelser som skickas av servern och avslutas när Körningen går in i ett terminaltillstånd med ett data: [DONE] meddelande.

Returer

Det ändrade körningsobjektet som matchar det angivna ID:t.

Exempel på utdata för att skicka verktyg för att köra begäran

from openai import AzureOpenAI
    
client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
    api_version="2024-08-01-preview",
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    )

run = client.beta.threads.runs.submit_tool_outputs(
  thread_id="thread_abc123",
  run_id="run_abc123",
  tool_outputs=[
    {
      "tool_call_id": "call_abc123",
      "output": "28C"
    }
  ]
)
print(run)

Avbryt en körning

POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/cancel?api-version=2024-08-01-preview

Avbryter en körning som är in_progress.

Sökvägsparametrar

Parameter Type Obligatoriskt Beskrivning
thread_id sträng Obligatoriskt ID:t för den tråd som den här körningen tillhör.
run_id sträng Obligatoriskt ID för körningen som ska avbrytas.

Returer

Det ändrade körningsobjektet som matchar det angivna ID:t.

Exempel på utdata för att skicka verktyg för att köra begäran

from openai import AzureOpenAI
    
client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
    api_version="2024-08-01-preview",
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    )

run = client.beta.threads.runs.cancel(
  thread_id="thread_abc123",
  run_id="run_abc123"
)
print(run)

Kör objekt

Representerar en körningskörning på en tråd.

Namn Type Description
id sträng Identifieraren, som kan refereras till i API-slutpunkter.
object sträng Objekttypen, som alltid är thread.run.
created_at integer Unix-tidsstämpeln (i sekunder) för när körningen skapades.
thread_id sträng ID:t för tråden som kördes på som en del av den här körningen.
assistant_id sträng ID:t för assistenten som används för körningen av den här körningen.
status sträng Status för körningen, som kan vara antingen , , , , , , , completedeller expired. failedcancelledcancellingrequires_actionin_progressqueued
required_action objekt eller null Information om den åtgärd som krävs för att fortsätta körningen. Kommer att vara null om ingen åtgärd krävs.
last_error objekt eller null Det sista felet som är associerat med den här körningen. Kommer att vara null om det inte finns några fel.
expires_at integer Unix-tidsstämpeln (i sekunder) för när körningen upphör att gälla.
started_at heltal eller null Unix-tidsstämpeln (i sekunder) för när körningen startades.
cancelled_at heltal eller null Unix-tidsstämpeln (i sekunder) för när körningen avbröts.
failed_at heltal eller null Unix-tidsstämpeln (i sekunder) för när körningen misslyckades.
completed_at heltal eller null Unix-tidsstämpeln (i sekunder) för när körningen slutfördes.
model sträng Modelldistributionsnamnet som assistenten använde för den här körningen.
instructions sträng Instruktionerna som assistenten använde för den här körningen.
tools matris Listan över verktyg som assistenten använde för den här körningen.
file_ids matris Listan över fil-ID:t som assistenten använde för den här körningen.
metadata map Uppsättning med 16 nyckel/värde-par som kan kopplas till ett objekt. Detta kan vara användbart för att lagra ytterligare information om objektet i ett strukturerat format. Nycklar kan vara högst 64 tecken långa och värden kan vara högst 512 tecken långa.
tool_choice sträng eller objekt Styr vilket (om något) verktyg som anropas av modellen. none innebär att modellen inte anropar några verktyg och i stället genererar ett meddelande. auto är standardvärdet och innebär att modellen kan välja mellan att generera ett meddelande eller anropa ett verktyg. Om du anger ett visst verktyg som {"type": "file_search"} eller {"type": "function", "function": {"name": "my_function"}} tvingar modellen att anropa verktyget.
max_prompt_tokens heltal eller null Det maximala antalet prompttoken som har angetts för att ha använts under körningen.
max_completion_tokens heltal eller null Det maximala antalet slutförandetoken som har angetts för att ha använts under körningen.
usage objekt eller null Användningsstatistik som är relaterad till körningen. Det här värdet är null om körningen inte är i ett terminaltillstånd (till exempel in_progress, queued).
truncation_strategy objekt Kontroller för hur en tråd trunkeras före körningen.
response_format sträng Formatet som modellen måste mata ut. Kompatibel med GPT-4 Turbo och alla GPT-3.5 Turbo modeller sedan gpt-3.5-turbo-1106.
tool_choice sträng Styr vilket (om något) verktyg som anropas av modellen. none innebär att modellen inte anropar några verktyg och i stället genererar ett meddelande. auto är standardvärdet och innebär att modellen kan välja mellan att generera ett meddelande eller anropa ett verktyg.

Kör stegobjekt

Representerar ett steg i körningen av en körning.

Namn Type Description
id sträng Identifieraren för körningssteget, som kan refereras till i API-slutpunkter.
object sträng Objekttypen, som alltid är thread.run.step.
created_at integer Unix-tidsstämpeln (i sekunder) för när körningssteget skapades.
assistant_id sträng ID:t för assistenten som är associerad med körningssteget.
thread_id sträng ID:t för tråden som kördes.
run_id sträng ID:t för körningen som det här körningssteget är en del av.
type sträng Typ av körningssteg, som kan vara antingen message_creation eller tool_calls.
status sträng Status för körningssteget, som kan vara antingen in_progress, cancelled, failed, completedeller expired.
step_details objekt Information om körningssteget.
last_error objekt eller null Det sista felet som är associerat med det här körningssteget. Kommer att vara null om det inte finns några fel.
expired_at heltal eller null Unix-tidsstämpeln (i sekunder) för när körningssteget upphörde att gälla. Ett steg anses ha upphört att gälla om den överordnade körningen har upphört att gälla.
cancelled_at heltal eller null Unix-tidsstämpeln (i sekunder) för när körningssteget avbröts.
failed_at heltal eller null Unix-tidsstämpeln (i sekunder) för när körningssteget misslyckades.
completed_at heltal eller null Unix-tidsstämpeln (i sekunder) för när körningssteget slutfördes.
metadata map Uppsättning med 16 nyckel/värde-par som kan kopplas till ett objekt. Detta kan vara användbart för att lagra ytterligare information om objektet i ett strukturerat format. Nycklar kan vara högst 64 tecken långa och värden kan vara högst 512 tecken långa.

Strömma ett körningsresultat (förhandsversion)

Strömma resultatet av att köra en Körning eller återuppta en Körning efter att verktyget har skickat utdata. Du kan strömma händelser efter:

Om du vill strömma ett resultat skickar du "stream": true när du skapar en körning. Svaret blir en händelseström som skickas av servern.

Exempel på direktuppspelning

from typing_extensions import override
from openai import AssistantEventHandler
 
# First, we create a EventHandler class to define
# how we want to handle the events in the response stream.
 
class EventHandler(AssistantEventHandler):    
  @override
  def on_text_created(self, text) -> None:
    print(f"\nassistant > ", end="", flush=True)
      
  @override
  def on_text_delta(self, delta, snapshot):
    print(delta.value, end="", flush=True)
      
  def on_tool_call_created(self, tool_call):
    print(f"\nassistant > {tool_call.type}\n", flush=True)
  
  def on_tool_call_delta(self, delta, snapshot):
    if delta.type == 'code_interpreter':
      if delta.code_interpreter.input:
        print(delta.code_interpreter.input, end="", flush=True)
      if delta.code_interpreter.outputs:
        print(f"\n\noutput >", flush=True)
        for output in delta.code_interpreter.outputs:
          if output.type == "logs":
            print(f"\n{output.logs}", flush=True)
 
# Then, we use the `create_and_stream` SDK helper 
# with the `EventHandler` class to create the Run 
# and stream the response.
 
with client.beta.threads.runs.stream(
  thread_id=thread.id,
  assistant_id=assistant.id,
  instructions="Please address the user as Jane Doe. The user has a premium account.",
  event_handler=EventHandler(),
) as stream:
  stream.until_done()

Trunkeringsobjekt

Kontroller för hur en tråd trunkeras före körningen. Använd det här alternativet om du vill styra körningens inledande kontextfönster.

Namn Type Beskrivning Obligatoriskt
type sträng Den trunkeringsstrategi som ska användas för tråden. Standardvärdet är auto. Om den är inställd last_messagespå trunkeras tråden till de n senaste meddelandena i tråden. När det är inställt på autokommer meddelanden i mitten av tråden att tas bort för att passa modellens kontextlängd. max_prompt_tokens Ja
last_messages integer Antalet senaste meddelanden från tråden när du skapar kontexten för körningen. Nej

Meddelandedeltaobjekt

Representerar ett meddelandedelta. Till exempel ändrade fält i ett meddelande under strömning.

Namn Type Description
id sträng Identifieraren för meddelandet, som kan refereras till i API-slutpunkter.
object sträng Objekttypen, som alltid thread.message.deltaär .
delta objekt Deltat som innehåller fälten som har ändrats i meddelandet.

Kör stegdelta-objekt

Representerar ett körningsstegsdelta. Till exempel ändrade fält i ett körningssteg under strömning.

Namn Type Description
id sträng Identifieraren för körningssteget, som kan refereras till i API-slutpunkter.
object sträng Objekttypen, som alltid thread.run.step.deltaär .
delta objekt Delta som innehåller fälten som har ändrats i körningssteget.

Stream-händelser för assistent

Representerar en händelse som genereras när en Körning strömmas. Varje händelse i en händelseström som skickas till servern har en händelse- och dataegenskap:

event: thread.created
data: {"id": "thread_123", "object": "thread", ...}

Händelser genereras när ett nytt objekt skapas, övergår till ett nytt tillstånd eller strömmas i delar (delta). Till exempel thread.run.created genereras när en ny körning skapas, thread.run.completed när en körning har slutförts och så vidare. När en assistent väljer att skapa ett meddelande under en körning genererar vi en thread.message.created händelse, en thread.message.in_progress händelse, många trådar.message.delta händelser och slutligen en thread.message.completed händelse.

Namn Type Beskrivning
thread.created data är en tråd. Inträffar när en ny tråd skapas.
thread.run.created data är en körning. Inträffar när en ny körning skapas.
thread.run.queued data är en körning. Inträffar när en körning flyttas till en köad status.
thread.run.in_progress data är en körning. Inträffar när en körning flyttas till en in_progress status.
thread.run.requires_action data är en körning. Inträffar när en körning flyttas till en requires_action status.
thread.run.completed data är en körning. Inträffar när en körning har slutförts.
thread.run.failed data är en körning. Inträffar när en körning misslyckas.
thread.run.cancelling data är en körning. Inträffar när en körning flyttas till en cancelling status.
thread.run.cancelled data är en körning. Inträffar när en körning avbryts.
thread.run.expired data är en körning. Inträffar när en körning upphör att gälla.
thread.run.step.created data är ett körningssteg. Inträffar när ett körningssteg skapas.
thread.run.step.in_progress data är ett körningssteg. Inträffar när ett körningssteg flyttas till ett in_progress tillstånd.
thread.run.step.delta data är ett körningsstegsdelta. Inträffar när delar av ett körningssteg strömmas.
thread.run.step.completed data är ett körningssteg. Inträffar när ett körningssteg har slutförts.
thread.run.step.failed data är ett körningssteg. Inträffar när ett körningssteg misslyckas.
thread.run.step.cancelled data är ett körningssteg. Inträffar när ett körningssteg avbryts.
thread.run.step.expired data är ett körningssteg. Inträffar när ett körningssteg upphör att gälla.
thread.message.created data är ett meddelande. Inträffar när ett meddelande skapas.
thread.message.in_progress data är ett meddelande. Inträffar när ett meddelande flyttas till ett in_progress tillstånd.
thread.message.delta data är ett meddelandedelta. Inträffar när delar av ett meddelande strömmas.
thread.message.completed data är ett meddelande. Inträffar när ett meddelande har slutförts.
thread.message.incomplete data är ett meddelande. Inträffar när ett meddelande slutar innan det har slutförts.
error data är ett fel. Inträffar när ett fel inträffar. Detta kan inträffa på grund av ett internt serverfel eller en tidsgräns.
done data vara [DONE] Inträffar när en ström slutar.