Assistants API (előzetes verzió) referenciája
Feljegyzés
- A fájlkeresés asszisztensenként akár 10 000 fájlt is betölthet – 500-szor több, mint korábban. Gyors, többszálas keresésekkel támogatja a párhuzamos lekérdezéseket, és továbbfejlesztett újrarangsorolást és lekérdezés-újraírást is kínál.
- A vektortároló egy új objektum az API-ban. Miután hozzáadnak egy fájlt egy vektortárolóhoz, a rendszer automatikusan elemzi, darabolja és beágyazza azt, és készen áll a keresésre. A vektortárolók segédeken és szálakon átnyúlóan is használhatók, így egyszerűbbé téve a fájlkezelést és a számlázást.
- Hozzáadtuk a
tool_choice
paraméter támogatását, amely egy adott eszköz (például fájlkeresés, kódértelmező vagy függvény) egy adott futtatáshoz való kényszerítésére használható.
Ez a cikk referenciadokumentációt tartalmaz a Pythonhoz és a REST-hez az új Assistants API-hoz (előzetes verzió). Az első lépések útmutatójában részletesebb részletes útmutatást talál.
Segéd létrehozása
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants?api-version=2024-05-01-preview
Hozzon létre egy asszisztenst egy modellel és útmutatással.
Kérés törzse
Név | Típus | Kötelező | Leírás |
---|---|---|---|
modell | húr | Szükséges | A használni kívánt modell üzembehelyezési neve. |
név | sztring vagy null | Választható | Az asszisztens neve. A maximális hossz 256 karakter. |
leírás | sztring vagy null | Választható | Az asszisztens leírása. A maximális hossz 512 karakter. |
útmutató | sztring vagy null | Választható | Az asszisztens által használt rendszerutasítások. A maximális hossz 256 000 karakter. |
eszközök | array | Választható | Alapértelmezett érték: []. Az asszisztensen engedélyezett eszközök listája. Asszisztensenként legfeljebb 128 eszköz lehet. Az eszközök jelenleg lehetnek típusok code_interpreter , vagy function . A function leírás legfeljebb 1024 karakter hosszúságú lehet. |
metaadatok | térkép | Választható | Egy objektumhoz csatolható 16 kulcs-érték pár készlete. Ez hasznos lehet az objektumra vonatkozó további információk strukturált formátumban történő tárolásához. A kulcsok legfeljebb 64 karakter hosszúak lehetnek, az értékek pedig legfeljebb 512 karakter hosszúak lehetnek. |
hőmérséklet | szám vagy null | Választható | Alapértelmezett érték: 1. Meghatározza, hogy milyen mintavételi hőmérsékletet használjon 0 és 2 között. A magasabb értékek, például a 0,8 véletlenszerűbbé teszik a kimenetet, míg az alacsonyabb értékek, például a 0,2, koncentráltabbá és determinisztikusabbá teszik a kimenetet. |
top_p | szám vagy null | Választható | Alapértelmezett érték: 1. A hőmérséklettel történő mintavételezés alternatíva, az úgynevezett magmintavétel, ahol a modell a tokenek eredményeit top_p valószínűségi tömeggel veszi figyelembe. A 0.1 tehát csak a felső 10%-os valószínűségi tömeget tartalmazó jogkivonatokat jelenti. Általában azt javasoljuk, hogy módosítsa ezt vagy a hőmérsékletet, de mindkettőt nem. |
response_format | sztring vagy objektum | Választható | Megadja a modell kimenetének formátumát. Kompatibilis a GPT-4 Turbo és az összes GPT-3.5 Turbo modellel a gpt-3.5-turbo-1106 óta. A paraméter { "type": "json_object" } beállítása A JSON mód engedélyezése érdekében, amely garantálja, hogy a modell által generált üzenet érvényes JSON-ként jelenik meg. Fontos, hogy JSON mód használata esetén a modellt arra is utasítania kell, hogy saját maga állítson elő JSON-t rendszer vagy felhasználói üzenet használatával. E nélkül az utasítás nélkül a modell létrehozhat egy korlátlan térközfolyamot, amíg a generáció el nem éri a jogkivonat korlátját, ami egy hosszú ideig futó és látszólag "elakadt" kérést eredményez. Emellett előfordulhat, hogy az üzenet tartalma részben le lesz vágva, ha használja finish_reason="length" , ami azt jelzi, hogy a létrehozás túllépte max_tokens vagy a beszélgetés túllépte a környezet maximális hosszát. |
tool_resources | object | Választható | Az asszisztens eszközei által használt erőforrások készlete. Az erőforrások az eszköz típusára vonatkoznak. Az eszköznek például code_interpreter a fájlazonosítók listájára van szüksége, míg az file_search eszköznek a vektortároló azonosítóinak listájára van szüksége. |
Válaszok
Példa segédkérelem létrehozására
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"}]
)
Asszisztensek listázása
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants?api-version=2024-05-01-preview
Az összes asszisztens listáját adja vissza.
Paraméterek lekérdezése
Paraméter | Típus | Kötelező | Leírás |
---|---|---|---|
limit |
egész szám | Választható | A visszaadandó objektumok számának korlátja. A korlát 1 és 100 közötti lehet, az alapértelmezett érték pedig 20. |
order |
húr | Nem kötelező – Alapértelmezések a desc | Rendezze a sorrendet az objektumok created_at időbélyege alapján. asc növekvő sorrendhez és csökkenő sorrendhez. |
after |
húr | Választható | Kurzor lapozáshoz. after egy objektumazonosító, amely meghatározza a helyet a listában. Ha például listakérelmet küld, és 100 objektumot fogad, obj_foo végződve, a következő hívás az after=obj_foo függvényt is belefoglalhatja a lista következő oldalának lekéréséhez. |
before |
húr | Választható | Kurzor lapozáshoz. before egy objektumazonosító, amely meghatározza a helyet a listában. Ha például listakérelmet küld, és 100 objektumot fogad, és obj_foo végződik, a következő hívás a before=obj_foo függvényt is belefoglalhatja a lista előző oldalának lekéréséhez. |
Válaszok
Segédobjektumok listája
Példalista-asszisztensek
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)
Asszisztens lekérése
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}?api-version=2024-08-01-preview
Lekéri az asszisztenst.
Elérésiút-paraméterek
Paraméter | Típus | Kötelező | Leírás |
---|---|---|---|
assistant_id |
húr | Szükséges | A lekérendő asszisztens azonosítója. |
Visszatérési érték
A megadott azonosítónak megfelelő segédobjektum .
Példa a lekérési segédre
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)
Segéd módosítása
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}?api-version=2024-08-01-preview
Módosítja az asszisztenst.
Elérésiút-paraméterek
Paraméter | Típus | Kötelező | Leírás |
---|---|---|---|
assistant_id | húr | Szükséges | Annak az asszisztensnek az azonosítója, amelyhez a fájl tartozik. |
Kérelem törzse
Paraméter | Típus | Kötelező | Leírás |
---|---|---|---|
model |
Lehetséges | A használni kívánt modell üzembehelyezési neve. | |
name |
sztring vagy null | Választható | Az asszisztens neve. A maximális hossz 256 karakter. |
description |
sztring vagy null | Választható | Az asszisztens leírása. A maximális hossz 512 karakter. |
instructions |
sztring vagy null | Választható | Az asszisztens által használt rendszerutasítások. A maximális hossz 32768 karakter. |
tools |
array | Választható | Alapértelmezett érték: []. Az asszisztensen engedélyezett eszközök listája. Asszisztensenként legfeljebb 128 eszköz lehet. Az eszközök lehetnek code_interpreter típusúak vagy függvények. A function leírás legfeljebb 1024 karakter hosszúságú lehet. |
metadata |
térkép | Választható | Egy objektumhoz csatolható 16 kulcs-érték pár készlete. Ez hasznos lehet az objektumra vonatkozó további információk strukturált formátumban történő tárolásához. A kulcsok legfeljebb 64 karakter hosszúak lehetnek, az értékek pedig legfeljebb 512 karakter hosszúak lehetnek. |
temperature |
szám vagy null | Választható | Alapértelmezett érték: 1. Meghatározza, hogy milyen mintavételi hőmérsékletet használjon 0 és 2 között. A magasabb értékek, például a 0,8 véletlenszerűbbé teszik a kimenetet, míg az alacsonyabb értékek, például a 0,2, koncentráltabbá és determinisztikusabbá teszik a kimenetet. |
top_p |
szám vagy null | Választható | Alapértelmezett érték: 1. A hőmérséklettel történő mintavételezés alternatíva, az úgynevezett magmintavétel, ahol a modell a tokenek eredményeit top_p valószínűségi tömeggel veszi figyelembe. A 0.1 tehát csak a felső 10%-os valószínűségi tömeget tartalmazó jogkivonatokat jelenti. Általában azt javasoljuk, hogy módosítsa ezt vagy a hőmérsékletet, de mindkettőt nem. |
response_format |
sztring vagy objektum | Választható | Megadja a modell kimenetének formátumát. Kompatibilis a GPT-4 Turbo és az összes GPT-3.5 Turbo modellel a gpt-3.5-turbo-1106 óta. A paraméter { "type": "json_object" } beállítása A JSON mód engedélyezése érdekében, amely garantálja, hogy a modell által generált üzenet érvényes JSON-ként jelenik meg. Fontos, hogy JSON mód használata esetén a modellt arra is utasítania kell, hogy saját maga állítson elő JSON-t rendszer vagy felhasználói üzenet használatával. E nélkül az utasítás nélkül a modell létrehozhat egy korlátlan térközfolyamot, amíg a generáció el nem éri a jogkivonat korlátját, ami egy hosszú ideig futó és látszólag "elakadt" kérést eredményez. Emellett előfordulhat, hogy az üzenet tartalma részben le lesz vágva, ha használja finish_reason="length" , ami azt jelzi, hogy a létrehozás túllépte max_tokens vagy a beszélgetés túllépte a környezet maximális hosszát. |
tool_resources |
object | Választható | Az asszisztens eszközei által használt erőforrások készlete. Az erőforrások az eszköz típusára vonatkoznak. Az eszköznek például code_interpreter a fájlazonosítók listájára van szüksége, míg az file_search eszköznek a vektortároló azonosítóinak listájára van szüksége. |
Visszatérési érték
A módosított segédobjektum.
Példa a módosítási segédre
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)
Törlési segéd
DELETE https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}?api-version=2024-08-01-preview
Segéd törlése.
Elérésiút-paraméterek
Paraméter | Típus | Kötelező | Leírás |
---|---|---|---|
assistant_id |
húr | Szükséges | Annak az asszisztensnek az azonosítója, amelyhez a fájl tartozik. |
Visszatérési érték
Törlés állapota.
Példa törlési segédre
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)
Fájlfeltöltési API-referencia
Az asszisztensek ugyanazt az API-t használják a fájlfeltöltéshez, mint a finomhangolást. Fájl feltöltésekor meg kell adnia a célparaméter megfelelő értékét.
Segédobjektum
Mező | Típus | Leírás |
---|---|---|
id |
húr | Az API-végpontokban hivatkozható azonosító. |
object |
húr | Az objektum típusa, amely mindig asszisztens. |
created_at |
egész szám | A Unix időbélyege (másodpercben) az asszisztens létrehozásakor. |
name |
sztring vagy null | Az asszisztens neve. A maximális hossz 256 karakter. |
description |
sztring vagy null | Az asszisztens leírása. A maximális hossz 512 karakter. |
model |
húr | A használni kívánt modell üzembehelyezési nevének neve. |
instructions |
sztring vagy null | Az asszisztens által használt rendszerutasítások. A maximális hossz 32768 karakter. |
tools |
array | Az asszisztensen engedélyezett eszközlista. Asszisztensenként legfeljebb 128 eszköz lehet. Az eszközök lehetnek code_interpreter típusúak vagy függvények. A function leírás legfeljebb 1024 karakter hosszúságú lehet. |
metadata |
térkép | Egy objektumhoz csatolható 16 kulcs-érték pár készlete. Ez hasznos lehet az objektumra vonatkozó további információk strukturált formátumban történő tárolásához. A kulcsok legfeljebb 64 karakter hosszúak lehetnek, az értékek pedig legfeljebb 512 karakter hosszúak lehetnek. |
temperature |
szám vagy null | Alapértelmezett érték: 1. Meghatározza, hogy milyen mintavételi hőmérsékletet használjon 0 és 2 között. A magasabb értékek, például a 0,8 véletlenszerűbbé teszik a kimenetet, míg az alacsonyabb értékek, például a 0,2, koncentráltabbá és determinisztikusabbá teszik a kimenetet. |
top_p |
szám vagy null | Alapértelmezett érték: 1. A hőmérséklettel történő mintavételezés alternatíva, az úgynevezett magmintavétel, ahol a modell a tokenek eredményeit top_p valószínűségi tömeggel veszi figyelembe. A 0.1 tehát csak a felső 10%-os valószínűségi tömeget tartalmazó jogkivonatokat jelenti. Általában azt javasoljuk, hogy módosítsa ezt vagy a hőmérsékletet, de mindkettőt nem. |
response_format |
sztring vagy objektum | Megadja a modell kimenetének formátumát. Kompatibilis a GPT-4 Turbo és az összes GPT-3.5 Turbo modellel a gpt-3.5-turbo-1106 óta. A paraméter { "type": "json_object" } beállítása A JSON mód engedélyezése érdekében, amely garantálja, hogy a modell által generált üzenet érvényes JSON-ként jelenik meg. Fontos, hogy JSON mód használata esetén a modellt arra is utasítania kell, hogy saját maga állítson elő JSON-t rendszer vagy felhasználói üzenet használatával. E nélkül az utasítás nélkül a modell létrehozhat egy korlátlan térközfolyamot, amíg a generáció el nem éri a jogkivonat korlátját, ami egy hosszú ideig futó és látszólag "elakadt" kérést eredményez. Emellett előfordulhat, hogy az üzenet tartalma részben le lesz vágva, ha használja finish_reason="length" , ami azt jelzi, hogy a létrehozás túllépte max_tokens vagy a beszélgetés túllépte a környezet maximális hosszát. |
tool_resources |
object | Az asszisztens eszközei által használt erőforrások készlete. Az erőforrások az eszköz típusára vonatkoznak. Az eszköznek például code_interpreter a fájlazonosítók listájára van szüksége, míg az file_search eszköznek a vektortároló azonosítóinak listájára van szüksége. |