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_interpreter zijn, 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. |