Sdílet prostřednictvím


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

Objekt asistenta.

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 Fileassistant.

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

Seznam objektů pomocníka

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ý.