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 true returnerar 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 true returnerar 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
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 true returnerar 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 , , , , , , , completed eller expired . failed cancelled cancelling requires_action in_progress queued |
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 , completed eller 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_messages på trunkeras tråden till de n senaste meddelandena i tråden. När det är inställt på auto kommer 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. |