Referenční informace k rozhraní API asistentů (Preview)
Poznámka:
- Hledání souborů může ingestovat až 10 000 souborů na asistenta – 500krát více než dříve. Je to rychlé, podporuje paralelní dotazy prostřednictvím vícevláknového vyhledávání a vylepšené řazení a přepisování dotazů.
- Vektorové úložiště je nový objekt v rozhraní API. Jakmile se soubor přidá do úložiště vektorů, automaticky se parsuje, zachytá a vloží a připraví k hledání. Vektorová úložiště se dají používat napříč asistenty a vlákny, což zjednodušuje správu souborů a fakturaci.
- Přidali jsme podporu parametru
tool_choice
, který se dá použít k vynucení použití konkrétního nástroje (například vyhledávání souborů, interpret kódu nebo funkce) v určitém spuštění.
Tento článek obsahuje referenční dokumentaci pro Python a REST pro nové rozhraní API asistentů (Preview). Podrobnější podrobné pokyny najdete v úvodní příručce.
Vytvoření asistenta
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants?api-version=2024-05-01-preview
Vytvořte asistenta s modelem a pokyny.
Text požadavku
Name | Type | Požadováno | Popis |
---|---|---|---|
model | řetězec | Požaduje se | Název nasazení modelu, který se má použít. |
name | řetězec nebo null | Volitelné | Jméno asistenta. Maximální délka je 256 znaků. |
description | řetězec nebo null | Volitelné | Popis asistenta. Maximální délka je 512 znaků. |
pokyny | řetězec nebo null | Volitelné | Systémové pokyny, které asistent používá. Maximální délka je 256 000 znaků. |
tools | pole | Volitelné | Výchozí hodnota je []. Seznam nástrojů povolených v asistentovi. Na asistenta může být maximálně 128 nástrojů. Nástroje mohou být aktuálně typu code_interpreter , nebo function . Popis function může být maximálně 1 024 znaků. |
file_ids | pole | Volitelné | Výchozí hodnota je []. Seznam ID souborů připojených k tomuto asistentovi K asistentovi může být připojeno maximálně 20 souborů. Soubory jsou seřazené podle data vytvoření ve vzestupném pořadí. |
metadata | map | Volitelné | Sada 16 párů klíč-hodnota, které lze připojit k objektu. To může být užitečné pro ukládání dalších informací o objektu ve strukturovaném formátu. Klíče můžou mít maximálně 64 znaků a hodnoty můžou mít maximálně 512 znaků. |
Teplota | číslo nebo null | Volitelné | Výchozí hodnota je 1. Určuje, jakou teplotu vzorkování se má použít, mezi 0 a 2. Vyšší hodnoty jako 0,8 způsobí, že výstup bude náhodnější, zatímco nižší hodnoty, jako je 0,2, zajistí větší zaměření a deterministiku. |
top_p | číslo nebo null | Volitelné | Výchozí hodnota je 1. Alternativou k odběru vzorků s teplotou, označovanou jako vzorkování jádra, kde model bere v úvahu výsledky tokenů s top_p hmotností pravděpodobnosti. Hodnota 0,1 tedy znamená, že se považují pouze tokeny, které tvoří 10% hmotnost pravděpodobnosti. Obecně doporučujeme změnit tuto nebo teplotu, ale ne obojí. |
response_format | řetězec nebo objekt | Volitelné | Určuje formát, který musí model vypíše. Kompatibilní s GPT-4 Turbo a všemi modely GPT-3.5 Turbo od gpt-3.5-turbo-1106. Nastavením tohoto parametru { "type": "json_object" } povolíte režim JSON, který zaručuje, že zpráva, kterou model vygeneruje, je platný JSON. Důležité je, že pokud používáte režim JSON, musíte také dát modelu pokyn, aby vygeneroval JSON sami pomocí systémové nebo uživatelské zprávy. Bez této instrukce může model vygenerovat nede-endový proud prázdných znaků, dokud generace nedosáhne limitu tokenu, což vede k dlouhotrvajícímu a zdánlivě zablokovanému požadavku. Kromě toho může být obsah zprávy částečně oříznutý, pokud použijete finish_reason="length" , což znamená, že generování překročilo max_tokens nebo konverzace překročila maximální délku kontextu. |
Návraty
Příklad žádosti o vytvoření asistenta
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-05-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"}]
)
Vytvoření souboru pomocníka
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}/files?api-version=2024-05-01-preview
Vytvořte soubor asistenta připojením k objektu File
assistant
.
Parametry cesty
Parametr | Type | Požadováno | Popis |
---|---|---|---|
assistant_id |
string | Požaduje se | ID asistenta, ke kterému má být soubor připojen. |
Text požadavku
Name | Type | Požadováno | Popis |
---|---|---|---|
file_id | řetězec | Požaduje se | ID souboru (s účelem="asistenti"), které by měl asistent používat. Užitečné pro nástroje, jako je code_interpreter, které mají přístup k souborům. |
Návraty
Objekt souboru asistenta.
Příklad žádosti o vytvoření souboru asistenta
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-05-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
assistant_file = client.beta.assistants.files.create(
assistant_id="asst_abc123",
file_id="assistant-abc123"
)
print(assistant_file)
Seznam asistentů
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants?api-version=2024-05-01-preview
Vrátí seznam všech asistentů.
Parametry dotazů
Parametr | Type | Požadováno | Popis |
---|---|---|---|
limit |
integer | Volitelné | Omezení počtu vrácených objektů. Limit může být v rozsahu 1 až 100 a výchozí hodnota je 20. |
order |
string | Volitelné – výchozí hodnoty pro desc | Seřaďte pořadí podle časového razítka created_at objektů. asc pro vzestupné pořadí a desc pro sestupné pořadí. |
after |
řetězec | Volitelné | Kurzor pro použití ve stránkování after je ID objektu, které definuje vaše místo v seznamu. Pokud například vytvoříte požadavek na seznam a obdržíte 100 objektů, končící na obj_foo, může následující volání zahrnovat after=obj_foo, aby se načte další stránka seznamu. |
before |
řetězec | Volitelné | Kurzor pro použití ve stránkování before je ID objektu, které definuje vaše místo v seznamu. Pokud například vytvoříte požadavek na seznam a obdržíte 100 objektů, končící na obj_foo, může následující volání zahrnovat před=obj_foo, aby bylo možné načíst předchozí stránku seznamu. |
Návraty
Příklady pomocníků se seznamem
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-05-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
my_assistants = client.beta.assistants.list(
order="desc",
limit="20",
)
print(my_assistants.data)
Soubory Pomocníka se seznamem
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}/files?api-version=2024-05-01-preview
Vrátí seznam souborů pomocníka.
Parametry cesty
Parametr | Type | Požadováno | Popis |
---|---|---|---|
assistant_id | řetězec | Požaduje se | ID asistenta, do které soubor patří. |
Parametry dotazů
Parametr | Type | Požadováno | Popis |
---|---|---|---|
limit |
integer | Volitelné | Omezení počtu vrácených objektů. Limit může být v rozsahu 1 až 100 a výchozí hodnota je 20. |
order |
string | Volitelné – výchozí hodnoty pro desc | Seřaďte pořadí podle časového razítka created_at objektů. asc pro vzestupné pořadí a desc pro sestupné pořadí. |
after |
řetězec | Volitelné | Kurzor pro použití ve stránkování after je ID objektu, které definuje vaše místo v seznamu. Pokud například vytvoříte požadavek na seznam a obdržíte 100 objektů, končící na obj_foo, může následující volání zahrnovat after=obj_foo, aby se načte další stránka seznamu. |
before |
řetězec | Volitelné | Kurzor pro použití ve stránkování before je ID objektu, které definuje vaše místo v seznamu. Pokud například vytvoříte požadavek na seznam a obdržíte 100 objektů, končící na obj_foo, může následující volání zahrnovat před=obj_foo, aby bylo možné načíst předchozí stránku seznamu. |
Návraty
Seznam objektů souborů pomocníka
Příklady souborů pomocníka se seznamem
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-05-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
assistant_files = client.beta.assistants.files.list(
assistant_id="asst_abc123"
)
print(assistant_files)
Načíst asistenta
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}?api-version=2024-05-01-preview
Načte asistenta.
Parametry cesty
Parametr | Type | Požadováno | Popis |
---|---|---|---|
assistant_id |
string | Požaduje se | ID asistenta, který se má načíst. |
Vrácení
Objekt asistenta odpovídající zadanému ID.
Příklad pomocníka pro načtení
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-05-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
my_assistant = client.beta.assistants.retrieve("asst_abc123")
print(my_assistant)
Načtení souboru pomocníka
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}/files/{file-id}?api-version=2024-05-01-preview
Načte soubor Pomocníka.
Parametry cesty
Parametr | Type | Požadováno | Popis |
---|---|---|---|
assistant_id | řetězec | Požaduje se | ID asistenta, do které soubor patří. |
file_id | řetězec | Požaduje se | ID souboru, který dostáváme |
Návraty
Objekt souboru asistenta odpovídající zadanému ID
Příklad načtení souboru pomocníka
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-05-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
assistant_file = client.beta.assistants.files.retrieve(
assistant_id="asst_abc123",
file_id="assistant-abc123"
)
print(assistant_file)
Úprava asistenta
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}?api-version=2024-05-01-preview
Upraví asistenta.
Parametry cesty
Parametr | Type | Požadováno | Popis |
---|---|---|---|
assistant_id | řetězec | Požaduje se | ID asistenta, do které soubor patří. |
Text požadavku
Parametr | Type | Požadováno | Popis |
---|---|---|---|
model |
Volitelné | Název nasazení modelu, který se má použít. | |
name |
řetězec nebo null | Volitelné | Jméno asistenta. Maximální délka je 256 znaků. |
description |
řetězec nebo null | Volitelné | Popis asistenta. Maximální délka je 512 znaků. |
instructions |
řetězec nebo null | Volitelné | Systémové pokyny, které asistent používá. Maximální délka je 32768 znaků. |
tools |
pole | Volitelné | Výchozí hodnota je []. Seznam nástrojů povolených v asistentovi. Na asistenta může být maximálně 128 nástrojů. Nástroje můžou být typu code_interpreter nebo funkce. Popis function může být maximálně 1 024 znaků. |
file_ids |
pole | Volitelné | Výchozí hodnota je []. Seznam ID souborů připojených k tomuto asistentovi K asistentovi může být připojeno maximálně 20 souborů. Soubory jsou seřazené podle data vytvoření ve vzestupném pořadí. Pokud byl soubor dříve připojen k seznamu, ale nezobrazuje se v seznamu, odstraní se z asistenta. |
metadata |
map | Volitelné | Sada 16 párů klíč-hodnota, které lze připojit k objektu. To může být užitečné pro ukládání dalších informací o objektu ve strukturovaném formátu. Klíče můžou mít maximálně 64 znaků a hodnoty můžou mít maximálně 512 znaků. |
Vrácení
Upravený objekt pomocníka.
Příklad úpravy asistenta
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-05-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
file_ids=["assistant-abc123", "assistant-abc456"],
)
print(my_updated_assistant)
Odstranit asistenta
DELETE https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}?api-version=2024-05-01-preview
Odstraňte asistenta.
Parametry cesty
Parametr | Type | Požadováno | Popis |
---|---|---|---|
assistant_id |
string | Požaduje se | ID asistenta, do které soubor patří. |
Vrácení
Stav odstranění
Příklad pomocníka pro odstranění
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-05-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
response = client.beta.assistants.delete("asst_abc123")
print(response)
Odstranění souboru pomocníka
DELETE https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}/files/{file-id}?api-version=2024-05-01-preview
Odstraňte soubor asistenta.
Parametry cesty
Parametr | Type | Požadováno | Popis |
---|---|---|---|
assistant_id |
string | Požaduje se | ID asistenta, do které soubor patří. |
file_id |
řetězec | Požaduje se | ID souboru k odstranění |
Vrácení
Stav odstranění souboru
Příklad souboru pomocníka pro odstranění
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-05-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
deleted_assistant_file = client.beta.assistants.files.delete(
assistant_id="asst_abc123",
file_id="assistant-abc123"
)
print(deleted_assistant_file)
Referenční informace k rozhraní API pro nahrání souborů
Asistenti používají stejné rozhraní API pro nahrávání souborů jako vyladění. Při nahrávání souboru musíte zadat odpovídající hodnotu pro parametr účelu.
Objekt Pomocníka
Pole | Typ | Description |
---|---|---|
id |
string | Identifikátor, na který se dá odkazovat v koncových bodech rozhraní API. |
object |
string | Typ objektu, který je vždy pomocníkem. |
created_at |
integer | Časové razítko unixu (v sekundách) pro vytvoření asistenta. |
name |
řetězec nebo null | Jméno asistenta. Maximální délka je 256 znaků. |
description |
řetězec nebo null | Popis asistenta. Maximální délka je 512 znaků. |
model |
string | Název názvu nasazení modelu, který se má použít. |
instructions |
řetězec nebo null | Systémové pokyny, které asistent používá. Maximální délka je 32768 znaků. |
tools |
pole | Seznam nástrojů povolených v asistentovi. Na asistenta může být maximálně 128 nástrojů. Nástroje můžou být typu code_interpreter nebo funkce. Popis function může být maximálně 1 024 znaků. |
file_ids |
pole | Seznam ID souborů připojených k tomuto asistentovi K asistentovi může být připojeno maximálně 20 souborů. Soubory jsou seřazené podle data vytvoření ve vzestupném pořadí. |
metadata |
map | Sada 16 párů klíč-hodnota, které lze připojit k objektu. To může být užitečné pro ukládání dalších informací o objektu ve strukturovaném formátu. Klíče můžou mít maximálně 64 znaků a hodnoty můžou mít maximálně 512 znaků. |
Objekt souboru Pomocníka
Pole | Typ | Description |
---|---|---|
id |
string | Identifikátor, na který se dá odkazovat v koncových bodech rozhraní API. |
object |
string | Typ objektu, který je vždy assistant.file |
created_at |
integer | Časové razítko unixu (v sekundách) pro vytvoření souboru asistenta. |
assistant_id |
string | ID asistenta, ke kterému je soubor připojený. |
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro