Delen via


Naslaginformatie voor assistenten-API (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.

Een assistent maken

POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants?api-version=2024-05-01-preview

Maak een assistent met een model en instructies.

Aanvraagtekst

Name Type Vereist Beschrijving
model tekenreeks Vereist Modelimplementatienaam van het model dat moet worden gebruikt.
naam tekenreeks of null Optioneel De naam van de assistent. De maximale lengte is 256 tekens.
beschrijving tekenreeks of null Optioneel De beschrijving van de assistent. De maximale lengte is 512 tekens.
Instructies tekenreeks of null Optioneel De systeeminstructies die de assistent gebruikt. De maximale lengte is 256.000 tekens.
tools matrix Optioneel De standaardwaarde is []. Een lijst met hulpprogramma's die zijn ingeschakeld voor de assistent. Er kunnen maximaal 128 hulpprogramma's per assistent zijn. Hulpprogramma's kunnen momenteel van het type code_interpreterzijn, of function. Een function beschrijving mag maximaal 1024 tekens bevatten.
metagegevens 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.
temperatuur getal of null Optioneel Standaardwaarde is 1. Bepaalt 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.
top_p getal of null Optioneel Standaardwaarde is 1. 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.
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. Als u deze parameter instelt om de JSON-modus in te { "type": "json_object" } schakelen, wat garandeert dat het bericht dat het model genereert, geldige JSON is. Belangrijk is dat u bij het gebruik van de JSON-modus ook het model moet instrueren om zelf JSON te produceren met behulp van een systeem- of gebruikersbericht. Zonder deze instructie kan het model een onverwerkte witruimtestroom genereren totdat de generatie de tokenlimiet bereikt, wat resulteert in een langlopende en schijnbaar 'vastgelopen' aanvraag. Bovendien kan de inhoud van het bericht gedeeltelijk worden afgekapt als u gebruikt finish_reason="length", wat aangeeft dat de generatie is overschreden max_tokens of dat het gesprek de maximale contextlengte heeft overschreden.
tool_resources object Optioneel Een set resources die worden gebruikt door de hulpprogramma's van de assistent. De resources zijn specifiek voor het type hulpprogramma. Voor het code_interpreter hulpprogramma is bijvoorbeeld een lijst met bestands-id's vereist, terwijl voor het file_search hulpprogramma een lijst met vectoropslag-id's is vereist.

response_format typen

snaar

auto is de standaardwaarde.

object

Mogelijke type waarden: text, json_object, json_schema.

json_schema

Name Type Description Standaard Vereist/Optioneel
description tekenreeks Een beschrijving van wat de antwoordindeling is, die door het model wordt gebruikt om te bepalen hoe moet worden gereageerd in de indeling. Optioneel
name tekenreeks De naam van de antwoordindeling. Moet a-z, A-Z, 0-9 of onderstrepingstekens en streepjes bevatten, met een maximale lengte van 64. Vereist
schema object Het schema voor de antwoordindeling, beschreven als een JSON-schemaobject. Optioneel
strict Booleaanse waarde of null Of u strikte schema-naleving wilt inschakelen bij het genereren van de uitvoer. Als dit is ingesteld op true, volgt het model altijd het exacte schema dat in het schema veld is gedefinieerd. Alleen een subset van het JSON-schema wordt ondersteund wanneer strict dit is true. false Optioneel

tool_resources eigenschappen

code_interpreter

Name Type Description Standaard
file_ids matrix Een lijst met bestands-id's die beschikbaar worden gesteld aan het hulpprogramma code_interpreter. Er kunnen maximaal 20 bestanden aan het hulpprogramma zijn gekoppeld. []

file_search

Name Type Description Vereist/Optioneel
vector_store_ids matrix Het vectorarchief dat aan deze thread is gekoppeld. Er kan maximaal 1 vectoropslag aan de thread zijn gekoppeld. Optioneel
vector_stores matrix Een helper voor het maken van een vectorarchief met file_ids en deze aan deze thread koppelen. Er kan maximaal 1 vectoropslag aan de thread zijn gekoppeld. Optioneel

vector_stores

Name Type Description Vereist/Optioneel
file_ids matrix Een lijst met bestands-id's die moeten worden toegevoegd aan het vectorarchief. Er kunnen maximaal 10000 bestanden in een vectorarchief zijn. Optioneel
chunking_strategy object De segmenteringsstrategie die wordt gebruikt om de bestanden te segmenteren. Als deze niet is ingesteld, wordt de automatische strategie gebruikt. Optioneel
metadata map Set van 16 sleutel-waardeparen die kunnen worden gekoppeld aan een vectorarchief. Dit kan handig zijn voor het opslaan van aanvullende informatie over het vectorarchief in een gestructureerde indeling. Sleutels mogen maximaal 64 tekens lang zijn en waarden mogen maximaal 512 tekens lang zijn. Optioneel

chunking_strategy

Name Type Description Vereist/optioneel
Auto Chunking Strategy object De standaardstrategie. Deze strategie maakt momenteel gebruik van een max_chunk_size_tokens van 800 en chunk_overlap_tokens van 400. type is altijd auto Vereist
Static Chunking Strategy object type Altijd static Vereist

Strategie voor statische segmentering

Name Type Description Vereist/Optioneel
max_chunk_size_tokens geheel getal Het maximum aantal tokens in elk segment. De standaardwaarde is 800. De minimumwaarde is 100 en de maximumwaarde is 4096. Vereist
chunk_overlap_tokens geheel getal Het aantal tokens dat overlapt tussen segmenten. De standaardwaarde is 400. Houd er rekening mee dat de overlapping niet groter mag zijn dan de helft van max_chunk_size_tokens. Vereist

Retouren

Een assistentobject .

Voorbeeld van aanvraag voor assistent maken

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

assistant = client.beta.assistants.create(
  instructions="You are an AI assistant that can write code to help answer math questions",
  model="<REPLACE WITH MODEL DEPLOYMENT NAME>", # replace with model deployment name. 
  tools=[{"type": "code_interpreter"}]
)

Lijstassistenten

GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants?api-version=2024-05-01-preview

Retourneert een lijst met alle assistenten.

Queryparameters

Parameter Type Vereist Beschrijving
limit geheel getal Optioneel 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. after 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. before 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 assistentobjecten

Voorbeelden van lijstassistenten

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

my_assistants = client.beta.assistants.list(
    order="desc",
    limit="20",
)
print(my_assistants.data)

Assistent ophalen

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

Hiermee haalt u een assistent op.

Padparameters

Parameter Type Vereist Beschrijving
assistant_id tekenreeks Vereist De id van de assistent die moet worden opgehaald.

Retouren

Het assistentobject dat overeenkomt met de opgegeven id.

Voorbeeld van de assistent ophalen

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

my_assistant = client.beta.assistants.retrieve("asst_abc123")
print(my_assistant)

Assistent wijzigen

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

Hiermee wijzigt u een assistent.

Padparameters

Parameter Type Vereist Beschrijving
assistant_id tekenreeks Vereist De id van de assistent waartoe het bestand behoort.

Hoofdtekst van aanvraag

Parameter Type Vereist Beschrijving
model Optioneel De naam van de modelimplementatie van het model dat moet worden gebruikt.
name tekenreeks of null Optioneel De naam van de assistent. De maximale lengte is 256 tekens.
description tekenreeks of null Optioneel De beschrijving van de assistent. De maximale lengte is 512 tekens.
instructions tekenreeks of null Optioneel De systeeminstructies die de assistent gebruikt. De maximale lengte is 32768 tekens.
tools matrix Optioneel De standaardwaarde is []. Een lijst met hulpprogramma's die zijn ingeschakeld voor de assistent. Er kunnen maximaal 128 hulpprogramma's per assistent zijn. Hulpprogramma's kunnen van het type code_interpreter of functie zijn. Een function beschrijving mag maximaal 1024 tekens bevatten.
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 getal of null Optioneel Standaardwaarde is 1. Bepaalt 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.
top_p getal of null Optioneel Standaardwaarde is 1. 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.
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. Als u deze parameter instelt om de JSON-modus in te { "type": "json_object" } schakelen, wat garandeert dat het bericht dat het model genereert, geldige JSON is. Belangrijk is dat u bij het gebruik van de JSON-modus ook het model moet instrueren om zelf JSON te produceren met behulp van een systeem- of gebruikersbericht. Zonder deze instructie kan het model een onverwerkte witruimtestroom genereren totdat de generatie de tokenlimiet bereikt, wat resulteert in een langlopende en schijnbaar 'vastgelopen' aanvraag. Bovendien kan de inhoud van het bericht gedeeltelijk worden afgekapt als u gebruikt finish_reason="length", wat aangeeft dat de generatie is overschreden max_tokens of dat het gesprek de maximale contextlengte heeft overschreden.
tool_resources object Optioneel Een set resources die worden gebruikt door de hulpprogramma's van de assistent. De resources zijn specifiek voor het type hulpprogramma. Voor het code_interpreter hulpprogramma is bijvoorbeeld een lijst met bestands-id's vereist, terwijl voor het file_search hulpprogramma een lijst met vectoropslag-id's is vereist.

Retouren

Het gewijzigde assistentobject.

Voorbeeld van wijzigingsassistent

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

my_updated_assistant = client.beta.assistants.update(
  "asst_abc123",
  instructions="You are an HR bot, and you have access to files to answer employee questions about company policies. Always respond with info from either of the files.",
  name="HR Helper",
  tools=[{"type": "code-interpreter"}],
  model="gpt-4", #model = model deployment name
)

print(my_updated_assistant)

Assistent verwijderen

DELETE https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}?api-version=2024-08-01-preview

