Delen via


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, cancellingcancelled, , failed, , of expiredcompleted.
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_progressqueued).
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, failedof completedexpired.
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.deltais.
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.deltais.
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.