Megosztás a következőn keresztül:


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 incompletefejező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 incompletefejező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 incompletefejező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 incompletefejező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_actioncancelling, cancelled, , failed, completedvagy 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, completedvagy 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.