Naslaginformatie voor api voor assistenten (preview)
Notitie
- Bestanden zoeken kan maximaal 10.000 bestanden per assistent opnemen - 500 keer meer dan voorheen. Het is snel, ondersteunt parallelle query's via zoekopdrachten met meerdere threads en biedt uitgebreide herrankering en herschrijven van query's.
- Vectoropslag is een nieuw object in de API. Zodra een bestand is toegevoegd aan een vectoropslag, wordt het automatisch geparseerd, gesegmenteerd en ingesloten, zodat het kan worden doorzocht. Vectoropslag kunnen worden gebruikt voor assistenten en threads, waardoor bestandsbeheer en facturering worden vereenvoudigd.
- We hebben ondersteuning toegevoegd voor de
tool_choice
parameter die kan worden gebruikt om het gebruik van een specifiek hulpprogramma (zoals het zoeken van bestanden, code-interpreter of een functie) in een bepaalde uitvoering af te dwingen.
Dit artikel bevat referentiedocumentatie voor Python en REST voor de nieuwe Assistants-API (preview). Meer uitgebreide stapsgewijze richtlijnen vindt u in de introductiehandleiding.
Uitvoering maken
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs?api-version=2024-08-01-preview
Maak een uitvoering.
Padparameter
Parameter | Type | Vereist | Beschrijving |
---|---|---|---|
thread_id |
tekenreeks | Vereist | De id van de thread waarvoor u een bericht wilt maken. |
Aanvraagbody
Name | Type | Vereist | Beschrijving |
---|---|---|---|
assistant_id |
tekenreeks | Vereist | De id van de assistent die moet worden gebruikt om deze uitvoering uit te voeren. |
model |
tekenreeks of null | Optioneel | De naam van de modelimplementatie die moet worden gebruikt om deze uitvoering uit te voeren. Als hier een waarde wordt opgegeven, wordt de naam van de modelimplementatie overschreven die is gekoppeld aan de assistent. Zo niet, dan wordt de naam van de modelimplementatie die is gekoppeld aan de assistent gebruikt. |
instructions |
tekenreeks of null | Optioneel | Hiermee overschrijft u de instructies van de assistent. Dit is handig voor het wijzigen van het gedrag per uitvoering. |
additional_instructions |
tekenreeks | Optioneel | Voegt aanvullende instructies toe aan het einde van de instructies voor de uitvoering. Dit is handig voor het wijzigen van het gedrag per uitvoering zonder andere instructies te overschrijven. |
additional_messages |
matrix | Optioneel | Voegt extra berichten toe aan de thread voordat u de uitvoering maakt. |
tools |
matrix of null | Optioneel | Overschrijf de hulpprogramma's die de assistent voor deze uitvoering kan gebruiken. Dit is handig voor het wijzigen van het gedrag per uitvoering. |
metadata |
map | Optioneel | Set van 16 sleutel-waardeparen die aan een object kunnen worden gekoppeld. Dit kan handig zijn voor het opslaan van aanvullende informatie over het object in een gestructureerde indeling. Sleutels mogen maximaal 64 tekens lang zijn en waarden mogen maximaal 512 tekens lang zijn. |
temperature |
Nummer | Optioneel | Welke steekproeftemperatuur moet worden gebruikt, tussen 0 en 2. Hogere waarden zoals 0,8 zorgen ervoor dat de uitvoer willekeuriger wordt, terwijl lagere waarden zoals 0,2 ervoor zorgen dat de uitvoer meer gericht en deterministisch wordt. Standaard is 1. |
top_p |
Nummer | Optioneel | Een alternatief voor steekproeven met temperatuur, zogenaamde kernsampling, waarbij het model rekening houdt met de resultaten van de tokens met top_p waarschijnlijkheidsmassa. 0,1 betekent dus dat alleen de tokens die de top 10% kansdichtheid omvatten, worden beschouwd. Over het algemeen raden we u aan deze of temperatuur te wijzigen, maar niet beide. Standaard is 1. |
stream |
boolean | optioneel | Als true , retourneert een stroom gebeurtenissen die plaatsvinden tijdens de uitvoeren als server verzonden gebeurtenissen, beëindigen wanneer de uitvoering een terminalstatus met een data: [DONE] bericht invoert. |
max_prompt_tokens |
geheel getal | optioneel | Het maximum aantal voltooiingstokens dat tijdens de uitvoering kan worden gebruikt. De uitvoering doet er alles aan om alleen het aantal opgegeven voltooiingstokens te gebruiken, in meerdere bochten van de uitvoering. Als de uitvoering het aantal opgegeven voltooiingstokens overschrijdt, eindigt de uitvoering met de status incomplete . |
max_completion_tokens |
geheel getal | optioneel | Het maximum aantal voltooiingstokens dat tijdens de uitvoering kan worden gebruikt. De uitvoering doet er alles aan om alleen het aantal opgegeven voltooiingstokens te gebruiken, in meerdere bochten van de uitvoering. Als de uitvoering het aantal opgegeven voltooiingstokens overschrijdt, eindigt de uitvoering met de status incomplete . |
truncation_strategy |
truncationObject | optioneel | Besturingselementen voor hoe een thread wordt afgekapt voordat de uitvoering wordt uitgevoerd. Gebruik deze optie om het eerste contextvenster van de uitvoering te beheren. |
tool_choice |
tekenreeks of object | optioneel | Hiermee bepaalt u welke (indien van toepassing) hulpprogramma's worden aangeroepen door het model. Een none waarde betekent dat het model geen hulpprogramma's aanroept en in plaats daarvan een bericht genereert. auto is de standaardwaarde en betekent dat het model kan kiezen tussen het genereren van een bericht of het aanroepen van een hulpprogramma. Het opgeven van een bepaald hulpprogramma zoals {"type": "file_search"} of {"type": "function", "function": {"name": "my_function"}} dwingt het model om dat hulpprogramma aan te roepen. |
response_format |
tekenreeks of object | optioneel | Hiermee geeft u de indeling op die het model moet uitvoeren. Compatibel met GPT-4 Turbo en alle GPT-3.5 Turbo-modellen sinds gpt-3.5-turbo-1106 . Instelling voor { "type": "json_object" } het inschakelen van de JSON-modus, wat garandeert dat het bericht dat het model genereert geldige JSON is. Belangrijk: wanneer u de JSON-modus gebruikt, moet u het model ook instrueren om zelf JSON te produceren via een systeem- of gebruikersbericht. Zonder dit kan het model een onverwerkte witruimtestroom genereren totdat de generatie de tokenlimiet bereikt, wat resulteert in een langlopende en schijnbaar 'vastgelopen' aanvraag. Houd er ook rekening mee dat de inhoud van het bericht gedeeltelijk wordt afgekapt als finish_reason="length" , wat aangeeft dat de generatie is overschreden max_tokens of dat het gesprek de maximale contextlengte heeft overschreden. |
Retouren
Een uitvoeringsobject.
Voorbeeld van het maken van een uitvoeringsaanvraag
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)
Thread maken en uitvoeren
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/runs?api-version=2024-08-01-preview
Maak een thread en voer deze uit in één aanvraag.
Hoofdtekst van aanvraag
Name | Type | Vereist | Beschrijving |
---|---|---|---|
assistant_id |
tekenreeks | Vereist | De id van de assistent die moet worden gebruikt om deze uitvoering uit te voeren. |
thread |
object | Optioneel | |
model |
tekenreeks of null | Optioneel | De id van de naam van de modelimplementatie die moet worden gebruikt om deze uitvoering uit te voeren. Als hier een waarde wordt opgegeven, wordt de naam van de modelimplementatie overschreven die is gekoppeld aan de assistent. Zo niet, dan wordt de naam van de modelimplementatie die is gekoppeld aan de assistent gebruikt. |
instructions |
tekenreeks of null | Optioneel | Overschrijf het standaardsysteembericht van de assistent. Dit is handig voor het wijzigen van het gedrag per uitvoering. |
tools |
matrix of null | Optioneel | Overschrijf de hulpprogramma's die de assistent voor deze uitvoering kan gebruiken. Dit is handig voor het wijzigen van het gedrag per uitvoering. |
metadata |
map | Optioneel | Set van 16 sleutel-waardeparen die aan een object kunnen worden gekoppeld. Dit kan handig zijn voor het opslaan van aanvullende informatie over het object in een gestructureerde indeling. Sleutels mogen maximaal 64 tekens lang zijn en waarden mogen maximaal 512 tekens lang zijn. |
temperature |
Nummer | Optioneel | Welke steekproeftemperatuur moet worden gebruikt, tussen 0 en 2. Hogere waarden zoals 0,8 zorgen ervoor dat de uitvoer willekeuriger wordt, terwijl lagere waarden zoals 0,2 ervoor zorgen dat de uitvoer meer gericht en deterministisch wordt. Standaard is 1. |
top_p |
Nummer | Optioneel | Een alternatief voor steekproeven met temperatuur, zogenaamde kernsampling, waarbij het model rekening houdt met de resultaten van de tokens met top_p waarschijnlijkheidsmassa. 0,1 betekent dus dat alleen de tokens die de top 10% kansdichtheid omvatten, worden beschouwd. Over het algemeen raden we u aan deze of temperatuur te wijzigen, maar niet beide. Standaard is 1. |
stream |
boolean | optioneel | Als true , retourneert een stroom gebeurtenissen die plaatsvinden tijdens de uitvoeren als server verzonden gebeurtenissen, beëindigen wanneer de uitvoering een terminalstatus met een data: [DONE] bericht invoert. |
max_prompt_tokens |
geheel getal | optioneel | Het maximum aantal voltooiingstokens dat tijdens de uitvoering kan worden gebruikt. De uitvoering doet er alles aan om alleen het aantal opgegeven voltooiingstokens te gebruiken, in meerdere bochten van de uitvoering. Als de uitvoering het aantal opgegeven voltooiingstokens overschrijdt, eindigt de uitvoering met de status incomplete . |
max_completion_tokens |
geheel getal | optioneel | Het maximum aantal voltooiingstokens dat tijdens de uitvoering kan worden gebruikt. De uitvoering doet er alles aan om alleen het aantal opgegeven voltooiingstokens te gebruiken, in meerdere bochten van de uitvoering. Als de uitvoering het aantal opgegeven voltooiingstokens overschrijdt, eindigt de uitvoering met de status incomplete . |
truncation_strategy |
truncationObject | optioneel | Besturingselementen voor hoe een thread wordt afgekapt voordat de uitvoering wordt uitgevoerd. Gebruik deze optie om het eerste contextvenster van de uitvoering te beheren. |
tool_choice |
tekenreeks of object | optioneel | Hiermee bepaalt u welke (indien van toepassing) hulpprogramma's worden aangeroepen door het model. Een none waarde betekent dat het model geen hulpprogramma's aanroept en in plaats daarvan een bericht genereert. auto is de standaardwaarde en betekent dat het model kan kiezen tussen het genereren van een bericht of het aanroepen van een hulpprogramma. Het opgeven van een bepaald hulpprogramma zoals {"type": "file_search"} of {"type": "function", "function": {"name": "my_function"}} dwingt het model om dat hulpprogramma aan te roepen. |
response_format |
tekenreeks of object | optioneel | Hiermee geeft u de indeling op die het model moet uitvoeren. Compatibel met GPT-4 Turbo en alle GPT-3.5 Turbo-modellen sinds gpt-3.5-turbo-1106 . Instelling voor { "type": "json_object" } het inschakelen van de JSON-modus, wat garandeert dat het bericht dat het model genereert geldige JSON is. Belangrijk: wanneer u de JSON-modus gebruikt, moet u het model ook instrueren om zelf JSON te produceren via een systeem- of gebruikersbericht. Zonder dit kan het model een onverwerkte witruimtestroom genereren totdat de generatie de tokenlimiet bereikt, wat resulteert in een langlopende en schijnbaar 'vastgelopen' aanvraag. Houd er ook rekening mee dat de inhoud van het bericht gedeeltelijk wordt afgekapt als finish_reason="length" , wat aangeeft dat de generatie is overschreden max_tokens of dat het gesprek de maximale contextlengte heeft overschreden. |
Retouren
Een uitvoeringsobject.
Voorbeeld van een thread maken en aanvraag uitvoeren
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."}
]
}
)
Lijstuitvoeringen
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs?api-version=2024-08-01-preview
Retourneert een lijst met uitvoeringen die behoren tot een thread.
Padparameter
Parameter | Type | Vereist | Beschrijving |
---|---|---|---|
thread_id |
tekenreeks | Vereist | De id van de thread waartoe de uitvoering behoort. |
Queryparameters
Name | Type | Vereist | Beschrijving |
---|---|---|---|
limit |
geheel getal | Optioneel : standaard ingesteld op 20 | Een limiet voor het aantal objecten dat moet worden geretourneerd. De limiet kan variëren tussen 1 en 100 en de standaardwaarde is 20. |
order |
tekenreeks | Optioneel : standaardwaarden voor desc | Sorteervolgorde op de created_at tijdstempel van de objecten. asc voor oplopende volgorde en desc voor aflopende volgorde. |
after |
tekenreeks | Optioneel | Een cursor voor gebruik in paginering. na is een object-id die uw plaats in de lijst definieert. Als u bijvoorbeeld een lijstaanvraag indient en 100 objecten ontvangt die eindigen op obj_foo, kan de volgende aanroep na=obj_foo worden opgenomen om de volgende pagina van de lijst op te halen. |
before |
tekenreeks | Optioneel | Een cursor voor gebruik in paginering. vóór is een object-id die uw plaats in de lijst definieert. Als u bijvoorbeeld een lijstaanvraag indient en 100 objecten ontvangt die eindigen op obj_foo, kan de volgende aanroep vóór=obj_foo worden opgenomen om de vorige pagina van de lijst op te halen. |
Retouren
Een lijst met uitvoeringsobjecten .
Voorbeeld van een lijst met uitvoeringsaanvragen
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)
Stappen voor het uitvoeren van lijsten
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/steps?api-version=2024-08-01-preview
Retourneert een lijst met stappen die horen bij een uitvoering.
Padparameters
Parameter | Type | Vereist | Beschrijving |
---|---|---|---|
thread_id |
tekenreeks | Vereist | De id van de thread waartoe de uitvoering behoort. |
run_id |
tekenreeks | Vereist | De id van de uitvoering die is gekoppeld aan de uitvoeringsstappen waarop een query moet worden uitgevoerd. |
Queryparameters
Name | Type | Vereist | Beschrijving |
---|---|---|---|
limit |
geheel getal | Optioneel : standaard ingesteld op 20 | Een limiet voor het aantal objecten dat moet worden geretourneerd. De limiet kan variëren tussen 1 en 100 en de standaardwaarde is 20. |
order |
tekenreeks | Optioneel : standaardwaarden voor desc | Sorteervolgorde op de created_at tijdstempel van de objecten. asc voor oplopende volgorde en desc voor aflopende volgorde. |
after |
tekenreeks | Optioneel | Een cursor voor gebruik in paginering. na is een object-id die uw plaats in de lijst definieert. Als u bijvoorbeeld een lijstaanvraag indient en 100 objecten ontvangt die eindigen op obj_foo, kan de volgende aanroep na=obj_foo worden opgenomen om de volgende pagina van de lijst op te halen. |
before |
tekenreeks | Optioneel | Een cursor voor gebruik in paginering. vóór is een object-id die uw plaats in de lijst definieert. Als u bijvoorbeeld een lijstaanvraag indient en 100 objecten ontvangt die eindigen op obj_foo, kan de volgende aanroep vóór=obj_foo worden opgenomen om de vorige pagina van de lijst op te halen. |
Retouren
Een lijst met uitvoeringsstapobjecten .
Voorbeeld van een aanvraag voor het uitvoeren van een lijst met stappen
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)
Uitvoering ophalen
from openai import OpenAI
client = OpenAI()
run = client.beta.threads.runs.retrieve(
thread_id="thread_abc123",
run_id="run_abc123"
)
print(run)
Hiermee wordt een uitvoering opgehaald.
Padparameters
Parameter | Type | Vereist | Beschrijving |
---|---|---|---|
thread_id |
tekenreeks | Vereist | De id van de thread die is uitgevoerd. |
run_id |
tekenreeks | Vereist | De id van de uitvoering die moet worden opgehaald. |
Retouren
Het uitvoeringsobject dat overeenkomt met de opgegeven uitvoerings-id.
Voorbeeld van een aanvraag voor het uitvoeren van een lijst met stappen
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)
Uitvoeringsstap ophalen
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/steps/{step_id}?api-version=2024-08-01-preview
Haalt een uitvoeringsstap op.
Padparameters
Parameter | Type | Vereist | Beschrijving |
---|---|---|---|
thread_id |
tekenreeks | Vereist | De id van de thread waartoe de uitvoerings- en uitvoeringsstap behoort. |
run_id |
tekenreeks | Vereist | De id van de uitvoering waartoe de uitvoeringsstap behoort. |
step_id |
tekenreeks | Vereist | De id van de uitvoeringsstap die moet worden opgehaald. |
Retouren
Het run step-object dat overeenkomt met de opgegeven id.
Voorbeeld van aanvraag voor het ophalen van uitvoeringsstappen
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)
Uitvoering wijzigen
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}?api-version=2024-08-01-preview
Hiermee wijzigt u een uitvoering.
Padparameters
Parameter | Type | Vereist | Beschrijving |
---|---|---|---|
thread_id |
tekenreeks | Vereist | De id van de thread die is uitgevoerd. |
run_id |
tekenreeks | Vereist | De id van de uitvoering die moet worden gewijzigd. |
Aanvraagbody
Name | Type | Vereist | Beschrijving |
---|---|---|---|
metadata |
map | Optioneel | Set van 16 sleutel-waardeparen die aan een object kunnen worden gekoppeld. Dit kan handig zijn voor het opslaan van aanvullende informatie over het object in een gestructureerde indeling. Sleutels mogen maximaal 64 tekens lang zijn en waarden mogen maximaal 512 tekens lang zijn. |
Retouren
Het gewijzigde uitvoeringsobject dat overeenkomt met de opgegeven id.
Voorbeeld van een uitvoeringsaanvraag wijzigen
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)
Uitvoer van hulpprogramma's verzenden om uit te voeren
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/submit_tool_outputs?api-version=2024-08-01-preview
Wanneer een uitvoering de status 'requires_action' heeft en required_action.type is submit_tool_outputs, kan dit eindpunt worden gebruikt om de uitvoer van de hulpprogramma-aanroepen in te dienen zodra ze zijn voltooid. Alle uitvoer moet in één aanvraag worden ingediend.
Padparameters
Parameter | Type | Vereist | Beschrijving |
---|---|---|---|
thread_id |
tekenreeks | Vereist | De id van de thread waartoe deze uitvoering behoort. |
run_id |
tekenreeks | Vereist | De id van de uitvoering waarvoor het verzenden van de uitvoer van het hulpprogramma is vereist. |
Aanvraagbody
Name | Type | Vereist | Beschrijving |
---|---|---|---|
tool_outputs |
matrix | Vereist | Een lijst met hulpprogramma's waarvoor de uitvoer wordt verzonden. |
stream |
boolean | Optioneel | Als true , retourneert een stroom gebeurtenissen die plaatsvinden tijdens de uitvoeren als server verzonden gebeurtenissen, beëindigen wanneer de uitvoering een terminalstatus met een data: [DONE] bericht invoert. |
Retouren
Het gewijzigde uitvoeringsobject dat overeenkomt met de opgegeven id.
Voorbeeld van uitvoer van het verzenden van hulpprogramma's om een aanvraag uit te voeren
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)
Een uitvoering annuleren
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/cancel?api-version=2024-08-01-preview
Hiermee annuleert u een uitvoering die in_progress is.
Padparameters
Parameter | Type | Vereist | Beschrijving |
---|---|---|---|
thread_id |
tekenreeks | Vereist | De id van de thread waartoe deze uitvoering behoort. |
run_id |
tekenreeks | Vereist | De id van de uitvoering die moet worden geannuleerd. |
Retouren
Het gewijzigde uitvoeringsobject dat overeenkomt met de opgegeven id.
Voorbeeld van uitvoer van het verzenden van hulpprogramma's om een aanvraag uit te voeren
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)
Object uitvoeren
Vertegenwoordigt een uitvoering die wordt uitgevoerd op een thread.
Name | Type | Omschrijving |
---|---|---|
id |
tekenreeks | De id waarnaar kan worden verwezen in API-eindpunten. |
object |
tekenreeks | Het objecttype, dat altijd thread.run is. |
created_at |
geheel getal | De Unix-tijdstempel (in seconden) voor het moment waarop de uitvoering is gemaakt. |
thread_id |
tekenreeks | De id van de thread waarop is uitgevoerd als onderdeel van deze uitvoering. |
assistant_id |
tekenreeks | De id van de assistent die wordt gebruikt voor het uitvoeren van deze uitvoering. |
status |
tekenreeks | De status van de uitvoering, die kan zijnqueued : , in_progress , requires_action , cancelling cancelled , , failed , , of expired completed . |
required_action |
object of null | Details over de actie die nodig is om door te gaan met de uitvoering. Is null als er geen actie is vereist. |
last_error |
object of null | De laatste fout die aan deze uitvoering is gekoppeld. Is null als er geen fouten zijn. |
expires_at |
geheel getal | De Unix-tijdstempel (in seconden) voor wanneer de uitvoering verloopt. |
started_at |
geheel getal of null | De Unix-tijdstempel (in seconden) voor toen de uitvoering werd gestart. |
cancelled_at |
geheel getal of null | De Unix-tijdstempel (in seconden) voor wanneer de uitvoering is geannuleerd. |
failed_at |
geheel getal of null | De Unix-tijdstempel (in seconden) voor wanneer de uitvoering is mislukt. |
completed_at |
geheel getal of null | De Unix-tijdstempel (in seconden) voor wanneer de uitvoering is voltooid. |
model |
tekenreeks | De naam van de modelimplementatie die de assistent voor deze uitvoering heeft gebruikt. |
instructions |
tekenreeks | De instructies die de assistent voor deze uitvoering heeft gebruikt. |
tools |
matrix | De lijst met hulpprogramma's die de assistent voor deze uitvoering heeft gebruikt. |
file_ids |
matrix | De lijst met bestands-id's die de assistent voor deze uitvoering heeft gebruikt. |
metadata |
map | Set van 16 sleutel-waardeparen die aan een object kunnen worden gekoppeld. Dit kan handig zijn voor het opslaan van aanvullende informatie over het object in een gestructureerde indeling. Sleutels mogen maximaal 64 tekens lang zijn en waarden mogen maximaal 512 tekens lang zijn. |
tool_choice |
tekenreeks of object | Hiermee bepaalt u welke (indien van toepassing) hulpprogramma's worden aangeroepen door het model. none betekent dat het model geen hulpprogramma's aanroept en in plaats daarvan een bericht genereert. auto is de standaardwaarde en betekent dat het model kan kiezen tussen het genereren van een bericht of het aanroepen van een hulpprogramma. Het opgeven van een bepaald hulpprogramma zoals {"type": "file_search"} of {"type": "function", "function": {"name": "my_function"}} dwingt het model om dat hulpprogramma aan te roepen. |
max_prompt_tokens |
geheel getal of null | Het maximum aantal prompttokens dat is opgegeven voor gebruik in de loop van de uitvoering. |
max_completion_tokens |
geheel getal of null | Het maximum aantal voltooiingstokens dat is opgegeven voor gebruik in de loop van de uitvoering. |
usage |
object of null | Gebruiksstatistieken met betrekking tot de uitvoering. Deze waarde is null als de uitvoering niet de status terminal heeft (bijvoorbeeld in_progress queued ). |
truncation_strategy |
object | Besturingselementen voor hoe een thread wordt afgekapt voordat de uitvoering wordt uitgevoerd. |
response_format |
tekenreeks | De indeling die het model moet uitvoeren. Compatibel met GPT-4 Turbo en alle GPT-3.5 Turbo-modellen sinds gpt-3.5-turbo-1106 . |
tool_choice |
tekenreeks | Hiermee bepaalt u welke (indien van toepassing) hulpprogramma's worden aangeroepen door het model. none betekent dat het model geen hulpprogramma's aanroept en in plaats daarvan een bericht genereert. auto is de standaardwaarde en betekent dat het model kan kiezen tussen het genereren van een bericht of het aanroepen van een hulpprogramma. |
Stapobject uitvoeren
Vertegenwoordig een stap in de uitvoering van een uitvoering.
Name | Type | Omschrijving |
---|---|---|
id |
tekenreeks | De id van de uitvoeringsstap, waarnaar kan worden verwezen in API-eindpunten. |
object |
tekenreeks | Het objecttype, dat altijd thread.run.step is. |
created_at |
geheel getal | De Unix-tijdstempel (in seconden) voor wanneer de uitvoeringsstap is gemaakt. |
assistant_id |
tekenreeks | De id van de assistent die is gekoppeld aan de uitvoeringsstap. |
thread_id |
tekenreeks | De id van de thread die is uitgevoerd. |
run_id |
tekenreeks | De id van de uitvoering waarvan deze uitvoeringsstap deel uitmaakt. |
type |
tekenreeks | Het type uitvoeringsstap, dat kan message_creation of tool_calls zijn. |
status |
tekenreeks | De status van de uitvoeringsstap, die kan zijnin_progress : , cancelled , failed of completed expired . |
step_details |
object | De details van de uitvoeringsstap. |
last_error |
object of null | De laatste fout die is gekoppeld aan deze uitvoeringsstap. Is null als er geen fouten zijn. |
expired_at |
geheel getal of null | De Unix-tijdstempel (in seconden) voor wanneer de uitvoeringsstap is verlopen. Een stap wordt beschouwd als verlopen als de bovenliggende uitvoering is verlopen. |
cancelled_at |
geheel getal of null | De Unix-tijdstempel (in seconden) voor wanneer de uitvoeringsstap is geannuleerd. |
failed_at |
geheel getal of null | De Unix-tijdstempel (in seconden) voor wanneer de uitvoeringsstap is mislukt. |
completed_at |
geheel getal of null | De Unix-tijdstempel (in seconden) voor wanneer de uitvoeringsstap is voltooid. |
metadata |
map | Set van 16 sleutel-waardeparen die aan een object kunnen worden gekoppeld. Dit kan handig zijn voor het opslaan van aanvullende informatie over het object in een gestructureerde indeling. Sleutels mogen maximaal 64 tekens lang zijn en waarden mogen maximaal 512 tekens lang zijn. |
Een uitvoeringsresultaat streamen (preview)
Stream het resultaat van het uitvoeren van een run of het hervatten van een uitvoering nadat u de uitvoer van het hulpprogramma hebt ingediend. U kunt gebeurtenissen streamen na:
Als u een resultaat wilt streamen, geeft u door "stream": true
tijdens het maken van een uitvoering. Het antwoord is een gebeurtenissenstroom die door de server is verzonden .
Voorbeeld van streaming
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()
Afkappingsobject
Besturingselementen voor hoe een thread wordt afgekapt voordat de uitvoering wordt uitgevoerd. Gebruik deze optie om het eerste contextvenster van de uitvoering te beheren.
Name | Type | Beschrijving | Vereist |
---|---|---|---|
type |
tekenreeks | De afkappingsstrategie die moet worden gebruikt voor de thread. De standaardwaarde is auto . Als deze optie is ingesteld last_messages , wordt de thread afgekapt tot de n meest recente berichten in de thread. Wanneer deze optie is ingesteldauto , worden berichten in het midden van de thread verwijderd om de contextlengte van het model aan te passen. max_prompt_tokens |
Ja |
last_messages |
geheel getal | Het aantal meest recente berichten uit de thread bij het samenstellen van de context voor de uitvoering. | Nee |
Message Delta-object
Vertegenwoordigt een bericht delta. Bijvoorbeeld gewijzigde velden in een bericht tijdens het streamen.
Name | Type | Omschrijving |
---|---|---|
id |
tekenreeks | De id van het bericht waarnaar kan worden verwezen in API-eindpunten. |
object |
tekenreeks | Het objecttype, dat altijd thread.message.delta is. |
delta |
object | De delta met de velden die zijn gewijzigd in het bericht. |
Stap-deltaobject uitvoeren
Vertegenwoordigt een delta voor de uitvoeringsstap. Bijvoorbeeld gewijzigde velden in een uitvoeringsstap tijdens het streamen.
Name | Type | Omschrijving |
---|---|---|
id |
tekenreeks | De id van de uitvoeringsstap, waarnaar kan worden verwezen in API-eindpunten. |
object |
tekenreeks | Het objecttype, dat altijd thread.run.step.delta is. |
delta |
object | De delta met de velden die zijn gewijzigd in de uitvoeringsstap. |
Gebeurtenissen van assistentstreams
Vertegenwoordigt een gebeurtenis die wordt verzonden bij het streamen van een uitvoering. Elke gebeurtenis in een gebeurtenisstroom die door de server wordt verzonden, heeft een gebeurtenis- en gegevenseigenschap:
event: thread.created
data: {"id": "thread_123", "object": "thread", ...}
Gebeurtenissen worden verzonden wanneer een nieuw object wordt gemaakt, overgangen naar een nieuwe status of worden gestreamd in delen (delta's). Wordt bijvoorbeeld thread.run.created
verzonden wanneer een nieuwe uitvoering wordt gemaakt, thread.run.completed
wanneer een uitvoering is voltooid, enzovoort. Wanneer een assistent ervoor kiest om een bericht te maken tijdens een uitvoering, verzenden we een thread.message.created
gebeurtenis, een thread.message.in_progress
gebeurtenis, veel threads.message.delta
gebeurtenissen en ten slotte een thread.message.completed
gebeurtenis.
Name | Type | Description |
---|---|---|
thread.created |
data is een thread. |
Treedt op wanneer er een nieuwe thread wordt gemaakt. |
thread.run.created |
data is een run. |
Treedt op wanneer er een nieuwe uitvoering wordt gemaakt. |
thread.run.queued |
data is een run. |
Treedt op wanneer een uitvoering wordt verplaatst naar een status in de wachtrij. |
thread.run.in_progress |
data is een run. |
Treedt op wanneer een uitvoering wordt verplaatst naar een in_progress status. |
thread.run.requires_action |
data is een run. |
Treedt op wanneer een uitvoering naar een requires_action status wordt verplaatst. |
thread.run.completed |
data is een run. |
Treedt op wanneer een uitvoering is voltooid. |
thread.run.failed |
data is een run. |
Treedt op wanneer een uitvoering mislukt. |
thread.run.cancelling |
data is een run. |
Treedt op wanneer een uitvoering naar een cancelling status wordt verplaatst. |
thread.run.cancelled |
data is een run. |
Treedt op wanneer een uitvoering wordt geannuleerd. |
thread.run.expired |
data is een run. |
Treedt op wanneer een uitvoering verloopt. |
thread.run.step.created |
data is een uitvoeringsstap. |
Vindt plaats wanneer een uitvoeringsstap wordt gemaakt. |
thread.run.step.in_progress |
data is een uitvoeringsstap. |
Treedt op wanneer een uitvoeringsstap naar een in_progress status wordt verplaatst. |
thread.run.step.delta |
data is een delta voor de uitvoeringsstap. |
Treedt op wanneer delen van een uitvoeringsstap worden gestreamd. |
thread.run.step.completed |
data is een uitvoeringsstap. |
Treedt op wanneer een uitvoeringsstap is voltooid. |
thread.run.step.failed |
data is een uitvoeringsstap. |
Treedt op wanneer een uitvoeringsstap mislukt. |
thread.run.step.cancelled |
data is een uitvoeringsstap. |
Treedt op wanneer een uitvoeringsstap wordt geannuleerd. |
thread.run.step.expired |
data is een uitvoeringsstap. |
Treedt op wanneer een uitvoeringsstap verloopt. |
thread.message.created |
data is een bericht. |
Treedt op wanneer een bericht wordt gemaakt. |
thread.message.in_progress |
data is een bericht. |
Treedt op wanneer een bericht naar een in_progress status wordt verplaatst. |
thread.message.delta |
data is een bericht delta. |
Treedt op wanneer delen van een bericht worden gestreamd. |
thread.message.completed |
data is een bericht. |
Treedt op wanneer een bericht is voltooid. |
thread.message.incomplete |
data is een bericht. |
Treedt op wanneer een bericht eindigt voordat het is voltooid. |
error |
data is een fout. |
Treedt op wanneer er een fout optreedt. Dit kan gebeuren vanwege een interne serverfout of een time-out. |
done |
data is [DONE] |
Treedt op wanneer een stream eindigt. |