Az Assistants API (előzetes verzió) futtatja a referenciát
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.
Futtatás létrehozása
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs?api-version=2024-08-01-preview
Futtatás létrehozása.
Elérési út paramétere
Paraméter | Típus | Kötelező | Leírás |
---|---|---|---|
thread_id |
húr | Szükséges | Az üzenet létrehozásához használt szál azonosítója. |
Kérelem törzse
Név | Típus | Kötelező | Leírás |
---|---|---|---|
assistant_id |
húr | Szükséges | A futtatás végrehajtásához használni kívánt asszisztens azonosítója. |
model |
sztring vagy null | Választható | A futtatás végrehajtásához használandó modelltelepítés neve. Ha itt megad egy értéket, az felülírja az asszisztenshez társított modell üzembe helyezésének nevét. Ha nem, az asszisztenshez társított modell üzembehelyezési neve lesz használva. |
instructions |
sztring vagy null | Választható | Felülírja az asszisztens utasításait. Ez a viselkedés futásonkénti módosításához hasznos. |
additional_instructions |
húr | Választható | A futtatásra vonatkozó utasítások végén további utasításokat fűz hozzá. Ez akkor hasznos, ha futtatásonként módosítja a viselkedést anélkül, hogy felülírna más utasításokat. |
additional_messages |
array | Választható | A futtatás létrehozása előtt további üzeneteket ad hozzá a szálhoz. |
tools |
tömb vagy null | Választható | Felülbírálja az asszisztens által a futtatáshoz használható eszközöket. Ez a viselkedés futásonkénti módosításához hasznos. |
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 | Választható | Milyen mintavételi hőmérsékletet kell használni, 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. Az alapértelmezett érték 1. |
top_p |
szám | Választható | 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. Az alapértelmezett érték 1. |
stream |
Logikai | választható | Ha true , a futtatás kiszolgáló által küldött események során bekövetkező események adatfolyamát adja vissza, amely akkor végződik, amikor a Futtatás terminálállapotba lép egy data: [DONE] üzenettel. |
max_prompt_tokens |
egész szám | választható | A futtatás során használható befejezési jogkivonatok maximális száma. A futtatás mindent megtesz annak érdekében, hogy csak a megadott számú befejezési jogkivonatot használja a futtatás több fordulója során. Ha a futtatás meghaladja a megadott befejezési jogkivonatok számát, a futtatás állapottal incomplete fejeződik be. |
max_completion_tokens |
egész szám | választható | A futtatás során használható befejezési jogkivonatok maximális száma. A futtatás mindent megtesz annak érdekében, hogy csak a megadott számú befejezési jogkivonatot használja a futtatás több fordulója során. Ha a futtatás meghaladja a megadott befejezési jogkivonatok számát, a futtatás állapottal incomplete fejeződik be. |
truncation_strategy |
truncationObject | választható | Azt szabályozza, hogy a futtatás előtt hogyan csonkolja a szálat. Ezzel szabályozhatja a futtatás kezdeti környezeti ablakát. |
tool_choice |
sztring vagy objektum | választható | Azt szabályozza, hogy a modell melyik eszközt hívja meg (ha van ilyen). Az none érték azt jelenti, hogy a modell nem hív meg semmilyen eszközt, és ehelyett üzenetet hoz létre. auto az alapértelmezett érték, és azt jelenti, hogy a modell választhat az üzenet létrehozása vagy az eszköz meghívása között. Egy adott eszköz megadása, például {"type": "file_search"} {"type": "function", "function": {"name": "my_function"}} a modell meghívására kényszeríti a modellt. |
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 modell azóta gpt-3.5-turbo-1106 . A JSON mód engedélyezése, { "type": "json_object" } amely garantálja, hogy a modell által generált üzenet érvényes JSON. Fontos: JSON-mód használata esetén a modellt arra is meg kell adnia, hogy saját maga állítson elő JSON-t egy rendszeren vagy felhasználói üzeneten keresztül. Enélkül előfordulhat, hogy a modell egy névtelen térfolyamot hoz létre, amíg a generáció el nem éri a jogkivonat korlátját, ami hosszú ideig futó és látszólag "elakadt" kérést eredményez. Azt is vegye figyelembe, hogy az üzenet tartalma részben megszakadhat, ha finish_reason="length" az azt jelzi, hogy a generálás túllépte max_tokens vagy a beszélgetés túllépte a környezet maximális hosszát. |
Válaszok
Futtatási objektum.
Példa futtatási ké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")
)
run = client.beta.threads.runs.create(
thread_id="thread_abc123",
assistant_id="asst_abc123"
)
print(run)
Szál létrehozása és futtatása
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/runs?api-version=2024-08-01-preview
Hozzon létre egy szálat, és futtassa egyetlen kérelemben.
Kérelem törzse
Név | Típus | Kötelező | Leírás |
---|---|---|---|
assistant_id |
húr | Szükséges | A futtatás végrehajtásához használni kívánt asszisztens azonosítója. |
thread |
object | Választható | |
model |
sztring vagy null | Választható | A futtatás végrehajtásához használandó modell üzembehelyezési nevének azonosítója. Ha itt megad egy értéket, az felülírja az asszisztenshez társított modell üzembe helyezésének nevét. Ha nem, az asszisztenshez társított modell üzembehelyezési neve lesz használva. |
instructions |
sztring vagy null | Választható | Felülbírálja az asszisztens alapértelmezett rendszerüzenetét. Ez a viselkedés futásonkénti módosításához hasznos. |
tools |
tömb vagy null | Választható | Felülbírálja az asszisztens által a futtatáshoz használható eszközöket. Ez a viselkedés futásonkénti módosításához hasznos. |
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 | Választható | Milyen mintavételi hőmérsékletet kell használni, 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. Az alapértelmezett érték 1. |
top_p |
szám | Választható | 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. Az alapértelmezett érték 1. |
stream |
Logikai | választható | Ha true , a futtatás kiszolgáló által küldött események során bekövetkező események adatfolyamát adja vissza, amely akkor végződik, amikor a Futtatás terminálállapotba lép egy data: [DONE] üzenettel. |
max_prompt_tokens |
egész szám | választható | A futtatás során használható befejezési jogkivonatok maximális száma. A futtatás mindent megtesz annak érdekében, hogy csak a megadott számú befejezési jogkivonatot használja a futtatás több fordulója során. Ha a futtatás meghaladja a megadott befejezési jogkivonatok számát, a futtatás állapottal incomplete fejeződik be. |
max_completion_tokens |
egész szám | választható | A futtatás során használható befejezési jogkivonatok maximális száma. A futtatás mindent megtesz annak érdekében, hogy csak a megadott számú befejezési jogkivonatot használja a futtatás több fordulója során. Ha a futtatás meghaladja a megadott befejezési jogkivonatok számát, a futtatás állapottal incomplete fejeződik be. |
truncation_strategy |
truncationObject | választható | Azt szabályozza, hogy a futtatás előtt hogyan csonkolja a szálat. Ezzel szabályozhatja a futtatás kezdeti környezeti ablakát. |
tool_choice |
sztring vagy objektum | választható | Azt szabályozza, hogy a modell melyik eszközt hívja meg (ha van ilyen). Az none érték azt jelenti, hogy a modell nem hív meg semmilyen eszközt, és ehelyett üzenetet hoz létre. auto az alapértelmezett érték, és azt jelenti, hogy a modell választhat az üzenet létrehozása vagy az eszköz meghívása között. Egy adott eszköz megadása, például {"type": "file_search"} {"type": "function", "function": {"name": "my_function"}} a modell meghívására kényszeríti a modellt. |
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 modell azóta gpt-3.5-turbo-1106 . A JSON mód engedélyezése, { "type": "json_object" } amely garantálja, hogy a modell által generált üzenet érvényes JSON. Fontos: JSON-mód használata esetén a modellt arra is meg kell adnia, hogy saját maga állítson elő JSON-t egy rendszeren vagy felhasználói üzeneten keresztül. Enélkül előfordulhat, hogy a modell egy névtelen térfolyamot hoz létre, amíg a generáció el nem éri a jogkivonat korlátját, ami hosszú ideig futó és látszólag "elakadt" kérést eredményez. Azt is vegye figyelembe, hogy az üzenet tartalma részben megszakadhat, ha finish_reason="length" az azt jelzi, hogy a generálás túllépte max_tokens vagy a beszélgetés túllépte a környezet maximális hosszát. |
Válaszok
Futtatási objektum.
Példa szál létrehozására és a kérelem futtatá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")
)
run = client.beta.threads.create_and_run(
assistant_id="asst_abc123",
thread={
"messages": [
{"role": "user", "content": "Explain deep learning to a 5 year old."}
]
}
)
Listafuttatások
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs?api-version=2024-08-01-preview
Egy szálhoz tartozó futtatások listáját adja vissza.
Elérési út paramétere
Paraméter | Típus | Kötelező | Leírás |
---|---|---|---|
thread_id |
húr | Szükséges | Annak a szálnak az azonosítója, amelyhez a futtatás tartozik. |
Lekérdezési paraméterek
Név | Típus | Kötelező | Leírás |
---|---|---|---|
limit |
egész szám | Nem kötelező – Alapértelmezett érték: 20 | 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. után van 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. előtt van 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
A futtatott objektumok listája.
Példalista futtatja a kérést
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")
)
runs = client.beta.threads.runs.list(
"thread_abc123"
)
print(runs)
Futtatási lépések listázása
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/steps?api-version=2024-08-01-preview
Egy futtatáshoz tartozó lépések listáját adja vissza.
Elérésiút-paraméterek
Paraméter | Típus | Kötelező | Leírás |
---|---|---|---|
thread_id |
húr | Szükséges | Annak a szálnak az azonosítója, amelyhez a futtatás tartozik. |
run_id |
húr | Szükséges | A lekérdezendő futtatási lépésekhez társított futtatás azonosítója. |
Paraméterek lekérdezése
Név | Típus | Kötelező | Leírás |
---|---|---|---|
limit |
egész szám | Nem kötelező – Alapértelmezett érték: 20 | 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. után van 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. előtt van 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
A futtatási lépés objektumainak listája.
Példa listafuttatási lépésekre vonatkozó kérése
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")
)
run_steps = client.beta.threads.runs.steps.list(
thread_id="thread_abc123",
run_id="run_abc123"
)
print(run_steps)
Futtatás lekérése
from openai import OpenAI
client = OpenAI()
run = client.beta.threads.runs.retrieve(
thread_id="thread_abc123",
run_id="run_abc123"
)
print(run)
Lekéri a futtatásokat.
Elérésiút-paraméterek
Paraméter | Típus | Kötelező | Leírás |
---|---|---|---|
thread_id |
húr | Szükséges | A futtatott szál azonosítója. |
run_id |
húr | Szükséges | A lekérni kívánt futtatás azonosítója. |
Válaszok
A megadott futtatási azonosítónak megfelelő futtatási objektum.
Példa listafuttatási lépésekre vonatkozó kérése
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")
)
run = client.beta.threads.runs.retrieve(
thread_id="thread_abc123",
run_id="run_abc123"
)
print(run)
Futtatási lépés lekérése
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/steps/{step_id}?api-version=2024-08-01-preview
Lekéri a futtatási lépést.
Elérésiút-paraméterek
Paraméter | Típus | Kötelező | Leírás |
---|---|---|---|
thread_id |
húr | Szükséges | Annak a szálnak az azonosítója, amelyhez a futtatási és futtatási lépés tartozik. |
run_id |
húr | Szükséges | Annak a futtatásnak az azonosítója, amelyhez a futtatási lépés tartozik. |
step_id |
húr | Szükséges | A lekérendő futtatási lépés azonosítója. |
Válaszok
A megadott azonosítónak megfelelő futtatási lépés objektum.
Példa a futtatási lépések kérésének lekérésére
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")
)
run_step = client.beta.threads.runs.steps.retrieve(
thread_id="thread_abc123",
run_id="run_abc123",
step_id="step_abc123"
)
print(run_step)
Futtatás módosítása
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}?api-version=2024-08-01-preview
Módosítja a futtatásokat.
Elérésiút-paraméterek
Paraméter | Típus | Kötelező | Leírás |
---|---|---|---|
thread_id |
húr | Szükséges | A futtatott szál azonosítója. |
run_id |
húr | Szükséges | A módosítandó futtatás azonosítója. |
Kérelem törzse
Név | Típus | Kötelező | Leírás |
---|---|---|---|
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. |
Válaszok
A megadott azonosítónak megfelelő módosított futtatási objektum.
Példa a futtatási kérelem módosítá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")
)
run = client.beta.threads.runs.update(
thread_id="thread_abc123",
run_id="run_abc123",
metadata={"user_id": "user_abc123"},
)
print(run)
Eszközkimenetek elküldése futtatásra
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/submit_tool_outputs?api-version=2024-08-01-preview
Ha egy futtatás állapota "requires_action", és a required_action.type submit_tool_outputs, ez a végpont használható az eszközhívások kimeneteinek elküldésére, ha az összes befejeződött. Minden kimenetet egyetlen kérelemben kell elküldeni.
Elérésiút-paraméterek
Paraméter | Típus | Kötelező | Leírás |
---|---|---|---|
thread_id |
húr | Szükséges | Annak a szálnak az azonosítója, amelyhez ez a futtatás tartozik. |
run_id |
húr | Szükséges | Az eszköz kimenetének elküldéséhez szükséges futtatás azonosítója. |
Kérelem törzse
Név | Típus | Kötelező | Leírás |
---|---|---|---|
tool_outputs |
array | Kötelező | Azoknak az eszközöknek a listája, amelyekhez a kimenetek elküldése folyamatban van. |
stream |
Logikai | Választható | Ha true , a futtatás kiszolgáló által küldött események során bekövetkező események adatfolyamát adja vissza, amely akkor végződik, amikor a Futtatás terminálállapotba lép egy data: [DONE] üzenettel. |
Válaszok
A megadott azonosítónak megfelelő módosított futtatási objektum.
Példa eszközkimenetek elküldésére a kérelem futtatásához
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")
)
run = client.beta.threads.runs.submit_tool_outputs(
thread_id="thread_abc123",
run_id="run_abc123",
tool_outputs=[
{
"tool_call_id": "call_abc123",
"output": "28C"
}
]
)
print(run)
Futtatás megszakítása
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/cancel?api-version=2024-08-01-preview
A in_progress futtatás megszakítása.
Elérésiút-paraméterek
Paraméter | Típus | Kötelező | Leírás |
---|---|---|---|
thread_id |
húr | Szükséges | Annak a szálnak az azonosítója, amelyhez ez a futtatás tartozik. |
run_id |
húr | Szükséges | A megszakítandó futtatás azonosítója. |
Válaszok
A megadott azonosítónak megfelelő módosított futtatási objektum.
Példa eszközkimenetek elküldésére a kérelem futtatásához
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")
)
run = client.beta.threads.runs.cancel(
thread_id="thread_abc123",
run_id="run_abc123"
)
print(run)
Objektum futtatása
Egy szálon futtatott végrehajtást jelöl.
Név | Típus | Leírás |
---|---|---|
id |
húr | Az API-végpontokban hivatkozható azonosító. |
object |
húr | Az objektum típusa, amely mindig thread.run. |
created_at |
egész szám | A Unix időbélyege (másodpercben) a futtatás létrehozásakor. |
thread_id |
húr | A futtatás részeként végrehajtott szál azonosítója. |
assistant_id |
húr | A futtatás végrehajtásához használt asszisztens azonosítója. |
status |
húr | A futtatás állapota, amely lehet queued , , in_progress , requires_action cancelling , cancelled , , failed , completed vagy expired . |
required_action |
objektum vagy null | A futtatás folytatásához szükséges művelet részletei. Null értékű lesz, ha nincs szükség műveletre. |
last_error |
objektum vagy null | A futtatáshoz tartozó utolsó hiba. Null értékű lesz, ha nincsenek hibák. |
expires_at |
egész szám | A Unix időbélyege (másodpercben) arra az időre, amikor a futtatás lejár. |
started_at |
egész szám vagy null | A Unix időbélyege (másodpercben) a futtatás indításakor. |
cancelled_at |
egész szám vagy null | A Unix időbélyege (másodpercben) arra az időre, amikor a futtatás megszakadt. |
failed_at |
egész szám vagy null | A Unix időbélyege (másodpercben), amikor a futtatás sikertelen volt. |
completed_at |
egész szám vagy null | A Futtatás befejezésének Unix-időbélyege (másodpercben). |
model |
húr | A modell központi telepítési neve, amelyet az asszisztens használt a futtatáshoz. |
instructions |
húr | Az asszisztens által a futtatáshoz használt utasítások. |
tools |
array | Az asszisztens által a futtatáshoz használt eszközök listája. |
file_ids |
array | A futtatáshoz használt fájlazonosítók listája. |
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. |
tool_choice |
sztring vagy objektum | Azt szabályozza, hogy a modell melyik eszközt hívja meg (ha van ilyen). none azt jelenti, hogy a modell nem hív meg eszközöket, hanem üzenetet hoz létre. auto az alapértelmezett érték, és azt jelenti, hogy a modell választhat az üzenet létrehozása vagy az eszköz meghívása között. Egy adott eszköz megadása, például {"type": "file_search"} {"type": "function", "function": {"name": "my_function"}} a modell meghívására kényszeríti a modellt. |
max_prompt_tokens |
egész szám vagy null | A futtatás során használt parancssori jogkivonatok maximális száma. |
max_completion_tokens |
egész szám vagy null | A futtatás során használt befejezési jogkivonatok maximális száma. |
usage |
objektum vagy null | A futtatáshoz kapcsolódó használati statisztikák. Ez az érték null értékű lesz, ha a futtatás nem terminálállapotban van (például in_progress : queued ). |
truncation_strategy |
object | Azt szabályozza, hogy a futtatás előtt hogyan csonkolja a szálat. |
response_format |
húr | A modell által kiadandó formátum. Kompatibilis a GPT-4 Turbo és az összes GPT-3.5 Turbo modell azóta gpt-3.5-turbo-1106 . |
tool_choice |
húr | Azt szabályozza, hogy a modell melyik eszközt hívja meg (ha van ilyen). none azt jelenti, hogy a modell nem hív meg eszközöket, hanem üzenetet hoz létre. auto az alapértelmezett érték, és azt jelenti, hogy a modell választhat az üzenet létrehozása vagy az eszköz meghívása között. |
Lépésobjektum futtatása
Futtatás végrehajtásának lépését jelöli.
Név | Típus | Leírás |
---|---|---|
id |
húr | A futtatási lépés azonosítója, amelyre az API-végpontokban lehet hivatkozni. |
object |
húr | Az objektum típusa, amely mindig thread.run.step. |
created_at |
egész szám | A Unix időbélyege (másodpercben) a futtatási lépés létrehozásakor. |
assistant_id |
húr | A futtatási lépéshez társított asszisztens azonosítója. |
thread_id |
húr | A futtatott szál azonosítója. |
run_id |
húr | Annak a futtatásnak az azonosítója, amelybe ez a futtatási lépés tartozik. |
type |
húr | A futtatási lépés típusa, amely lehet message_creation vagy tool_calls. |
status |
húr | A futtatási lépés állapota, amely lehet in_progress , cancelled , failed , completed vagy expired . |
step_details |
object | A futtatási lépés részletei. |
last_error |
objektum vagy null | A futtatási lépéshez tartozó utolsó hiba. Null értékű lesz, ha nincsenek hibák. |
expired_at |
egész szám vagy null | A Unix időbélyege (másodpercben) arra az időre, amikor a futtatási lépés lejárt. A rendszer lejártnak tekint egy lépést, ha a szülőfuttatás lejárt. |
cancelled_at |
egész szám vagy null | A Unix időbélyege (másodpercben) arra az időre, amikor a futtatási lépést megszakították. |
failed_at |
egész szám vagy null | A Unix időbélyege (másodpercben) arra az időre, amikor a futtatási lépés sikertelen volt. |
completed_at |
egész szám vagy null | A Unix időbélyege (másodpercben) arra az időre, amikor a futtatási lépés befejeződött. |
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. |
Futtatási eredmény streamelése (előzetes verzió)
Streamelje a futtatás végrehajtásának eredményét, vagy futtassa újra a futtatást az eszköz kimeneteinek elküldése után. A következő után streamelheti az eseményeket:
Az eredmény streameléséhez futtassa az eredményt "stream": true
. A válasz egy kiszolgáló által küldött eseménystream lesz.
Streamelési példa
from typing_extensions import override
from openai import AssistantEventHandler
# First, we create a EventHandler class to define
# how we want to handle the events in the response stream.
class EventHandler(AssistantEventHandler):
@override
def on_text_created(self, text) -> None:
print(f"\nassistant > ", end="", flush=True)
@override
def on_text_delta(self, delta, snapshot):
print(delta.value, end="", flush=True)
def on_tool_call_created(self, tool_call):
print(f"\nassistant > {tool_call.type}\n", flush=True)
def on_tool_call_delta(self, delta, snapshot):
if delta.type == 'code_interpreter':
if delta.code_interpreter.input:
print(delta.code_interpreter.input, end="", flush=True)
if delta.code_interpreter.outputs:
print(f"\n\noutput >", flush=True)
for output in delta.code_interpreter.outputs:
if output.type == "logs":
print(f"\n{output.logs}", flush=True)
# Then, we use the `create_and_stream` SDK helper
# with the `EventHandler` class to create the Run
# and stream the response.
with client.beta.threads.runs.stream(
thread_id=thread.id,
assistant_id=assistant.id,
instructions="Please address the user as Jane Doe. The user has a premium account.",
event_handler=EventHandler(),
) as stream:
stream.until_done()
Csonkítási objektum
Azt szabályozza, hogy a futtatás előtt hogyan csonkolja a szálat. Ezzel szabályozhatja a futtatás kezdeti környezeti ablakát.
Név | Típus | Leírás | Kötelező |
---|---|---|---|
type |
húr | A szálhoz használandó csonkítási stratégia. Az alapértelmezett érték auto . Ha be van last_messages állítva, a rendszer csonkolja a szálat a szál legutóbbi üzeneteihez. Ha be van auto állítva, a rendszer a szál közepén lévő üzeneteket elveti a modell környezeti hosszának megfelelően. max_prompt_tokens |
Igen |
last_messages |
egész szám | A futtatás környezetének létrehozásakor a szál legutóbbi üzeneteinek száma. | Nem |
Üzenet delta objektuma
Üzeneteltűrő értéket jelöl. Például egy üzenet módosított mezői a streamelés során.
Név | Típus | Leírás |
---|---|---|
id |
húr | Az üzenet azonosítója, amelyre az API-végpontokban lehet hivatkozni. |
object |
húr | Az objektum típusa, amely mindig thread.message.delta . |
delta |
object | Az üzenetben módosult mezőket tartalmazó változás. |
Lépés-változásobjektum futtatása
Egy futtatási lépés különbözetét jelöli. Például egy futtatási lépés módosított mezői a streamelés során.
Név | Típus | Leírás |
---|---|---|
id |
húr | A futtatási lépés azonosítója, amelyre az API-végpontokban lehet hivatkozni. |
object |
húr | Az objektum típusa, amely mindig thread.run.step.delta . |
delta |
object | A futtatási lépésben módosult mezőket tartalmazó változás. |
Segéd streames eseményei
Futtatás streamelésekor kibocsátott eseményt jelöl. A kiszolgáló által küldött eseményfolyam minden eseménye rendelkezik esemény- és adattulajdonságokkal:
event: thread.created
data: {"id": "thread_123", "object": "thread", ...}
Az események akkor lesznek kibocsátva, amikor új objektumot hoznak létre, áttűnnek egy új állapotra, vagy részekben (eltérésekben) streamelik őket. A rendszer például thread.run.created
egy új futtatás létrehozásakor, thread.run.completed
a futtatás befejeződésekor stb. Amikor egy asszisztens úgy dönt, hogy futtatás közben hoz létre üzenetet, eseményt thread.message.created
, eseményt thread.message.in_progress
, sok szálat bocsátunk ki.message.delta
eseményeket, végül pedig egy eseményt thread.message.completed
.
Név | Típus | Leírás |
---|---|---|
thread.created |
data egy szál. |
Új szál létrehozásakor következik be. |
thread.run.created |
data futtatás. |
Új futtatás létrehozásakor következik be. |
thread.run.queued |
data futtatás. |
Akkor fordul elő, ha egy futtatás várólistás állapotba kerül. |
thread.run.in_progress |
data futtatás. |
Akkor fordul elő, ha egy futtatás in_progress állapotba kerül. |
thread.run.requires_action |
data futtatás. |
Akkor fordul elő, ha egy futtatás állapotba requires_action kerül. |
thread.run.completed |
data futtatás. |
A futtatás befejezésekor következik be. |
thread.run.failed |
data futtatás. |
Akkor fordul elő, ha egy futtatás meghiúsul. |
thread.run.cancelling |
data futtatás. |
Akkor fordul elő, ha egy futtatás állapotba cancelling kerül. |
thread.run.cancelled |
data futtatás. |
A futtatás megszakításakor következik be. |
thread.run.expired |
data futtatás. |
A futtatás lejáratakor következik be. |
thread.run.step.created |
data egy futtatási lépés. |
Futtatási lépés létrehozásakor következik be. |
thread.run.step.in_progress |
data egy futtatási lépés. |
Akkor fordul elő, ha egy futtatási lépés egy in_progress állapotba kerül. |
thread.run.step.delta |
data egy futtatási lépés eltérése. |
Akkor fordul elő, ha egy futtatási lépés egyes részeit streameli. |
thread.run.step.completed |
data egy futtatási lépés. |
A futtatási lépés befejezésekor következik be. |
thread.run.step.failed |
data egy futtatási lépés. |
Akkor fordul elő, ha egy futtatási lépés meghiúsul. |
thread.run.step.cancelled |
data egy futtatási lépés. |
Egy futtatási lépés megszakításakor következik be. |
thread.run.step.expired |
data egy futtatási lépés. |
A futtatási lépés lejáratakor következik be. |
thread.message.created |
data üzenet. |
Üzenet létrehozásakor következik be. |
thread.message.in_progress |
data üzenet. |
Akkor fordul elő, ha egy üzenet in_progress állapotba kerül. |
thread.message.delta |
data egy üzenet eltérése. |
Az üzenet egyes részeinek streamelésekor fordul elő. |
thread.message.completed |
data üzenet. |
Üzenet befejezésekor következik be. |
thread.message.incomplete |
data üzenet. |
Akkor fordul elő, ha egy üzenet befejeződik, mielőtt befejeződne. |
error |
data hiba. |
Hiba esetén fordul elő. Ez belső kiszolgálóhiba vagy időtúllépés miatt fordulhat elő. |
done |
data van [DONE] |
Akkor fordul elő, ha egy stream véget ér. |