Een assistent verwijderen.

Padparameters

Parameter Type Vereist Beschrijving
assistant_id tekenreeks Vereist De id van de assistent waartoe het bestand behoort.

Retouren

Verwijderingsstatus.

Voorbeeldassistent verwijderen

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

response = client.beta.assistants.delete("asst_abc123")
print(response)

Api-verwijzing voor het uploaden van bestanden

Assistenten gebruiken dezelfde API voor het uploaden van bestanden als het afstemmen van bestanden. Bij het uploaden van een bestand moet u een geschikte waarde opgeven voor de doelparameter.

Assistentobject

Veld Type Omschrijving
id tekenreeks De id waarnaar kan worden verwezen in API-eindpunten.
object tekenreeks Het objecttype, dat altijd assistent is.
created_at geheel getal De Unix-tijdstempel (in seconden) voor het moment waarop de assistent is gemaakt.
name tekenreeks of null De naam van de assistent. De maximale lengte is 256 tekens.
description tekenreeks of null De beschrijving van de assistent. De maximale lengte is 512 tekens.
model tekenreeks De naam van de te gebruiken modelimplementatienaam.
instructions tekenreeks of null De systeeminstructies die de assistent gebruikt. De maximale lengte is 32768 tekens.
tools matrix Een lijst met hulpprogramma's die is ingeschakeld voor de assistent. Er kunnen maximaal 128 hulpprogramma's per assistent zijn. Hulpprogramma's kunnen van het type code_interpreter of functie zijn. Een function beschrijving mag maximaal 1024 tekens bevatten.
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.
temperature getal of null Standaardwaarde is 1. Bepaalt 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.
top_p getal of null Standaardwaarde is 1. 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.
response_format tekenreeks of object 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. Als u deze parameter instelt om de JSON-modus in te { "type": "json_object" } schakelen, wat garandeert dat het bericht dat het model genereert, geldige JSON is. Belangrijk is dat u bij het gebruik van de JSON-modus ook het model moet instrueren om zelf JSON te produceren met behulp van een systeem- of gebruikersbericht. Zonder deze instructie kan het model een onverwerkte witruimtestroom genereren totdat de generatie de tokenlimiet bereikt, wat resulteert in een langlopende en schijnbaar 'vastgelopen' aanvraag. Bovendien kan de inhoud van het bericht gedeeltelijk worden afgekapt als u gebruikt finish_reason="length", wat aangeeft dat de generatie is overschreden max_tokens of dat het gesprek de maximale contextlengte heeft overschreden.
tool_resources object Een set resources die worden gebruikt door de hulpprogramma's van de assistent. De resources zijn specifiek voor het type hulpprogramma. Voor het code_interpreter hulpprogramma is bijvoorbeeld een lijst met bestands-id's vereist, terwijl voor het file_search hulpprogramma een lijst met vectoropslag-id's is vereist.