Valós idejű API -referencia (előzetes verzió)
Feljegyzés
Ez a funkció jelenleg nyilvános előzetes verzióban érhető el. Ez az előzetes verzió szolgáltatásszint-szerződés nélkül érhető el, és éles számítási feladatokhoz nem javasoljuk. Előfordulhat, hogy néhány funkció nem támogatott, vagy korlátozott képességekkel rendelkezik. További információ: Kiegészítő használati feltételek a Microsoft Azure előzetes verziójú termékeihez.
A Realtime API egy WebSocket-alapú API, amely lehetővé teszi az Azure OpenAI szolgáltatás valós idejű használatát.
A Realtime API (via/realtime
) a WebSockets API-ra épül, így teljes mértékben aszinkron streamelési kommunikációt tesz lehetővé a végfelhasználó és a modell között. Az eszköz részletei, például a hangadatok rögzítése és renderelése kívül esik a Realtime API hatókörén. Egy megbízható, köztes szolgáltatás kontextusában kell használni, amely a végfelhasználókkal való kapcsolatokat és a modellvégpont-kapcsolatokat egyaránt kezeli. Ne használja közvetlenül a nem megbízható végfelhasználói eszközökről.
Tipp.
A Realtime API használatának megkezdéséhez tekintse meg a rövid útmutatót és az útmutatót.
Connection
A Realtime API-hoz egy meglévő Azure OpenAI-erőforrásvégpont szükséges egy támogatott régióban. Az API biztonságos WebSocket-kapcsolaton keresztül érhető el az /realtime
Azure OpenAI-erőforrás végpontjához.
A teljes kérelem URI-ja az alábbiak összefűzésével állítható össze:
- A secure WebSocket (
wss://
) protokoll. - Az Azure OpenAI-erőforrásvégpont gazdagépneve, például:
my-aoai-resource.openai.azure.com
- Az
openai/realtime
API elérési útja. - Egy
api-version
támogatott API-verzió lekérdezési sztringparamétere, például2024-12-17
- Egy
deployment
lekérdezési sztringparaméter az Öngpt-4o-realtime-preview
vagygpt-4o-mini-realtime-preview
a modell üzembe helyezésének nevével.
A következő példa egy jól összeállított /realtime
kérelem URI-ja:
wss://my-eastus2-openai-resource.openai.azure.com/openai/realtime?api-version=2024-12-17&deployment=gpt-4o-realtime-preview
Hitelesítés
Hitelesítés:
-
Microsoft Entra (ajánlott): Tokenalapú hitelesítés használata az
/realtime
API-val egy olyan Azure OpenAI-szolgáltatás-erőforráshoz, amelyen engedélyezve van a felügyelt identitás. Lekért hitelesítési jogkivonat alkalmazása aAuthorization
fejlécet tartalmazó jogkivonat használatávalBearer
. -
API-kulcs: Kétféleképpen
api-key
adható meg:-
api-key
Kapcsolatfejléc használata az előkezelő kapcsolaton. Ez a beállítás böngészőkörnyezetben nem érhető el. - Lekérdezési sztringparaméter
api-key
használata a kérelem URI-ján. A lekérdezési sztring paraméterei https/wss használatakor titkosítva vannak.
-
Ügyfélesemények
Kilenc ügyfélesemény küldhető el az ügyféltől a kiszolgálónak:
Esemény | Leírás |
---|---|
RealtimeClientEventConversationItemCreate | Az ügyfélesemény conversation.item.create használatával új elemet adhat hozzá a beszélgetés környezetéhez, beleértve az üzeneteket, a függvényhívásokat és a függvényhívási válaszokat. |
RealtimeClientEventConversationItemDelete | Az ügyfélesemény conversation.item.delete egy elem eltávolítására szolgál a beszélgetési előzményekből. |
RealtimeClientEventConversationItemTruncate | Az ügyfélesemény conversation.item.truncate egy korábbi segédüzenet hangjának csonkosítására szolgál. |
RealtimeClientEventInputAudioBufferAppend | Az ügyfélesemény input_audio_buffer.append hangbájtok hozzáfűzésére szolgál a bemeneti hangpufferhez. |
RealtimeClientEventInputAudioBufferClear | Az ügyfélesemény input_audio_buffer.clear a pufferben lévő hang bájtok törlésére szolgál. |
RealtimeClientEventInputAudioBufferCommit | Az ügyfélesemény input_audio_buffer.commit a felhasználói bemeneti hangpuffer véglegesítésére szolgál. |
RealtimeClientEventResponseCancel | Az ügyfélesemény response.cancel egy folyamatban lévő válasz megszakítására szolgál. |
RealtimeClientEventResponseCreate | Az ügyfélesemény response.create arra utasítja a kiszolgálót, hogy modellkövetkezéssel hozzon létre választ. |
RealtimeClientEventSessionUpdate | Az ügyfélesemény session.update a munkamenet alapértelmezett konfigurációjának frissítésére szolgál. |
RealtimeClientEventConversationItemCreate
Az ügyfélesemény conversation.item.create
használatával új elemet adhat hozzá a beszélgetés környezetéhez, beleértve az üzeneteket, a függvényhívásokat és a függvényhívási válaszokat. Ez az esemény a beszélgetés előzményeinek kitöltésére és új elemek stream közbeni hozzáadására használható. Ez az esemény jelenleg nem tudja feltölteni az asszisztensi hangüzeneteket.
Ha sikeres, a kiszolgáló egy conversation.item.created
eseménysel válaszol, ellenkező esetben egy error
esemény lesz elküldve.
Eseménystruktúra
{
"type": "conversation.item.create",
"previous_item_id": "<previous_item_id>"
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie conversation.item.create : . |
previous_item_id | húr | Az előző elem azonosítója, amely után az új elem be lesz szúrva. Ha nincs beállítva, az új elem hozzá lesz fűzve a beszélgetés végéhez. Ha be van állítva, lehetővé teszi egy elem beszúrását beszélgetés közben. Ha az azonosító nem található, akkor a rendszer hibát ad vissza, és az elem nem lesz hozzáadva. |
cikk | RealtimeConversationRequestItem | A beszélgetéshez hozzáadni kívánt elem. |
RealtimeClientEventConversationItemDelete
Az ügyfélesemény conversation.item.delete
egy elem eltávolítására szolgál a beszélgetési előzményekből.
A kiszolgáló eseményekkel conversation.item.deleted
válaszol, kivéve, ha az elem nem szerepel a beszélgetési előzményekben, ebben az esetben a kiszolgáló hibaüzenettel válaszol.
Eseménystruktúra
{
"type": "conversation.item.delete",
"item_id": "<item_id>"
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie conversation.item.delete : . |
item_id | húr | A törölni kívánt elem azonosítója. |
RealtimeClientEventConversationItemTruncate
Az ügyfélesemény conversation.item.truncate
egy korábbi segédüzenet hangjának csonkosítására szolgál. A kiszolgáló a valós idejűnél gyorsabban állítja elő a hangot, ezért ez az esemény akkor hasznos, ha a felhasználó megszakítja az ügyfélnek küldött, de még nem lejátszott hang csonkítását. A kiszolgáló az ügyfél lejátszásával kapcsolatos hangértelmét szinkronizálja.
A csonkoló hang törli a kiszolgálóoldali szöveges átiratot, hogy a felhasználó által nem ismert szöveg ne legyen benne.
Ha az ügyfélesemény sikeres, a kiszolgáló egy conversation.item.truncated
eseménysel válaszol.
Eseménystruktúra
{
"type": "conversation.item.truncate",
"item_id": "<item_id>",
"content_index": 0,
"audio_end_ms": 0
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie conversation.item.truncate : . |
item_id | húr | A csonkítandó segéd üzenetelem azonosítója. Csak a segédüzenet-elemek csonkoltak. |
content_index | egész szám | A csonkítandó tartalomrész indexe. Állítsa ezt a tulajdonságot "0" értékre. |
audio_end_ms | egész szám | A hang csonkolt időtartamának teljes időtartama ezredmásodpercben. Ha a audio_end_ms nagyobb, mint a hang tényleges időtartama, a kiszolgáló hibaüzenettel válaszol. |
RealtimeClientEventInputAudioBufferAppend
Az ügyfélesemény input_audio_buffer.append
hangbájtok hozzáfűzésére szolgál a bemeneti hangpufferhez. A hangpuffer ideiglenes tároló, amelybe írhat, majd később véglegesítheti.
Kiszolgáló VAD (Hangtevékenység-észlelés) módban a hangpuffer a beszéd észlelésére szolgál, és a kiszolgáló dönti el, hogy mikor véglegesítse. Ha a VAD kiszolgáló le van tiltva, az ügyfél kiválaszthatja, hogy az egyes eseményeken mennyi hang legyen elhelyezve legfeljebb 15 MiB-ig. Például az ügyfél kisebb adattömbjeinek streamelése lehetővé teszi, hogy a VAD rugalmasabb legyen.
A legtöbb ügyféleseménytől eltérően a kiszolgáló nem küld megerősítő választ az ügyféleseményre input_audio_buffer.append
.
Eseménystruktúra
{
"type": "input_audio_buffer.append",
"audio": "<audio>"
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie input_audio_buffer.append : . |
hanganyag | húr | Base64 kódolású hang bájtok. Ennek az értéknek a munkamenet-konfiguráció mezője által input_audio_format megadott formátumban kell lennie. |
RealtimeClientEventInputAudioBufferClear
Az ügyfélesemény input_audio_buffer.clear
a pufferben lévő hang bájtok törlésére szolgál.
A kiszolgáló eseményekkel input_audio_buffer.cleared
válaszol.
Eseménystruktúra
{
"type": "input_audio_buffer.clear"
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie input_audio_buffer.clear : . |
RealtimeClientEventInputAudioBufferCommit
Az ügyfélesemény input_audio_buffer.commit
a felhasználói bemeneti hangpuffer véglegesítésére szolgál, amely létrehoz egy új felhasználói üzenetelemet a beszélgetésben. A hang át lesz írva, ha input_audio_transcription
a munkamenethez van konfigurálva.
Ha kiszolgáló VAD módban az ügyfélnek nem kell elküldenie ezt az eseményt, a kiszolgáló automatikusan véglegesíti a hangpuffert. A VAD kiszolgáló nélkül az ügyfélnek véglegesítenie kell a hangpuffert egy felhasználói üzenetelem létrehozásához. Ez az ügyfélesemény hibát okoz, ha a bemeneti hangpuffer üres.
A bemeneti hangpuffer véglegesítése nem hoz létre választ a modellből.
A kiszolgáló eseményekkel input_audio_buffer.committed
válaszol.
Eseménystruktúra
{
"type": "input_audio_buffer.commit"
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie input_audio_buffer.commit : . |
RealtimeClientEventResponseCancel
Az ügyfélesemény response.cancel
egy folyamatban lévő válasz megszakítására szolgál.
A kiszolgáló eseménysel vagy hibával response.cancelled
válaszol, ha nincs válasz a megszakításra.
Eseménystruktúra
{
"type": "response.cancel"
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie response.cancel : . |
RealtimeClientEventResponseCreate
Az ügyfélesemény response.create
arra utasítja a kiszolgálót, hogy modellkövetkezéssel hozzon létre választ. Amikor a munkamenet kiszolgáló VAD módban van konfigurálva, a kiszolgáló automatikusan létrehozza a válaszokat.
A válasz tartalmaz legalább egyet item
, és kettő is lehet, ebben az esetben a második egy függvényhívás. Ezek az elemek hozzá vannak fűzve a beszélgetési előzményekhez.
A kiszolgáló egy eseménysel, egy response.created
vagy több elem- és tartalomeseménysel (például conversation.item.created
és response.content_part.added
) válaszol, végül pedig egy response.done
eseménysel, amely jelzi, hogy a válasz befejeződött.
Feljegyzés
Az ügyfélesemény response.create
olyan következtetési konfigurációt tartalmaz, mint a instructions
.temperature
Ezek a mezők csak a válasz munkamenet-konfigurációját bírálhatják felül.
Eseménystruktúra
{
"type": "response.create"
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie response.create : . |
válasz | RealtimeResponseOptions | A válaszbeállítások. |
RealtimeClientEventSessionUpdate
Az ügyfélesemény session.update
a munkamenet alapértelmezett konfigurációjának frissítésére szolgál. Az ügyfél bármikor elküldheti ezt az eseményt a munkamenet konfigurációjának frissítéséhez, és a hang kivételével bármely mező bármikor frissíthető.
Csak a meglévő mezők frissülnek. Mező (például instructions
) törléséhez adjon át egy üres sztringet.
A kiszolgáló egy session.updated
olyan eseménysel válaszol, amely a teljes érvényes konfigurációt tartalmazza.
Eseménystruktúra
{
"type": "session.update"
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie session.update : . |
Munkamenet | RealtimeRequestSession | A munkamenet-konfiguráció. |
Kiszolgálói események
A kiszolgálótól 28 kiszolgálóesemény fogadható:
Esemény | Leírás |
---|---|
RealtimeServerEventConversationCreated | A kiszolgálóesemény conversation.created közvetlenül a munkamenet létrehozása után lesz visszaadva. Munkamenetenként egy beszélgetés jön létre. |
RealtimeServerEventConversationItemCreated | A kiszolgálóesemény conversation.item.created a beszélgetési elem létrehozásakor lesz visszaadva. |
RealtimeServerEventConversationItemDeleted | A kiszolgálóesemény conversation.item.deleted akkor lesz visszaadva, ha az ügyfél törölt egy elemet az eseményekkel folytatott conversation.item.delete beszélgetésben. |
RealtimeServerEventConversationItemInputAudioTranscriptionCompleted | A kiszolgálóesemény conversation.item.input_audio_transcription.completed a hangpufferbe írt beszéd hangátiratának eredménye. |
RealtimeServerEventConversationItemInputAudioTranscriptionFailed | A kiszolgálói conversation.item.input_audio_transcription.failed esemény a bemeneti hangátírás konfigurálásakor lesz visszaadva, és egy felhasználói üzenet átírási kérése meghiúsult. |
RealtimeServerEventConversationItemTruncated | A kiszolgálóesemény conversation.item.truncated akkor lesz visszaadva, ha az ügyfél egy korábbi asszisztens hangüzenet-elemét csonkolja egy conversation.item.truncate eseménysel. |
RealtimeServerEventError | A kiszolgálóesemény error akkor jelenik meg, ha hiba történik, ami lehet ügyfél-vagy kiszolgálóhiba. |
RealtimeServerEventInputAudioBufferCleared | A kiszolgálóesemény input_audio_buffer.cleared akkor lesz visszaadva, ha az ügyfél törli a bemeneti hangpuffert egy input_audio_buffer.clear eseményből. |
RealtimeServerEventInputAudioBufferCommitted | A kiszolgálói input_audio_buffer.committed esemény akkor lesz visszaadva, ha egy bemeneti hangpuffert véglegesített az ügyfél, vagy automatikusan kiszolgáló VAD módban. |
RealtimeServerEventInputAudioBufferSpeechStarted | A kiszolgálóesemény input_audio_buffer.speech_started módban lesz visszaadva server_vad , amikor beszédet észlel a hangpufferben. |
RealtimeServerEventInputAudioBufferSpeechStopped | A kiszolgáló input_audio_buffer.speech_stopped eseménye akkor lesz visszaadva server_vad módban, ha a kiszolgáló észleli a beszéd végét a hangpufferben. |
RealtimeServerEventRateLimitsUpdated | A kiszolgálói rate_limits.updated esemény a válasz elején lesz kibocsátva, hogy jelezze a frissített sebességkorlátokat. |
RealtimeServerEventResponseAudioDelta | A rendszer a modell által létrehozott hang frissítésekor adja vissza a kiszolgálói response.audio.delta eseményt. |
RealtimeServerEventResponseAudioDone | A kiszolgálói response.audio.done esemény a modell által létrehozott hang elkészültekor lesz visszaadva. |
RealtimeServerEventResponseAudioTranscriptDelta | A kiszolgálóesemény response.audio_transcript.delta a hangkimenet modell által generált átiratának frissítésekor lesz visszaadva. |
RealtimeServerEventResponseAudioTranscriptDone | A kiszolgálóesemény response.audio_transcript.done akkor lesz visszaadva, ha a hangkimenet modell által generált átirata streamelést végez. |
RealtimeServerEventResponseContentPartAdded | A kiszolgálói response.content_part.added esemény akkor lesz visszaadva, ha új tartalomrészt ad hozzá egy segédüzenetelemhez. |
RealtimeServerEventResponseContentPartDone | A kiszolgálóesemény response.content_part.done akkor lesz visszaadva, ha egy tartalomrész streamelése befejeztével történik. |
RealtimeServerEventResponseCreated | A kiszolgálóesemény response.created új válasz létrehozásakor lesz visszaadva. Ez a válaszlétrehozás első eseménye, ahol a válasz kezdeti állapota in_progress . |
RealtimeServerEventResponseDone | A kiszolgálóesemény response.done a válasz streamelése után lesz visszaadva. |
RealtimeServerEventResponseFunctionCallArgumentsDelta | A rendszer a modell által létrehozott függvényhívási argumentumok frissítésekor adja vissza a kiszolgálóeseményt response.function_call_arguments.delta . |
RealtimeServerEventResponseFunctionCallArgumentsDone | A kiszolgálóesemény response.function_call_arguments.done akkor lesz visszaadva, ha a modell által generált függvényhívási argumentumok streamelése befejeztével történik. |
RealtimeServerEventResponseOutputItemAdded | A kiszolgálóesemény response.output_item.added akkor lesz visszaadva, ha a válasz létrehozásakor új elem jön létre. |
RealtimeServerEventResponseOutputItemDone | A kiszolgálóesemény response.output_item.done akkor lesz visszaadva, ha egy elem streamelése befejezve van. |
RealtimeServerEventResponseTextDelta | A rendszer a modell által létrehozott szöveg frissítésekor adja vissza a kiszolgálói response.text.delta eseményt. |
RealtimeServerEventResponseTextDone | A rendszer a modell által létrehozott szöveg streamelése után adja vissza a kiszolgálóeseményt response.text.done . |
RealtimeServerEventSessionCreated | A kiszolgálóesemény session.created az első kiszolgálóesemény, amikor új kapcsolatot létesít a Realtime API-val. Ez az esemény létrehoz és visszaad egy új munkamenetet az alapértelmezett munkamenet-konfigurációval. |
RealtimeServerEventSessionUpdated | A kiszolgálóesemény session.updated akkor lesz visszaadva, ha az ügyfél frissít egy munkamenetet. Hiba esetén a kiszolgáló ehelyett egy eseményt error küld. |
RealtimeServerEventConversationCreated
A kiszolgálóesemény conversation.created
közvetlenül a munkamenet létrehozása után lesz visszaadva. Munkamenetenként egy beszélgetés jön létre.
Eseménystruktúra
{
"type": "conversation.created",
"conversation": {
"id": "<id>",
"object": "<object>"
}
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie conversation.created : . |
beszélgetés | object | A beszélgetési erőforrás. |
Beszélgetés tulajdonságai
Mező | Típus | Leírás |
---|---|---|
id | húr | A beszélgetés egyedi azonosítója. |
object | húr | Az objektumtípusnak meg kell lennie realtime.conversation . |
RealtimeServerEventConversationItemCreated
A kiszolgálóesemény conversation.item.created
a beszélgetési elem létrehozásakor lesz visszaadva. Az eseményt több forgatókönyv is előállítja:
- A kiszolgáló létrehoz egy választ, amely sikeres esetben egy vagy két elemet hoz létre, amely típus
message
(szerepkörassistant
) vagy típusfunction_call
. - A bemeneti hangpuffert az ügyfél vagy a kiszolgáló (
server_vad
módban) véglegesíteni kell. A kiszolgáló felveszi a bemeneti hangpuffer tartalmát, és hozzáadja egy új felhasználói üzenetelemhez. - Az ügyfél küldött egy eseményt
conversation.item.create
, amely új elemet ad hozzá a beszélgetéshez.
Eseménystruktúra
{
"type": "conversation.item.created",
"previous_item_id": "<previous_item_id>"
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie conversation.item.created : . |
previous_item_id | húr | A beszélgetési környezet előző elemének azonosítója lehetővé teszi az ügyfél számára a beszélgetés sorrendjének megértését. |
cikk | RealtimeConversationResponseItem | A létrehozott elem. |
RealtimeServerEventConversationItemDeleted
A kiszolgálóesemény conversation.item.deleted
akkor lesz visszaadva, ha az ügyfél törölt egy elemet az eseményekkel folytatott conversation.item.delete
beszélgetésben. Ez az esemény szinkronizálja a kiszolgáló beszélgetési előzményeinek megértését az ügyfél nézetével.
Eseménystruktúra
{
"type": "conversation.item.deleted",
"item_id": "<item_id>"
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie conversation.item.deleted : . |
item_id | húr | A törölt elem azonosítója. |
RealtimeServerEventConversationItemInputAudioTranscriptionCompleted
A kiszolgálóesemény conversation.item.input_audio_transcription.completed
a hangpufferbe írt beszéd hangátiratának eredménye.
Az átírás akkor kezdődik, amikor a bemeneti hangpuffert az ügyfél vagy a kiszolgáló véglegesítette ( server_vad
módban). Az átírás aszinkron módon fut a válaszlétrehozással, így ez az esemény a válaszesemények előtt vagy után is bekövetkezhet.
A valós idejű API-modellek natív módon fogadják el a hangot, így a bemeneti átírás egy külön folyamat, amely egy külön beszédfelismerési modellen fut, jelenleg mindig whisper-1
. Így az átirat némileg eltérhet a modell értelmezésétől, és nyers útmutatóként kell kezelni.
Eseménystruktúra
{
"type": "conversation.item.input_audio_transcription.completed",
"item_id": "<item_id>",
"content_index": 0,
"transcript": "<transcript>"
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie conversation.item.input_audio_transcription.completed : . |
item_id | húr | A hangot tartalmazó felhasználói üzenetelem azonosítója. |
content_index | egész szám | A hangot tartalmazó tartalomrész indexe. |
átirat | húr | Az átírt szöveg. |
RealtimeServerEventConversationItemInputAudioTranscriptionFailed
A kiszolgálói conversation.item.input_audio_transcription.failed
esemény a bemeneti hangátírás konfigurálásakor lesz visszaadva, és egy felhasználói üzenet átírási kérése meghiúsult. Ez az esemény különbözik a többi error
eseménytől, így az ügyfél azonosítani tudja a kapcsolódó elemet.
Eseménystruktúra
{
"type": "conversation.item.input_audio_transcription.failed",
"item_id": "<item_id>",
"content_index": 0,
"error": {
"code": "<code>",
"message": "<message>",
"param": "<param>"
}
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie conversation.item.input_audio_transcription.failed : . |
item_id | húr | A felhasználói üzenetelem azonosítója. |
content_index | egész szám | A hangot tartalmazó tartalomrész indexe. |
hiba | object | Az átírási hiba részletei. Lásd a beágyazott tulajdonságokat a következő táblázatban. |
Hibatulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | A hiba típusa. |
code | húr | Hibakód, ha van ilyen. |
üzenet | húr | Emberi olvasásra alkalmas hibaüzenet. |
Param | húr | A hibához kapcsolódó paraméter, ha van ilyen. |
RealtimeServerEventConversationItemTruncated
A kiszolgálóesemény conversation.item.truncated
akkor lesz visszaadva, ha az ügyfél egy korábbi asszisztens hangüzenet-elemét csonkolja egy conversation.item.truncate
eseménysel. Ez az esemény szinkronizálja a kiszolgáló hangfelismerését az ügyfél lejátszásával.
Ez az esemény csonkolja a hangot, és eltávolítja a kiszolgálóoldali szöveges átiratot, hogy a felhasználó által nem ismert szöveg ne legyen a környezetben.
Eseménystruktúra
{
"type": "conversation.item.truncated",
"item_id": "<item_id>",
"content_index": 0,
"audio_end_ms": 0
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie conversation.item.truncated : . |
item_id | húr | A csonkolt asszisztens üzenetelem azonosítója. |
content_index | egész szám | A csonkolt tartalomrész indexe. |
audio_end_ms | egész szám | A hang csonkításának időtartama ezredmásodpercben. |
RealtimeServerEventError
A kiszolgálóesemény error
akkor jelenik meg, ha hiba történik, ami lehet ügyfél-vagy kiszolgálóhiba. A legtöbb hiba helyreállítható, és a munkamenet nyitva marad.
Eseménystruktúra
{
"type": "error",
"error": {
"code": "<code>",
"message": "<message>",
"param": "<param>",
"event_id": "<event_id>"
}
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie error : . |
hiba | object | A hiba részletei. Lásd a beágyazott tulajdonságokat a következő táblázatban. |
Hibatulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | A hiba típusa. A "invalid_request_error" és a "server_error" például hibatípusok. |
code | húr | Hibakód, ha van ilyen. |
üzenet | húr | Emberi olvasásra alkalmas hibaüzenet. |
Param | húr | A hibához kapcsolódó paraméter, ha van ilyen. |
event_id | húr | A hibát okozó ügyfélesemény azonosítója, ha van. |
RealtimeServerEventInputAudioBufferCleared
A kiszolgálóesemény input_audio_buffer.cleared
akkor lesz visszaadva, ha az ügyfél törli a bemeneti hangpuffert egy input_audio_buffer.clear
eseményből.
Eseménystruktúra
{
"type": "input_audio_buffer.cleared"
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie input_audio_buffer.cleared : . |
RealtimeServerEventInputAudioBufferCommitted
A kiszolgálói input_audio_buffer.committed
esemény akkor lesz visszaadva, ha egy bemeneti hangpuffert véglegesített az ügyfél, vagy automatikusan kiszolgáló VAD módban. A item_id
tulajdonság a létrehozott felhasználói üzenetelem azonosítója. Így a rendszer egy eseményt conversation.item.created
is elküld az ügyfélnek.
Eseménystruktúra
{
"type": "input_audio_buffer.committed",
"previous_item_id": "<previous_item_id>",
"item_id": "<item_id>"
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie input_audio_buffer.committed : . |
previous_item_id | húr | Az előző elem azonosítója, amely után az új elem be lesz szúrva. |
item_id | húr | A létrehozott felhasználói üzenetelem azonosítója. |
RealtimeServerEventInputAudioBufferSpeechStarted
A kiszolgálóesemény input_audio_buffer.speech_started
módban lesz visszaadva server_vad
, amikor beszédet észlel a hangpufferben. Ez az esemény bármikor megtörténhet, amikor hang kerül a pufferbe (kivéve, ha a beszéd már észlelhető).
Feljegyzés
Előfordulhat, hogy az ügyfél ezt az eseményt arra szeretné használni, hogy megszakítsa a hanglejátszást, vagy vizuális visszajelzést küldjön a felhasználónak.
Az ügyfélnek eseményt input_audio_buffer.speech_stopped
kell kapnia, amikor a beszéd leáll. A item_id
tulajdonság a beszéd leállásakor létrehozott felhasználói üzenetelem azonosítója. Ez item_id
is szerepel az input_audio_buffer.speech_stopped
eseményben, kivéve, ha az ügyfél manuálisan véglegesíti a hangpuffert a VAD aktiválás során.
Eseménystruktúra
{
"type": "input_audio_buffer.speech_started",
"audio_start_ms": 0,
"item_id": "<item_id>"
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie input_audio_buffer.speech_started : . |
audio_start_ms | egész szám | Ezredmásodperc a beszéd első észlelésekor a pufferbe írt összes hang elejétől kezdve. Ez a tulajdonság megfelel a modellnek küldött hang elejének, és így tartalmazza a prefix_padding_ms munkamenetben konfiguráltat. |
item_id | húr | A beszéd leállásakor létrehozott felhasználói üzenetelem azonosítója. |
RealtimeServerEventInputAudioBufferSpeechStopped
A kiszolgáló input_audio_buffer.speech_stopped
eseménye akkor lesz visszaadva server_vad
módban, ha a kiszolgáló észleli a beszéd végét a hangpufferben.
A kiszolgáló a hangpufferből létrehozott felhasználói üzenetelemet tartalmazó eseményt conversation.item.created
is küld.
Eseménystruktúra
{
"type": "input_audio_buffer.speech_stopped",
"audio_end_ms": 0,
"item_id": "<item_id>"
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie input_audio_buffer.speech_stopped : . |
audio_end_ms | egész szám | Ezredmásodperc a beszéd leállása óta. Ez a tulajdonság a modellnek küldött hangvégzedéknek felel meg, így a min_silence_duration_ms munkamenetben konfiguráltakat is tartalmazza. |
item_id | húr | A létrehozott felhasználói üzenetelem azonosítója. |
RealtimeServerEventRateLimitsUpdated
A kiszolgálói rate_limits.updated
esemény a válasz elején lesz kibocsátva, hogy jelezze a frissített sebességkorlátokat.
A válasz létrehozásakor egyes jogkivonatok a kimeneti jogkivonatok számára vannak fenntartva. Az itt látható díjkorlátok tükrözik ezt a foglalást, amelyet a válasz befejezése után a rendszer ennek megfelelően módosít.
Eseménystruktúra
{
"type": "rate_limits.updated",
"rate_limits": [
{
"name": "<name>",
"limit": 0,
"remaining": 0,
"reset_seconds": 0
}
]
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie rate_limits.updated : . |
rate_limits | a RealtimeServerEventRateLimitsUpdatedRateLimitsItem tömbje | A sebességkorlát információinak listája. |
RealtimeServerEventResponseAudioDelta
A rendszer a modell által létrehozott hang frissítésekor adja vissza a kiszolgálói response.audio.delta
eseményt.
Eseménystruktúra
{
"type": "response.audio.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie response.audio.delta : . |
response_id | húr | A válasz azonosítója. |
item_id | húr | Az elem azonosítója. |
output_index | egész szám | A kimeneti elem indexe a válaszban. |
content_index | egész szám | Az elem tartalomtömbjében lévő tartalomrész indexe. |
delta | húr | Base64 kódolású hangadatok eltérése. |
RealtimeServerEventResponseAudioDone
A kiszolgálói response.audio.done
esemény a modell által létrehozott hang elkészültekor lesz visszaadva.
Ezt az eseményt akkor is visszaadja a rendszer, ha egy válasz megszakad, hiányos vagy megszakított.
Eseménystruktúra
{
"type": "response.audio.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie response.audio.done : . |
response_id | húr | A válasz azonosítója. |
item_id | húr | Az elem azonosítója. |
output_index | egész szám | A kimeneti elem indexe a válaszban. |
content_index | egész szám | Az elem tartalomtömbjében lévő tartalomrész indexe. |
RealtimeServerEventResponseAudioTranscriptDelta
A kiszolgálóesemény response.audio_transcript.delta
a hangkimenet modell által generált átiratának frissítésekor lesz visszaadva.
Eseménystruktúra
{
"type": "response.audio_transcript.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie response.audio_transcript.delta : . |
response_id | húr | A válasz azonosítója. |
item_id | húr | Az elem azonosítója. |
output_index | egész szám | A kimeneti elem indexe a válaszban. |
content_index | egész szám | Az elem tartalomtömbjében lévő tartalomrész indexe. |
delta | húr | Az átirati változás. |
RealtimeServerEventResponseAudioTranscriptDone
A kiszolgálóesemény response.audio_transcript.done
akkor lesz visszaadva, ha a hangkimenet modell által generált átirata streamelést végez.
Ezt az eseményt akkor is visszaadja a rendszer, ha egy válasz megszakad, hiányos vagy megszakított.
Eseménystruktúra
{
"type": "response.audio_transcript.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"transcript": "<transcript>"
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie response.audio_transcript.done : . |
response_id | húr | A válasz azonosítója. |
item_id | húr | Az elem azonosítója. |
output_index | egész szám | A kimeneti elem indexe a válaszban. |
content_index | egész szám | Az elem tartalomtömbjében lévő tartalomrész indexe. |
átirat | húr | A hang végleges átirata. |
RealtimeServerEventResponseContentPartAdded
A kiszolgálói response.content_part.added
esemény akkor lesz visszaadva, ha egy új tartalomrészt adnak hozzá egy segédüzenetelemhez a válasz generálása során.
Eseménystruktúra
{
"type": "response.content_part.added",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie response.content_part.added : . |
response_id | húr | A válasz azonosítója. |
item_id | húr | Annak az elemnek az azonosítója, amelyhez a tartalomrész hozzá lett adva. |
output_index | egész szám | A kimeneti elem indexe a válaszban. |
content_index | egész szám | Az elem tartalomtömbjében lévő tartalomrész indexe. |
rész | RealtimeContentPart | A hozzáadott tartalomrész. |
Alkatrész tulajdonságai
Mező | Típus | Leírás |
---|---|---|
típus | RealtimeContentPartType |
RealtimeServerEventResponseContentPartDone
A kiszolgálói response.content_part.done
esemény akkor lesz visszaadva, ha egy tartalomrész streamelése befejezve egy segédüzenetelemben.
Ezt az eseményt akkor is visszaadja a rendszer, ha egy válasz megszakad, hiányos vagy megszakított.
Eseménystruktúra
{
"type": "response.content_part.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie response.content_part.done : . |
response_id | húr | A válasz azonosítója. |
item_id | húr | Az elem azonosítója. |
output_index | egész szám | A kimeneti elem indexe a válaszban. |
content_index | egész szám | Az elem tartalomtömbjében lévő tartalomrész indexe. |
rész | RealtimeContentPart | A kész tartalomrész. |
Alkatrész tulajdonságai
Mező | Típus | Leírás |
---|---|---|
típus | RealtimeContentPartType |
RealtimeServerEventResponseCreated
A kiszolgálóesemény response.created
új válasz létrehozásakor lesz visszaadva. Ez a válaszlétrehozás első eseménye, ahol a válasz kezdeti állapota in_progress
.
Eseménystruktúra
{
"type": "response.created"
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie response.created : . |
válasz | RealtimeResponse | A válaszobjektum. |
RealtimeServerEventResponseDone
A kiszolgálóesemény response.done
a válasz streamelése után lesz visszaadva. Ez az esemény mindig ki lesz bocsátva, a végső állapottól függetlenül. Az esemény válaszobjektuma tartalmazza a response.done
válasz összes kimeneti elemét, de kihagyja a nyers hangadatokat.
Eseménystruktúra
{
"type": "response.done"
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie response.done : . |
válasz | RealtimeResponse | A válaszobjektum. |
RealtimeServerEventResponseFunctionCallArgumentsDelta
A rendszer a modell által létrehozott függvényhívási argumentumok frissítésekor adja vissza a kiszolgálóeseményt response.function_call_arguments.delta
.
Eseménystruktúra
{
"type": "response.function_call_arguments.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"call_id": "<call_id>",
"delta": "<delta>"
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie response.function_call_arguments.delta : . |
response_id | húr | A válasz azonosítója. |
item_id | húr | A függvényhívási elem azonosítója. |
output_index | egész szám | A kimeneti elem indexe a válaszban. |
call_id | húr | A függvényhívás azonosítója. |
delta | húr | Az argumentumok JSON-sztringként különböznek. |
RealtimeServerEventResponseFunctionCallArgumentsDone
A kiszolgálóesemény response.function_call_arguments.done
akkor lesz visszaadva, ha a modell által generált függvényhívási argumentumok streamelése befejeztével történik.
Ezt az eseményt akkor is visszaadja a rendszer, ha egy válasz megszakad, hiányos vagy megszakított.
Eseménystruktúra
{
"type": "response.function_call_arguments.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"call_id": "<call_id>",
"arguments": "<arguments>"
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie response.function_call_arguments.done : . |
response_id | húr | A válasz azonosítója. |
item_id | húr | A függvényhívási elem azonosítója. |
output_index | egész szám | A kimeneti elem indexe a válaszban. |
call_id | húr | A függvényhívás azonosítója. |
Érvek | húr | Az utolsó argumentumok JSON-sztringként. |
RealtimeServerEventResponseOutputItemAdded
A kiszolgálóesemény response.output_item.added
akkor lesz visszaadva, ha a válasz létrehozásakor új elem jön létre.
Eseménystruktúra
{
"type": "response.output_item.added",
"response_id": "<response_id>",
"output_index": 0
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie response.output_item.added : . |
response_id | húr | Annak a válasznak az azonosítója, amelyhez az elem tartozik. |
output_index | egész szám | A kimeneti elem indexe a válaszban. |
cikk | RealtimeConversationResponseItem | A hozzáadott elem. |
RealtimeServerEventResponseOutputItemDone
A kiszolgálóesemény response.output_item.done
akkor lesz visszaadva, ha egy elem streamelése befejezve van.
Ezt az eseményt akkor is visszaadja a rendszer, ha egy válasz megszakad, hiányos vagy megszakított.
Eseménystruktúra
{
"type": "response.output_item.done",
"response_id": "<response_id>",
"output_index": 0
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie response.output_item.done : . |
response_id | húr | Annak a válasznak az azonosítója, amelyhez az elem tartozik. |
output_index | egész szám | A kimeneti elem indexe a válaszban. |
cikk | RealtimeConversationResponseItem | A streamelést befejező elem. |
RealtimeServerEventResponseTextDelta
A rendszer a modell által létrehozott szöveg frissítésekor adja vissza a kiszolgálói response.text.delta
eseményt. A szöveg egy segédüzenetelem tartalomrészének felel meg text
.
Eseménystruktúra
{
"type": "response.text.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie response.text.delta : . |
response_id | húr | A válasz azonosítója. |
item_id | húr | Az elem azonosítója. |
output_index | egész szám | A kimeneti elem indexe a válaszban. |
content_index | egész szám | Az elem tartalomtömbjében lévő tartalomrész indexe. |
delta | húr | A szöveg eltérése. |
RealtimeServerEventResponseTextDone
A rendszer a modell által létrehozott szöveg streamelése után adja vissza a kiszolgálóeseményt response.text.done
. A szöveg egy segédüzenetelem tartalomrészének felel meg text
.
Ezt az eseményt akkor is visszaadja a rendszer, ha egy válasz megszakad, hiányos vagy megszakított.
Eseménystruktúra
{
"type": "response.text.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"text": "<text>"
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie response.text.done : . |
response_id | húr | A válasz azonosítója. |
item_id | húr | Az elem azonosítója. |
output_index | egész szám | A kimeneti elem indexe a válaszban. |
content_index | egész szám | Az elem tartalomtömbjében lévő tartalomrész indexe. |
text | húr | A végleges szöveges tartalom. |
RealtimeServerEventSessionCreated
A kiszolgálóesemény session.created
az első kiszolgálóesemény, amikor új kapcsolatot létesít a Realtime API-val. Ez az esemény létrehoz és visszaad egy új munkamenetet az alapértelmezett munkamenet-konfigurációval.
Eseménystruktúra
{
"type": "session.created"
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie session.created : . |
Munkamenet | RealtimeResponseSession | A munkamenet-objektum. |
RealtimeServerEventSessionUpdated
A kiszolgálóesemény session.updated
akkor lesz visszaadva, ha az ügyfél frissít egy munkamenetet. Hiba esetén a kiszolgáló ehelyett egy eseményt error
küld.
Eseménystruktúra
{
"type": "session.updated"
}
Tulajdonságok
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eseménytípusnak a következőnek kell lennie session.updated : . |
Munkamenet | RealtimeResponseSession | A munkamenet-objektum. |
Összetevők
RealtimeAudioFormat
Engedélyezett értékek:
pcm16
g711_ulaw
g711_alaw
RealtimeAudioInputTranscriptionModel
Engedélyezett értékek:
whisper-1
RealtimeAudioInputTranscriptionSettings
Mező | Típus | Leírás |
---|---|---|
modell | RealtimeAudioInputTranscriptionModel | Jelenleg az alapértelmezett whisper-1 modell támogatja a hangbemeneti átírást. |
RealtimeClientEvent
Mező | Típus | Leírás |
---|---|---|
típus | RealtimeClientEventType | Az ügyfélesemény típusa. |
event_id | húr | Az esemény egyedi azonosítója. Az ügyfél megadhatja az azonosítót az esemény azonosításához. |
RealtimeClientEventType
Engedélyezett értékek:
session.update
input_audio_buffer.append
input_audio_buffer.commit
input_audio_buffer.clear
conversation.item.create
conversation.item.delete
conversation.item.truncate
response.create
response.cancel
RealtimeContentPart
Mező | Típus | Leírás |
---|---|---|
típus | RealtimeContentPartType | A tartalom típusa. Az objektum tulajdonsága function .Engedélyezett értékek: input_text , input_audio , item_reference . text |
text | húr | A szöveges tartalom. Ez a tulajdonság a tartalomtípusokra és text a input_text tartalomtípusokra vonatkozik. |
id | húr | Az ügyfél és a kiszolgáló által létrehozott elemekben hivatkozni kívánt előző beszélgetési elem azonosítója. Ez a tulajdonság az események tartalomtípusára response.create vonatkozikitem_reference . |
hanganyag | húr | A base64 kódolású hang bájt. Ez a tulajdonság a input_audio tartalomtípusra vonatkozik. |
átirat | húr | A hang átirata. Ez a tulajdonság a input_audio tartalomtípusra vonatkozik. |
RealtimeContentPartType
Engedélyezett értékek:
input_text
input_audio
text
audio
RealtimeConversationItemBase
A beszélgetéshez hozzáadni kívánt elem.
Ez a táblázat az összes RealtimeConversationItem
tulajdonságot ismerteti. Az eseményenként alkalmazható tulajdonságok a RealtimeItemType típustól függenek.
Mező | Típus | Leírás |
---|---|---|
id | húr | Az elem egyedi azonosítója. Az ügyfél megadhatja az azonosítót a kiszolgálóoldali környezet kezeléséhez. Ha az ügyfél nem ad meg azonosítót, a kiszolgáló létrehoz egyet. |
típus | RealtimeItemType | Az elem típusa. Engedélyezett értékek: message , function_call , function_call_output |
object | húr | A visszaadott API-objektum azonosítója. Az érték mindig az lesz realtime.item . |
status | RealtimeItemStatus | Az elem állapota. Ez a mező nincs hatással a beszélgetésre, de elfogadja az esemény konzisztenciáját conversation.item.created .Engedélyezett értékek: completed , incomplete |
szerepkör | RealtimeMessageRole | Az üzenet feladójának szerepe. Ez a tulajdonság csak elemekre message vonatkozik. Engedélyezett értékek: system , user , assistant |
content | a RealtimeContentPart tömbje | Az üzenet tartalma. Ez a tulajdonság csak elemekre message vonatkozik.– A szerepkörök system üzenetelemei csak input_text a tartalmat támogatják.- Üzenetelemek a szerepkör user támogatásáról input_text és input_audio tartalmáról.– A szerepkör-támogatási assistant text tartalom üzenetelemei. |
call_id | húr | A függvényhívás azonosítója (for function_call és function_call_output items). Ha egy function_call_output elemet ad át, a kiszolgáló ellenőrzi, hogy egy function_call azonos azonosítójú elem szerepel-e a beszélgetési előzményekben. |
név | húr | A meghívandó függvény neve (elemek esetén function_call ). |
Érvek | húr | A függvényhívás argumentumai (elemek esetén function_call ). |
output | húr | A függvényhívás kimenete (elemek esetén function_call_output ). |
RealtimeConversationRequestItem
Az objektummal RealtimeConversationRequestItem
új elemet hozhat létre a beszélgetésben a conversation.item.create eseményen keresztül.
Mező | Típus | Leírás |
---|---|---|
típus | RealtimeItemType | Az elem típusa. |
id | húr | Az elem egyedi azonosítója. Az ügyfél megadhatja az azonosítót a kiszolgálóoldali környezet kezeléséhez. Ha az ügyfél nem ad meg azonosítót, a kiszolgáló létrehoz egyet. |
RealtimeConversationResponseItem
Az RealtimeConversationResponseItem
objektum egy elemet jelöl a beszélgetésben. Néhány kiszolgálóeseményben használják, például:
- conversation.item.created
- response.output_item.added
- response.output_item.done
-
response.created
(aresponse
tulajdonságtípusonRealtimeResponse
keresztül ) -
response.done
(aresponse
tulajdonságtípusonRealtimeResponse
keresztül )
Mező | Típus | Leírás |
---|---|---|
object | húr | A visszaadott API-objektum azonosítója. Engedélyezett értékek: realtime.item |
típus | RealtimeItemType | Az elem típusa. Engedélyezett értékek: message , function_call , function_call_output |
id | húr | Az elem egyedi azonosítója. Az ügyfél megadhatja az azonosítót a kiszolgálóoldali környezet kezeléséhez. Ha az ügyfél nem ad meg azonosítót, a kiszolgáló létrehoz egyet. Ez a tulajdonság null értékű. |
RealtimeFunctionTool
A valós idejű végpont által használt függvényeszköz definíciója.
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az eszköz típusa. Engedélyezett értékek: function |
név | húr | A függvény neve. |
leírás | húr | A függvény leírása, beleértve a használati irányelveket is. Például: "Használja ezt a függvényt az aktuális idő lekéréséhez". |
parameters | object | A függvény paraméterei JSON-objektum formájában. |
RealtimeItemStatus
Engedélyezett értékek:
in_progress
completed
incomplete
RealtimeItemType
Engedélyezett értékek:
message
function_call
function_call_output
RealtimeMessageRole
Engedélyezett értékek:
system
user
assistant
RealtimeRequestAssistantMessageItem
Mező | Típus | Leírás |
---|---|---|
szerepkör | húr | Az üzenet szerepe. Engedélyezett értékek: assistant |
content | a RealtimeRequestTextContentPart tömbje | Az üzenet tartalma. |
RealtimeRequestAudioContentPart
Mező | Típus | Leírás |
---|---|---|
típus | húr | A tartalomrész típusa. Engedélyezett értékek: input_audio |
átirat | húr | A hang átirata. |
RealtimeRequestFunctionCallItem
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az elem típusa. Engedélyezett értékek: function_call |
név | húr | A függvényhívási elem neve. |
call_id | húr | A függvényhívási elem azonosítója. |
Érvek | húr | A függvényhívási elem argumentumai. |
status | RealtimeItemStatus | Az elem állapota. |
RealtimeRequestFunctionCallOutputItem
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az elem típusa. Engedélyezett értékek: function_call_output |
call_id | húr | A függvényhívási elem azonosítója. |
output | húr | A függvényhívási elem kimenete. |
RealtimeRequestMessageItem
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az elem típusa. Engedélyezett értékek: message |
szerepkör | RealtimeMessageRole | Az üzenet szerepe. |
status | RealtimeItemStatus | Az elem állapota. |
RealtimeRequestMessageReferenceItem
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az elem típusa. Engedélyezett értékek: message |
id | húr | Az üzenetelem azonosítója. |
RealtimeRequestSession
Az objektumot akkor használja RealtimeRequestSession
, ha frissíteni szeretné a munkamenet-konfigurációt a session.update eseményen keresztül.
Mező | Típus | Leírás |
---|---|---|
Módozatok | array | A munkamenet által támogatott modalitások. Engedélyezett értékek: text , audio Ez például az alapértelmezett beállítás, "modalities": ["text", "audio"] amely lehetővé teszi a szöveg- és hangmódokat is. Ha csak szöveget szeretne engedélyezni, állítsa be a következőt "modalities": ["text"] : Nem engedélyezheti csak a hangot. |
útmutató | húr | A modell szöveg- és hangválaszainak útmutatása (a rendszerüzenet). Íme néhány példautasítás a szöveg- és hangválaszok tartalmához és formátumához: "instructions": "be succinct" "instructions": "act friendly" "instructions": "here are examples of good responses" Íme néhány példautasítás a hang viselkedésének irányításához: "instructions": "talk quickly" "instructions": "inject emotion into your voice" "instructions": "laugh frequently" Bár előfordulhat, hogy a modell nem mindig követi ezeket az utasításokat, útmutatást nyújtanak a kívánt viselkedéshez. |
voice | RealtimeVoice | A munkamenet modellválaszához használt hang. Ha a hang a munkamenetben a modell hangválaszához van használva, az nem módosítható. |
input_audio_format | RealtimeAudioFormat | A bemeneti hang formátuma. |
output_audio_format | RealtimeAudioFormat | A kimeneti hang formátuma. |
input_audio_transcription | RealtimeAudioInputTranscriptionSettings | A hangbemenet átírásának beállításai. Ez a tulajdonság null értékű. |
turn_detection | RealtimeTurnDetection | A munkamenet detektálási beállításai. Ez a tulajdonság null értékű. |
eszközök | a RealtimeTool tömbje | A modell számára elérhető eszközök a munkamenethez. |
tool_choice | RealtimeToolChoice | A munkamenet eszközválasztása. Engedélyezett értékek: auto , none és required . Ellenkező esetben megadhatja a használni kívánt függvény nevét. |
hőmérséklet | szám | A modell mintavételezési hőmérséklete. Az engedélyezett hőmérsékleti értékek legfeljebb [0,6, 1,2]. Alapértelmezett érték: 0,8. |
max_response_output_tokens | egész szám vagy "inf" | A kimeneti jogkivonatok maximális száma asszisztensi válaszonként, beleértve az eszközhívásokat is. Adjon meg egy 1 és 4096 közötti egész számot a kimeneti jogkivonatok korlátozásához. Ellenkező esetben állítsa az értéket "inf" értékre a jogkivonatok maximális számának engedélyezéséhez. Ha például a kimeneti jogkivonatokat 1000-re szeretné korlátozni, állítsa be a következőt "max_response_output_tokens": 1000 : A jogkivonatok maximális számának engedélyezéséhez állítsa be a következőt "max_response_output_tokens": "inf" :Alapértelmezett érték: "inf" . |
RealtimeRequestSystemMessageItem
Mező | Típus | Leírás |
---|---|---|
szerepkör | húr | Az üzenet szerepe. Engedélyezett értékek: system |
content | a RealtimeRequestTextContentPart tömbje | Az üzenet tartalma. |
RealtimeRequestTextContentPart
Mező | Típus | Leírás |
---|---|---|
típus | húr | A tartalomrész típusa. Engedélyezett értékek: input_text |
text | húr | A szöveges tartalom. |
RealtimeRequestUserMessageItem
Mező | Típus | Leírás |
---|---|---|
szerepkör | húr | Az üzenet szerepe. Engedélyezett értékek: user |
content | a RealtimeRequestTextContentPart vagy a RealtimeRequestAudioContentPart tömbje | Az üzenet tartalma. |
RealtimeResponse
Mező | Típus | Leírás |
---|---|---|
object | húr | A válaszobjektum. Engedélyezett értékek: realtime.response |
id | húr | A válasz egyedi azonosítója. |
status | RealtimeResponseStatus | A válasz állapota. Az alapértelmezett állapotérték a következő in_progress : . |
status_details | RealtimeResponseStatusDetails | A válasz állapotának részletei. Ez a tulajdonság null értékű. |
output | a RealtimeConversationResponseItem tömbje | A válasz kimeneti elemei. |
használat | object | A válasz használati statisztikái. Minden Realtime API-munkamenet fenntart egy beszélgetési környezetet, és hozzáfűzi az új elemeket a beszélgetéshez. Az előző fordulatok (szöveg- és hang jogkivonatok) kimenete a későbbi fordulatok bemenete. Lásd a beágyazott tulajdonságok következő lépését. |
+ total_tokens | egész szám | A válaszban szereplő jogkivonatok teljes száma, beleértve a bemeneti és kimeneti szövegeket és hang jogkivonatokat. Az objektum tulajdonsága usage . |
+ input_tokens | egész szám | A válaszban használt bemeneti jogkivonatok száma, beleértve a szöveg- és hang jogkivonatokat is. Az objektum tulajdonsága usage . |
+ output_tokens | egész szám | A válaszban küldött kimeneti jogkivonatok száma, beleértve a szöveges és hang jogkivonatokat is. Az objektum tulajdonsága usage . |
+ input_token_details | object | A válaszban használt bemeneti jogkivonatok részletei. Az objektum tulajdonsága usage .Br> Lásd a beágyazott tulajdonságok következő lépését. |
+ cached_tokens | egész szám | A válaszban használt gyorsítótárazott jogkivonatok száma. Az objektum tulajdonsága input_token_details . |
+ text_tokens | egész szám | A válaszban használt szöveges jogkivonatok száma. Az objektum tulajdonsága input_token_details . |
+ audio_tokens | egész szám | A válaszban használt hang jogkivonatok száma. Az objektum tulajdonsága input_token_details . |
+ output_token_details | object | A válaszban használt kimeneti jogkivonatok részletei. Az objektum tulajdonsága usage .Lásd a beágyazott tulajdonságok következő lépését. |
+ text_tokens | egész szám | A válaszban használt szöveges jogkivonatok száma. Az objektum tulajdonsága output_token_details . |
+ audio_tokens | egész szám | A válaszban használt hang jogkivonatok száma. Az objektum tulajdonsága output_token_details . |
RealtimeResponseAudioContentPart
Mező | Típus | Leírás |
---|---|---|
típus | húr | A tartalomrész típusa. Engedélyezett értékek: audio |
átirat | húr | A hang átirata. Ez a tulajdonság null értékű. |
RealtimeResponseBase
A válaszerőforrás.
RealtimeResponseFunctionCallItem
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az elem típusa. Engedélyezett értékek: function_call |
név | húr | A függvényhívási elem neve. |
call_id | húr | A függvényhívási elem azonosítója. |
Érvek | húr | A függvényhívási elem argumentumai. |
status | RealtimeItemStatus | Az elem állapota. |
RealtimeResponseFunctionCallOutputItem
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az elem típusa. Engedélyezett értékek: function_call_output |
call_id | húr | A függvényhívási elem azonosítója. |
output | húr | A függvényhívási elem kimenete. |
RealtimeResponseMessageItem
Mező | Típus | Leírás |
---|---|---|
típus | húr | Az elem típusa. Engedélyezett értékek: message |
szerepkör | RealtimeMessageRole | Az üzenet szerepe. |
content | array | Az üzenet tartalma. Tömbelemek: RealtimeResponseTextContentPart |
status | RealtimeItemStatus | Az elem állapota. |
RealtimeResponseOptions
Mező | Típus | Leírás |
---|---|---|
Módozatok | array | A munkamenet által támogatott modalitások. Engedélyezett értékek: text , audio Ez például az alapértelmezett beállítás, "modalities": ["text", "audio"] amely lehetővé teszi a szöveg- és hangmódokat is. Ha csak szöveget szeretne engedélyezni, állítsa be a következőt "modalities": ["text"] : Nem engedélyezheti csak a hangot. |
útmutató | húr | A modell szöveg- és hangválaszainak útmutatása (a rendszerüzenet). Íme néhány példautasítás a szöveg- és hangválaszok tartalmához és formátumához: "instructions": "be succinct" "instructions": "act friendly" "instructions": "here are examples of good responses" Íme néhány példautasítás a hang viselkedésének irányításához: "instructions": "talk quickly" "instructions": "inject emotion into your voice" "instructions": "laugh frequently" Bár előfordulhat, hogy a modell nem mindig követi ezeket az utasításokat, útmutatást nyújtanak a kívánt viselkedéshez. |
voice | RealtimeVoice | A munkamenet modellválaszához használt hang. Ha a hang a munkamenetben a modell hangválaszához van használva, az nem módosítható. |
output_audio_format | RealtimeAudioFormat | A kimeneti hang formátuma. |
eszközök | a RealtimeTool tömbje | A modell számára elérhető eszközök a munkamenethez. |
tool_choice | RealtimeToolChoice | A munkamenet eszközválasztása. |
hőmérséklet | szám | A modell mintavételezési hőmérséklete. Az engedélyezett hőmérsékleti értékek legfeljebb [0,6, 1,2]. Alapértelmezett érték: 0,8. |
max__output_tokens | egész szám vagy "inf" | A kimeneti jogkivonatok maximális száma asszisztensi válaszonként, beleértve az eszközhívásokat is. Adjon meg egy 1 és 4096 közötti egész számot a kimeneti jogkivonatok korlátozásához. Ellenkező esetben állítsa az értéket "inf" értékre a jogkivonatok maximális számának engedélyezéséhez. Ha például a kimeneti jogkivonatokat 1000-re szeretné korlátozni, állítsa be a következőt "max_response_output_tokens": 1000 : A jogkivonatok maximális számának engedélyezéséhez állítsa be a következőt "max_response_output_tokens": "inf" :Alapértelmezett érték: "inf" . |
beszélgetés | húr | Azt szabályozza, hogy a rendszer melyik beszélgetéshez ad hozzá választ. A támogatott értékek a következők: auto és none .Az auto érték (vagy a tulajdonság beállítása nem) biztosítja, hogy a válasz tartalma hozzá legyen adva a munkamenet alapértelmezett beszélgetéséhez.Állítsa be ezt a tulajdonságot none sávon kívüli válasz létrehozására, ahol az elemek nem lesznek hozzáadva az alapértelmezett beszélgetéshez. További információkért tekintse meg az útmutatót.Alapértelmezett érték: "auto" |
metaadatok | térkép | Legfeljebb 16 kulcs-érték párból áll, amelyek egy objektumhoz csatolhatók. 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. Például: metadata: { topic: "classification" } |
bemenet | array | A modell kérésében szerepeltetni kívánt bemeneti elemek. Új környezetet hoz létre ehhez a válaszhoz, az alapértelmezett beszélgetés nélkül. Az alapértelmezett beszélgetés elemeire mutató hivatkozásokat is tartalmazhat. Tömbelemek: RealtimeConversationItemBase |
RealtimeResponseSession
Az RealtimeResponseSession
objektum egy munkamenetet jelöl a Realtime API-ban. Néhány kiszolgálóeseményben használják, például:
Mező | Típus | Leírás |
---|---|---|
object | húr | A munkamenet-objektum. Engedélyezett értékek: realtime.session |
id | húr | A munkamenet egyedi azonosítója. |
modell | húr | A munkamenethez használt modell. |
Módozatok | array | A munkamenet által támogatott modalitások. Engedélyezett értékek: text , audio Ez például az alapértelmezett beállítás, "modalities": ["text", "audio"] amely lehetővé teszi a szöveg- és hangmódokat is. Ha csak szöveget szeretne engedélyezni, állítsa be a következőt "modalities": ["text"] : Nem engedélyezheti csak a hangot. |
útmutató | húr | A modell szöveg- és hangválaszainak útmutatása (a rendszerüzenet). Íme néhány példautasítás a szöveg- és hangválaszok tartalmához és formátumához: "instructions": "be succinct" "instructions": "act friendly" "instructions": "here are examples of good responses" Íme néhány példautasítás a hang viselkedésének irányításához: "instructions": "talk quickly" "instructions": "inject emotion into your voice" "instructions": "laugh frequently" Bár előfordulhat, hogy a modell nem mindig követi ezeket az utasításokat, útmutatást nyújtanak a kívánt viselkedéshez. |
voice | RealtimeVoice | A munkamenet modellválaszához használt hang. Ha a hang a munkamenetben a modell hangválaszához van használva, az nem módosítható. |
input_audio_format | RealtimeAudioFormat | A bemeneti hang formátuma. |
output_audio_format | RealtimeAudioFormat | A kimeneti hang formátuma. |
input_audio_transcription | RealtimeAudioInputTranscriptionSettings | A hangbemenet átírásának beállításai. Ez a tulajdonság null értékű. |
turn_detection | RealtimeTurnDetection | A munkamenet detektálási beállításai. Ez a tulajdonság null értékű. |
eszközök | a RealtimeTool tömbje | A modell számára elérhető eszközök a munkamenethez. |
tool_choice | RealtimeToolChoice | A munkamenet eszközválasztása. |
hőmérséklet | szám | A modell mintavételezési hőmérséklete. Az engedélyezett hőmérsékleti értékek legfeljebb [0,6, 1,2]. Alapértelmezett érték: 0,8. |
max_response_output_tokens | egész szám vagy "inf" | A kimeneti jogkivonatok maximális száma asszisztensi válaszonként, beleértve az eszközhívásokat is. Adjon meg egy 1 és 4096 közötti egész számot a kimeneti jogkivonatok korlátozásához. Ellenkező esetben állítsa az értéket "inf" értékre a jogkivonatok maximális számának engedélyezéséhez. Ha például a kimeneti jogkivonatokat 1000-re szeretné korlátozni, állítsa be a következőt "max_response_output_tokens": 1000 : A jogkivonatok maximális számának engedélyezéséhez állítsa be a következőt "max_response_output_tokens": "inf" : |
RealtimeResponseStatus
Engedélyezett értékek:
in_progress
completed
cancelled
incomplete
failed
RealtimeResponseStatusDetails
Mező | Típus | Leírás |
---|---|---|
típus | RealtimeResponseStatus | A válasz állapota. |
RealtimeResponseTextContentPart
Mező | Típus | Leírás |
---|---|---|
típus | húr | A tartalomrész típusa. Engedélyezett értékek: text |
text | húr | A szöveges tartalom. |
RealtimeServerEvent
Mező | Típus | Leírás |
---|---|---|
típus | RealtimeServerEventType | A kiszolgálóesemény típusa. |
event_id | húr | A kiszolgálóesemény egyedi azonosítója. |
RealtimeServerEventRateLimitsUpdatedRateLimitsItem
Mező | Típus | Leírás |
---|---|---|
név | húr | A sebességkorlát tulajdonság neve, amelyről az elem információkat tartalmaz. |
korlát | egész szám | A sebességkorlát tulajdonság maximális konfigurált korlátja. |
hátralévő | egész szám | A fennmaradó kvóta a sebességkorlát tulajdonság konfigurált korlátja alapján érhető el. |
reset_seconds | szám | A fennmaradó idő másodpercben, amíg a sebességkorlát tulajdonság alaphelyzetbe nem áll. |
RealtimeServerEventType
Engedélyezett értékek:
session.created
session.updated
conversation.created
conversation.item.created
conversation.item.deleted
conversation.item.truncated
response.created
response.done
rate_limits.updated
response.output_item.added
response.output_item.done
response.content_part.added
response.content_part.done
response.audio.delta
response.audio.done
response.audio_transcript.delta
response.audio_transcript.done
response.text.delta
response.text.done
response.function_call_arguments.delta
response.function_call_arguments.done
input_audio_buffer.speech_started
input_audio_buffer.speech_stopped
conversation.item.input_audio_transcription.completed
conversation.item.input_audio_transcription.failed
input_audio_buffer.committed
input_audio_buffer.cleared
error
RealtimeServerVadTurnDetection
Mező | Típus | Leírás |
---|---|---|
típus | húr | A fordulásészlelés típusa. Engedélyezett értékek: server_vad |
threshold | szám | A kiszolgáló VAD turn detection aktiválási küszöbértéke. Zajos környezetekben előfordulhat, hogy növelnie kell a küszöbértéket a hamis pozitív értékek elkerülése érdekében. Csendes környezetben előfordulhat, hogy a hamis negatív értékek elkerülése érdekében csökkentenie kell a küszöbértéket. Alapértelmezett érték: 0.5 . A küszöbértéket az és 1.0 a közötti 0.0 értékre állíthatja be. |
prefix_padding_ms | húr | A beszéd hangjának időtartama (ezredmásodpercben), amelyet az észlelt beszéd kezdete előtt fel kell venni. Alapértelmezett érték: 300 . |
silence_duration_ms | húr | A csend időtartama (ezredmásodpercben) a beszéd végének észleléséhez. A lehető leghamarabb szeretné észlelni a beszéd végét, de nem túl hamar, hogy elkerülje a beszéd utolsó részének levágását. A modell gyorsabban válaszol, ha ezt az értéket alacsonyabb számra állítja be, de a beszéd utolsó részét megszakíthatja. Ha ezt az értéket magasabb számra állítja be, a modell tovább fog várni a beszéd végének észlelésére, de a válaszadás hosszabb időt vehet igénybe. |
RealtimeSessionBase
Valós idejű munkamenet-objektumkonfiguráció.
RealtimeTool
Egy valós idejű eszközdefiníció alapábrázolása.
Mező | Típus | Leírás |
---|---|---|
típus | RealtimeToolType | Az eszköz típusa. |
RealtimeToolChoice
Egy valós idejű tool_choice
paraméter rendelkezésre álló reprezentációinak együttese, amely magában foglalja a sztringkonstans beállításait, például az "automatikus" és a definiált eszközökre mutató strukturált hivatkozásokat.
RealtimeToolChoiceFunctionObject
Egy elnevezett függvényeszközt kiválasztó valós idejű tool_choice
ábrázolás.
Mező | Típus | Leírás |
---|---|---|
típus | húr |
tool_choice A .Engedélyezett értékek: function |
függvény | object | A kijelölendő függvényeszköz. Lásd a beágyazott tulajdonságok következő lépését. |
+ név | húr | A függvényeszköz neve. Az objektum tulajdonsága function . |
RealtimeToolChoiceLiteral
A valós idejű végponthoz elérhető módszintű, sztringkonstans-beállítások tool_choice
.
Engedélyezett értékek:
auto
none
required
RealtimeToolChoiceObject
Egy névvel ellátott eszköz kiválasztására szolgáló valós idejű tool_choice
alapábra.
Mező | Típus | Leírás |
---|---|---|
típus | RealtimeToolType |
tool_choice A . |
RealtimeToolType
A támogatott eszköztípus-diszkriminatívok a valós idejű eszközök esetében. Jelenleg csak a "függvény" eszközök támogatottak.
Engedélyezett értékek:
function
RealtimeTurnDetection
Mező | Típus | Leírás |
---|---|---|
típus | RealtimeTurnDetectionType | A fordulásészlelés típusa. Engedélyezett értékek: server_vad |
threshold | szám | A kiszolgáló VAD turn detection aktiválási küszöbértéke. Zajos környezetekben előfordulhat, hogy növelnie kell a küszöbértéket a hamis pozitív értékek elkerülése érdekében. Csendes környezetben előfordulhat, hogy a hamis negatív értékek elkerülése érdekében csökkentenie kell a küszöbértéket. Alapértelmezett érték: 0.5 . A küszöbértéket az és 1.0 a közötti 0.0 értékre állíthatja be. |
prefix_padding_ms | húr | A beszéd hangjának időtartama (ezredmásodpercben), amelyet az észlelt beszéd kezdete előtt fel kell venni. Alapértelmezés szerint 300 ezredmásodperc. |
silence_duration_ms | húr | A csend időtartama (ezredmásodpercben) a beszéd végének észleléséhez. A lehető leghamarabb szeretné észlelni a beszéd végét, de nem túl hamar, hogy elkerülje a beszéd utolsó részének levágását. A modell gyorsabban válaszol, ha ezt az értéket alacsonyabb számra állítja be, de a beszéd utolsó részét megszakíthatja. Ha ezt az értéket magasabb számra állítja be, a modell tovább fog várni a beszéd végének észlelésére, de a válaszadás hosszabb időt vehet igénybe. Alapértelmezés szerint 500 ezredmásodperc. |
create_response | Logikai | Azt jelzi, hogy a kiszolgáló automatikusan létrehoz-e választ, ha a VAD engedélyezve van, és a beszéd leáll. Alapértelmezett érték: true . |
RealtimeTurnDetectionType
Engedélyezett értékek:
server_vad
RealtimeVoice
Engedélyezett értékek:
alloy
ash
ballad
coral
echo
sage
shimmer
verse
Kapcsolódó tartalom
- Ismerkedés a Realtime API rövid útmutatójával.
- További információ a Realtime API használatáról.