API-ja e transmetimit të drejtpërdrejtë është një API me gjendje që përdor WebSockets. Në këtë seksion, do të gjesh detaje shtesë në lidhje me API-në e WebSockets.
Seancat
Një lidhje WebSocket krijon një seancë midis klientit dhe serverit të Gemini. Pasi një klient të nisë një lidhje të re, seanca mund të shkëmbejë mesazhe me serverin për të:
- Dërgo tekst, audio ose video te serveri i Gemini.
- Të marrë kërkesa për audio, tekst ose telefonata funksioni nga serveri i Gemini.
Lidhja e WebSocket
Për të nisur një seancë, lidhu me këtë pikë fundore të uebsocket:
wss://generativelanguage.googleapis.com/ws/google.ai.generativelanguage.v1beta.GenerativeService.BidiGenerateContent
Konfigurimi i seancës
Mesazhi fillestar i dërguar pas krijimit të lidhjes së WebSocket përcakton konfigurimin e seancës, i cili përfshin modelin, parametrat e gjenerimit, udhëzimet e sistemit dhe veglat.
Nuk mund ta përditësosh konfigurimin ndërkohë që lidhja është e hapur. Megjithatë, mund t'i ndryshosh parametrat e konfigurimit, përveç modelit, kur vendos në pauzë dhe vazhdon nëpërmjet mekanizmit të vazhdimit të seancës.
Shiko shembullin e mëposhtëm të konfigurimit. Ki parasysh se shkronjat e mëdha dhe të vogla në SDK mund të ndryshojnë. Mund të shikosh opsionet e konfigurimit të Python SDK këtu.
{
"model": string,
"generationConfig": {
"candidateCount": integer,
"maxOutputTokens": integer,
"temperature": number,
"topP": number,
"topK": integer,
"presencePenalty": number,
"frequencyPenalty": number,
"responseModalities": [string],
"speechConfig": object,
"mediaResolution": object,
"translationConfig": object
},
"systemInstruction": string,
"tools": [object]
}
Për më shumë informacione për fushën e API-së, shiko generationConfig.
Dërgo mesazhe
Për të shkëmbyer mesazhe nëpërmjet lidhjes WebSocket, klienti duhet të dërgojë një objekt JSON nëpërmjet një lidhjeje të hapur WebSocket. Objekti JSON duhet të ketë pikërisht një nga fushat nga grupi i mëposhtëm i objekteve:
{
"setup": BidiGenerateContentSetup,
"clientContent": BidiGenerateContentClientContent,
"realtimeInput": BidiGenerateContentRealtimeInput,
"toolResponse": BidiGenerateContentToolResponse
}
Mesazhet e klientit që mbështeten
Shiko mesazhet e mbështetura të klientëve në tabelën e mëposhtme:
| Dërgo mesazh | Përshkrimi |
|---|---|
BidiGenerateContentSetup |
Konfigurimi i seancës që do të dërgohet në mesazhin e parë |
BidiGenerateContentClientContent |
Përditësimi i përmbajtjes rritëse i bisedës aktuale i dërguar nga klienti |
BidiGenerateContentRealtimeInput |
Hyrje në kohë reale të audios, videos ose tekstit |
BidiGenerateContentToolResponse |
Përgjigje për një ToolCallMessage të marrë nga serveri |
Merr mesazhe
Për të marrë mesazhe nga Gemini, dëgjo për ngjarjen e "mesazhit" të WebSocket dhe më pas analizo rezultatin sipas përcaktimit të mesazheve të serverit të mbështetur.
Shiko sa më poshtë:
async with client.aio.live.connect(model='...', config=config) as session:
await session.send(input='Hello world!', end_of_turn=True)
async for message in session.receive():
print(message)
Mesazhet e serverit mund të kenë një fushë usageMetadata, por në rast të kundërt do të përfshijnë pikërisht një nga fushat e tjera nga mesazhi BidiGenerateContentServerMessage. (Unioni messageType nuk shprehet në JSON, prandaj fusha do të shfaqet në nivelin e sipërm të mesazhit.)
Mesazhet dhe ngjarjet
ActivityEnd
Ky lloj nuk ka fusha.
Shënon fundin e aktivitetit të përdoruesit.
ActivityHandling
Mënyrat e ndryshme për trajtimin e aktivitetit të përdoruesit.
| Enumeracionet | |
|---|---|
ACTIVITY_HANDLING_UNSPECIFIED |
Nëse nuk specifikohet, sjellja e parazgjedhur është START_OF_ACTIVITY_INTERRUPTS. |
START_OF_ACTIVITY_INTERRUPTS |
Nëse është e vërtetë, fillimi i aktivitetit do të ndërpresë përgjigjen e modelit (quhet edhe "ndërhyrje"). Përgjigjja aktuale e modelit do të ndërpritet në momentin e ndërprerjes. Kjo është sjellja e parazgjedhur. |
NO_INTERRUPTION |
Përgjigjja e modelit nuk do të ndërpritet. |
ActivityStart
Ky lloj nuk ka fusha.
Shënon fillimin e aktivitetit të përdoruesit.
AudioTranscriptionConfig
Konfigurimi i transkriptimit të audios.
| Fushat | |
|---|---|
languageCodes[] |
Opsionale. Kodet e gjuhës BCP-47 që japin sugjerime për gjuhët e pranishme në audio. Nëse hiqet ose është bosh, si parazgjedhje përdoret zbulimi automatik i gjuhës. |
customVocabulary[] |
Opsionale. Një listë me fraza të personalizuara të fjalorit për të orientuar modelin e njohjes së ligjërimit drejt njohjes së termave specifikë (emrat e produkteve, emrat e përveçëm, zhargon). |
wordTimestamp |
Opsionale. Konfiguron gjenerimin e vulës kohore në nivel fjale. |
diarization |
Opsionale. Konfiguron identifikimin e folësit. |
mode |
Opsionale. Konfiguron modalitetin e transkriptimit. Vlerat e mbështetura: |
Modaliteti
Modaliteti i transkriptimit.
| Enumeracionet | |
|---|---|
MODE_UNSPECIFIED |
Modaliteti i paspecifikuar i transkriptimit. |
VERBATIM |
Modaliteti i transkriptimit fjalë për fjalë. |
SMART |
Modaliteti i transkriptimit inteligjent. |
AutomaticActivityDetection
Konfiguron zbulimin automatik të aktivitetit.
| Fushat | |
|---|---|
disabled |
Opsionale. Nëse aktivizohet (parazgjedhja), zëri i zbuluar dhe numri i hyrjeve me tekst llogariten si aktivitet. Nëse çaktivizohet, klienti duhet të dërgojë sinjale të aktivitetit. |
startOfSpeechSensitivity |
Opsionale. Përcakton se sa ka gjasa të zbulohet ligjërimi. |
prefixPaddingMs |
Opsionale. Kohëzgjatja e kërkuar e ligjërimit të zbuluar para se të angazhohet fillimi i ligjërimit. Sa më e ulët të jetë kjo vlerë, aq më i ndjeshëm është zbulimi i fillimit të ligjërimit dhe aq më i shkurtër mund të njihet ligjërimi. Megjithatë, kjo rrit gjithashtu probabilitetin e rezultateve pozitive të rreme. |
endOfSpeechSensitivity |
Opsionale. Përcakton se sa ka gjasa që ligjërimi i zbuluar të ketë përfunduar. |
silenceDurationMs |
Opsionale. Kohëzgjatja e kërkuar e ligjërimit të zbuluar jo të ligjërimit (p.sh. heshtje) para se të kryhet fundi i ligjërimit. Sa më e madhe të jetë kjo vlerë, aq më të gjata mund të jenë boshllëqet e të folurit pa ndërprerë aktivitetin e përdoruesit, por kjo do të rritë vonesën e modelit. |
BidiGenerateContentClientContent
Përditësimi rritës i bisedës aktuale i dërguar nga klienti. Të gjitha përmbajtjet këtu i shtohen pa kushte historikut të bisedave dhe përdoren si pjesë e kërkesës për modelin për të gjeneruar përmbajtje.
Një mesazh këtu do të ndërpresë çdo gjenerim aktual të modelit.
| Fushat | |
|---|---|
turns[] |
Opsionale. Përmbajtja e shtuar në bisedën aktuale me modelin. Për pyetjet me një kthesë, kjo është një rast i vetëm. Për kërkesat me shumë kthesa, ky është një fushë e përsëritur që përmban historikun e bisedave dhe kërkesën më të fundit. |
turnComplete |
Opsionale. Nëse është e vërtetë, tregon se gjenerimi i përmbajtjes së serverit duhet të fillojë me kërkesën e akumuluar aktualisht. Në rast të kundërt, serveri pret mesazhe shtesë para se të fillojë gjenerimin. |
BidiGenerateContentRealtimeInput
Hyrja e përdoruesit që dërgohet në kohë reale.
Modalitetet e ndryshme (audio, video dhe tekst) trajtohen si transmetime të njëkohshme. Renditja nëpër këto transmetime nuk garantohet.
Kjo është e ndryshme nga BidiGenerateContentClientContent në disa mënyra:
- Mund të dërgohen në mënyrë të vazhdueshme pa ndërprerje për gjenerimin e modelit.
- Nëse ka nevojë për të përzier të dhënat e ndërthurura në
BidiGenerateContentClientContentdheBidiGenerateContentRealtimeInput, serveri përpiqet të optimizojë për përgjigjen më të mirë, por nuk ka garanci. - Fundi i radhës nuk është specifikuar në mënyrë të qartë, por është nxjerrë nga aktiviteti i përdoruesit (p.sh. fundi i të folurit).
- Edhe para përfundimit të radhës, të dhënat përpunohen në mënyrë shtesë për të optimizuar për një nisje të shpejtë të përgjigjes nga modeli.
| Fushat | |
|---|---|
mediaChunks[] |
Opsionale. Të dhënat e bajteve të integruara për hyrjen e medias. E ZHVLERËSUAR: Përdor një nga |
audio |
Opsionale. Këto formojnë transmetimin e hyrjes audio në kohë reale. |
video |
Opsionale. Këto formojnë transmetimin e hyrjes së videos në kohë reale. |
activityStart |
Opsionale. Shënon fillimin e aktivitetit të përdoruesit. Kjo mund të dërgohet vetëm nëse zbulimi automatik i aktivitetit (d.m.th. nga ana e serverit) është i çaktivizuar. |
activityEnd |
Opsionale. Shënon fundin e aktivitetit të përdoruesit. Kjo mund të dërgohet vetëm nëse zbulimi automatik i aktivitetit (d.m.th. nga ana e serverit) është i çaktivizuar. |
mediaResolution |
Opsionale. Rezolucioni i medias për t'u përdorur. Nëse nuk specifikohet, përdoret |
audioStreamEnd |
Opsionale. Tregon se transmetimi i audios ka përfunduar, p.sh. sepse mikrofoni është fikur. Kjo duhet të dërgohet vetëm kur është i aktivizuar zbulimi automatik i aktivitetit (që është parazgjedhja). Klienti mund ta rihapë transmetimin duke dërguar një mesazh audio. |
text |
Opsionale. Këto formojnë transmetimin e hyrjes së tekstit në kohë reale. |
BidiGenerateContentServerContent
Përditësimi shtesë i serverit i gjeneruar nga modeli në përgjigje të mesazheve të klientit.
Përmbajtja gjenerohet sa më shpejt që të jetë e mundur dhe jo në kohë reale. Klientët mund të zgjedhin ta ruajnë në memorien specifike dhe ta luajnë në kohë reale.
| Fushat | |
|---|---|
generationComplete |
Vetëm rezultat. Nëse është e vërtetë, tregon që modeli ka përfunduar gjenerimin. Kur modeli ndërpritet gjatë gjenerimit, nuk do të ketë mesazh "generation_complete" në kthesën e ndërprerë, ai do të kalojë nëpër "interrupted > turn_complete". Kur modeli supozon luajtjen në kohë reale, do të ketë vonesë midis përfundimit të gjenerimit dhe përfundimit të radhës që shkaktohet nga modeli që pret që luajtja të përfundojë. |
turnComplete |
Vetëm rezultat. Nëse është e vërtetë, tregon që modeli ka përfunduar radhën e tij. Gjenerimi do të fillojë vetëm në përgjigje të mesazheve shtesë të klientit. Ki parasysh se kur raportimi i statusit të luajtjes është i aktivizuar, kjo lëshohet vetëm kur statusi i luajtjes tregon se luajtja ka përfunduar. Statusi i luajtjes së ardhshme të të njëjtit brez do të shpërfillet. |
interrupted |
Vetëm rezultat. Nëse është e vërtetë, tregon që një mesazh klienti ka ndërprerë gjenerimin aktual të modelit. Nëse klienti po luan përmbajtjen në kohë reale, ky është një sinjal i mirë për të ndaluar dhe për të zbrazur radhën aktuale të luajtjes. |
groundingMetadata |
Vetëm rezultat. Metadatat e themelimit për përmbajtjen e gjeneruar. |
inputTranscription |
Vetëm rezultat. Hyrja e transkriptimit të audios. Transkriptimi dërgohet në mënyrë të pavarur nga mesazhet e tjera të serverit dhe nuk ka një renditje të garantuar. |
interimInputTranscription |
Vetëm rezultat. Transkriptimi me vonesë të ulët përditësohet ndërkohë që përdoruesi flet. Kjo fushë është objekt i përditësimeve të shpeshta. |
outputTranscription |
Vetëm rezultat. Transkriptimi i audios së daljes. Këto transkriptime janë pjesë e rezultatit të "Gjenerimit" të serverit. Transkriptimi i daljes së fundit të këtij radhe dërgohet para |
urlContextMetadata |
|
waitingForInput |
Vetëm rezultat. Nëse është e vërtetë, tregon se modeli nuk po gjeneron përmbajtje sepse po pret më shumë hyrje nga përdoruesi, p.sh. sepse pret që përdoruesi të vazhdojë të flasë. |
interactionStatus |
Vetëm rezultat. Statusi aktual i aktivitetit të sesionit të drejtpërdrejtë. Dërgohet gjithmonë së bashku me |
modelTurn |
Vetëm rezultat. Përmbajtja që ka gjeneruar modeli si pjesë e bisedës aktuale me përdoruesin. |
BidiGenerateContentServerMessage
Mesazhi i përgjigjes për thirrjen BidiGenerateContent.
| Fushat | |
|---|---|
usageMetadata |
Vetëm rezultat. Metadatat e përdorimit për përgjigjet. |
voiceActivity |
Vetëm rezultat. U zbulua aktivitet zanor në transmetimin audio. |
Fusha e bashkimit messageType. Lloji i mesazhit. messageType mund të jetë vetëm një nga sa më poshtë: |
|
setupComplete |
Vetëm rezultat. Dërguar në përgjigje të një mesazhi |
serverContent |
Vetëm rezultat. Përmbajtja e gjeneruar nga modeli në përgjigje të mesazheve të klientit. |
toolCall |
Vetëm rezultat. Kërkesë për klientin që të ekzekutojë |
toolCallCancellation |
Vetëm rezultat. Njoftim për klientin që një |
goAway |
Vetëm rezultat. Një njoftim që serveri do të shkëputet së shpejti. |
sessionResumptionUpdate |
Vetëm rezultat. Përditësimi i gjendjes së vazhdimit të seancës. |
BidiGenerateContentSetup
Mesazhi që do të dërgohet në BidiGenerateContentClientMessage e parë (dhe vetëm në të parën). Përmban konfigurimin që do të zbatohet për kohëzgjatjen e RPC-së së transmetimit.
Klientët duhet të presin për një mesazh BidiGenerateContentSetupComplete para se të dërgojnë mesazhe të tjera.
| Fushat | |
|---|---|
model |
Kërkohet. Emri i burimit të modelit. Kjo shërben si një ID për t'u përdorur nga modeli. Formati: |
generationConfig |
Opsionale. Konfigurimi i gjenerimit. Fushat e mëposhtme nuk mbështeten:
|
systemInstruction |
Opsionale. Përdoruesi ka dhënë udhëzime të sistemit për modelin. Shënim. Vetëm teksti duhet të përdoret në pjesë dhe përmbajtja në çdo pjesë do të jetë në një paragraf të veçantë. |
tools[] |
Opsionale. Një listë e Një |
realtimeInputConfig |
Opsionale. Konfiguron trajtimin e hyrjes në kohë reale. |
sessionResumption |
Opsionale. Konfiguron mekanizmin e vazhdimit të seancës. Nëse përfshihen, serveri do të dërgojë |
contextWindowCompression |
Opsionale. Konfiguron një mekanizëm ngjeshjeje të dritares kontekstuale. Nëse përfshihet, serveri do të zvogëlojë automatikisht madhësinë e kontekstit kur ai tejkalon gjatësinë e konfiguruar. |
inputAudioTranscription |
Opsionale. Nëse është caktuar, aktivizon transkriptimin e hyrjes zanore. Transkriptimi përputhet me gjuhën e audios hyrëse, nëse është konfiguruar. |
outputAudioTranscription |
Opsionale. Nëse caktohet, aktivizon transkriptimin e daljes audio të modelit. Transkriptimi përputhet me kodin e gjuhës të specifikuar për audion e daljes, nëse është konfiguruar. |
proactivity |
Opsionale. Konfiguron proaktivitetin e modelit. Kjo lejon që modeli t'i përgjigjet në mënyrë proaktive hyrjes dhe të shpërfillë hyrjen e parëndësishme. |
historyConfig |
Opsionale. Konfiguron shkëmbimin e historikut midis klientit dhe serverit. |
labels |
Opsionale. Etiketat me metadata të përcaktuara nga përdoruesi për kërkesën. Opsionale. Etiketat duhet të ndjekin kërkesat standarde të unifikuara të etiketave të Cloud: - Çelësat e etiketave duhet të fillojnë me një shkronjë. - Çelësat dhe vlerat e etiketave nuk mund të jenë më të gjata se 63 karaktere (pika kodi Unicode) dhe mund të përmbajnë vetëm shkronja të vogla, karaktere numerike, vija të poshtme dhe viza ndarëse. - Lejohen karakteret ndërkombëtare. Përdorimi: - Identifikuesit e sigurisë nga grumbulluesit: Përdor çelësin |
BidiGenerateContentSetupComplete
Ky lloj nuk ka fusha.
Dërguar në përgjigje të një mesazhi BidiGenerateContentSetup nga klienti.
BidiGenerateContentToolCall
Kërkesë për klientin që të ekzekutojë functionCalls dhe të kthejë përgjigjet me id që përputhen.
| Fushat | |
|---|---|
functionCalls[] |
Vetëm rezultat. Thirrja e funksionit që do të ekzekutohet. |
BidiGenerateContentToolCallCancellation
Njoftim për klientin që një ToolCallMessage i lëshuar më parë me id të specifikuara nuk duhet të jetë ekzekutuar dhe duhet të anulohet. Nëse ka pasur efekte anësore në ato thirrje të veglave, klientët mund të përpiqen t'i zhbëjnë thirrjet e veglave. Ky mesazh ndodh vetëm në rastet kur klientët ndërpresin radhët e serverit.
| Fushat | |
|---|---|
ids[] |
Vetëm rezultat. ID-të e telefonatave të veglave që do të anulohen. |
BidiGenerateContentToolResponse
Klienti gjeneroi përgjigjen për një ToolCall të marrë nga serveri. FunctionResponse objekte individuale përputhen me objektet përkatëse FunctionCall nga fusha id.
Ki parasysh se në API-të GenerateContent me thirrje unare dhe të transmetimit në server, thirrja e funksionit ndodh duke shkëmbyer pjesët e Content, ndërsa në API-të GenerateContent me thirrje bidireksionale të funksionit, kjo ndodh nëpërmjet këtij grupi të posaçëm mesazhesh.
| Fushat | |
|---|---|
functionResponses[] |
Opsionale. Përgjigjja ndaj thirrjeve të funksionit. |
BidiGenerateContentTranscription
Transkriptimi i audios (hyrja ose dalja).
| Fushat | |
|---|---|
text |
Teksti i transkriptimit. |
languageCode |
Kodi i gjuhës BCP-47 i transkriptimit. |
startOffset |
Opsionale. Kompensimi i fillimit në kohë i transkriptimit në lidhje me fillimin e audios. |
endOffset |
Opsionale. Zhvendosja e fundit në kohë e transkriptimit në lidhje me fillimin e audios. |
ContextWindowCompressionConfig
Aktivizon ngjeshjen e dritares së kontekstit - një mekanizëm për menaxhimin e dritares së kontekstit të modelit në mënyrë që të mos kalojë një gjatësi të caktuar.
| Fushat | |
|---|---|
Fusha e bashkimit compressionMechanism. Mekanizmi i përdorur për ngjeshjen e dritares kontekstuale. compressionMechanism mund të jetë vetëm një nga sa më poshtë: |
|
slidingWindow |
Një mekanizëm me dritare rrëshqitëse. |
triggerTokens |
Numri i kodeve (para ekzekutimit të një ndërveprimi) që nevojiten për të aktivizuar një ngjeshje të dritares së kontekstit. Kjo mund të përdoret për të balancuar cilësinë me vonesën pasi dritaret më të shkurtra të kontekstit mund të rezultojnë në përgjigje më të shpejta të modelit. Megjithatë, çdo veprim kompresimi do të shkaktojë një rritje të përkohshme të vonesës, kështu që ato nuk duhet të aktivizohen shpesh. Nëse nuk caktohet, parazgjedhja është 80% e kufirit të dritares së kontekstit të modelit. Kjo lë 20% për kërkesën e përdoruesit/përgjigjen e modelit. |
EndSensitivity
Përcakton se si zbulohet fundi i ligjërimit.
| Enumeracionet | |
|---|---|
END_SENSITIVITY_UNSPECIFIED |
Parazgjedhja është END_SENSITIVITY_HIGH. |
END_SENSITIVITY_HIGH |
Zbulimi automatik e përfundon ligjërimin më shpesh. |
END_SENSITIVITY_LOW |
Zbulimi automatik e ndërpret ligjërimin më rrallë. |
GoAway
Një njoftim që serveri do të shkëputet së shpejti.
| Fushat | |
|---|---|
timeLeft |
Koha e mbetur para se lidhja të përfundojë si E ANULUAR. Kjo kohëzgjatje nuk do të jetë asnjëherë më e vogël se një minimum specifik për modelin, i cili do të specifikohet së bashku me kufijtë e normës për modelin. |
HistoryConfig
Konfigurimi i historikut.
Ky mesazh është i përfshirë në konfigurimin e seancës si BidiGenerateContentSetup.historyConfig. Konfiguron shkëmbimin e mesazheve të historikut.
| Fushat | |
|---|---|
initialHistoryInClientContent |
Opsionale. Nëse është e vërtetë, pas dërgimit të |
InteractionStatus
Gjendjet e ndryshme të aktivitetit të sesionit të drejtpërdrejtë. Kjo fushë dërgohet gjithmonë së bashku me turnComplete për të treguar nëse serveri ka përfunduar të gjithë përpunimin.
| Enumeracionet | |
|---|---|
INTERACTION_STATUS_UNSPECIFIED |
Statusi i paspecifikuar i ndërveprimit. |
IN_PROGRESS |
Serveri po përpunon ende në mënyrë aktive hyrjen e përdoruesit ose po ekzekuton arsyetimin në sfond. Mund të vijë më shumë rezultat nga modeli. |
REQUIRES_ACTION |
I zhvlerësuar: Përdor IDLE më mirë. |
IDLE |
Serveri ka përfunduar të gjithë përpunimin dhe arsyetimin në sfond. |
ProactivityConfig
Konfigurimi për veçoritë proaktive.
| Fushat | |
|---|---|
proactiveAudio |
Opsionale. Nëse aktivizohet, modeli mund të refuzojë t'i përgjigjet kërkesës së fundit. Për shembull, kjo e lejon modelin të shpërfillë të folurit jashtë kontekstit ose të qëndrojë në heshtje nëse përdoruesi nuk ka bërë ende një kërkesë. |
RealtimeInputConfig
Konfiguron sjelljen e hyrjes në kohë reale në BidiGenerateContent.
| Fushat | |
|---|---|
automaticActivityDetection |
Opsionale. Nëse nuk caktohet, zbulimi automatik i aktivitetit është i aktivizuar si parazgjedhje. Nëse zbulimi automatik i zërit është i çaktivizuar, klienti duhet të dërgojë sinjale aktiviteti. |
activityHandling |
Opsionale. Përcakton se çfarë efekti ka aktiviteti. |
turnCoverage |
Opsionale. Përcakton se cila hyrje përfshihet në radhën e përdoruesit. |
interimTranscriptTimestampEnabled |
Opsionale. Konfiguron vulat kohore të transkriptit të ndërmjetëm. |
SessionResumptionConfig
Konfigurimi i vazhdimit të seancës.
Ky mesazh është i përfshirë në konfigurimin e seancës si BidiGenerateContentSetup.sessionResumption. Nëse konfigurohet, serveri do të dërgojë mesazhe SessionResumptionUpdate.
| Fushat | |
|---|---|
handle |
Emërtimi i një seance të mëparshme. Nëse nuk është i pranishëm, atëherë krijohet një seancë e re. Emërtimet e seancës vijnë nga |
SessionResumptionUpdate
Përditësimi i gjendjes së vazhdimit të seancës.
Dërgohet vetëm nëse është caktuar BidiGenerateContentSetup.sessionResumption.
| Fushat | |
|---|---|
newHandle |
Emërtimi i ri që përfaqëson një gjendje që mund të vazhdohet. Bosh nëse |
resumable |
E vërtetë nëse seanca aktuale mund të vazhdohet në këtë pikë. Vazhdimi nuk është i mundur në disa pika në sesion. Për shembull, kur modeli po ekzekuton thirrjet e funksioneve ose po gjeneron. Vazhdimi i seancës (duke përdorur një kod të seancës së mëparshme) në një gjendje të tillë do të rezultojë në humbje të disa të dhënave. Në këto raste, |
SlidingWindow
Metoda SlidingWindow funksionon duke hequr përmbajtjen në fillim të dritares kontekstuale. Konteksti që rezulton do të fillojë gjithmonë në fillim të një radhe të rolit të PËRDORUESIT. Udhëzimet e sistemit dhe çdo BidiGenerateContentSetup.prefixTurns do të qëndrojnë gjithmonë në fillim të rezultatit.
| Fushat | |
|---|---|
targetTokens |
Numri i synuar i tokenëve për t'i mbajtur. Vlera e parazgjedhur është trigger_tokens/2. Heqja e pjesëve të dritares së kontekstit shkakton një rritje të përkohshme të vonesës, prandaj kjo vlerë duhet të kalibrohet për të shmangur operacionet e shpeshta të ngjeshjes. |
StartSensitivity
Përcakton se si zbulohet fillimi i ligjërimit.
| Enumeracionet | |
|---|---|
START_SENSITIVITY_UNSPECIFIED |
Parazgjedhja është START_SENSITIVITY_HIGH. |
START_SENSITIVITY_HIGH |
Zbulimi automatik do të zbulojë fillimin e ligjërimit më shpesh. |
START_SENSITIVITY_LOW |
Zbulimi automatik do të zbulojë fillimin e ligjërimit më rrallë. |
TurnCoverage
Opsionet për atë se cila hyrje përfshihet në radhën e përdoruesit.
| Enumeracionet | |
|---|---|
TURN_COVERAGE_UNSPECIFIED |
Nëse nuk specifikohet, zgjidhet një sjellje e parazgjedhur bazuar në model. P.sh. për Gemini 2.5, parazgjedhja është TURN_INCLUDES_ONLY_ACTIVITY, ndërsa për Gemini 3.1 e lart, është TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO. |
TURN_INCLUDES_ONLY_ACTIVITY |
Përfshin aktivitetin që nga kthesa e fundit, duke përjashtuar joaktivitetin (p.sh. heshtjen në transmetimin audio). |
TURN_INCLUDES_ALL_INPUT |
Përfshin të gjitha hyrjet në kohë reale që nga radha e fundit, duke përfshirë mungesën e aktivitetit (p.sh. heshtjen në transmetimin audio). |
TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO |
Përfshin aktivitetin e audios dhe të gjithë videon që nga rradha e fundit. Me zbulimin automatik të aktivitetit, aktiviteti i audios do të thotë ligjërim dhe përjashton heshtjen. |
TranslationConfig
Konfigurimi për veçoritë e përkthimit.
| Fushat | |
|---|---|
targetLanguageCode |
Kërkohet. Gjuha e synuar për përkthimin. Vlerat e mbështetura janë kodet e gjuhës BCP-47 (p.sh. "en", "es", "fr"). |
echoTargetLanguage |
Opsionale. Nëse është e vërtetë, modeli do të gjenerojë audio kur të flitet gjuha e synuar, në thelb do të përsëritë hyrjen. Nëse është e pavërtetë, ne nuk do të prodhojmë audio për gjuhën e synuar. |
UrlContextMetadata
Metadatat në lidhje me veglën e marrjes së kontekstit të URL-së.
| Fushat | |
|---|---|
urlMetadata[] |
Lista e kontekstit të URL-së. |
UsageMetadata
Metadatat e përdorimit për përgjigjet.
| Fushat | |
|---|---|
promptTokenCount |
Vetëm rezultat. Numri i kodeve në kërkesë. Kur caktohet |
cachedContentTokenCount |
Numri i kodeve në pjesën e ruajtur në memorien specifike të kërkesës (përmbajtja e ruajtur në memorien specifike) |
responseTokenCount |
Vetëm rezultat. Numri total i kodeve në të gjithë kandidatët e gjeneruar të përgjigjeve. |
toolUsePromptTokenCount |
Vetëm rezultat. Numri i kodeve të pranishme në kërkesat për përdorimin e veglave. |
thoughtsTokenCount |
Vetëm rezultat. Numri i kodeve të mendimeve për modelet arsyetuese. |
totalTokenCount |
Vetëm rezultat. Numri total i kodeve për kërkesën e gjenerimit (kërkesa + kandidatët e përgjigjes). |
promptTokensDetails[] |
Vetëm rezultat. Lista e modaliteteve që u përpunuan në hyrjen e kërkesës. |
cacheTokensDetails[] |
Vetëm rezultat. Lista e modaliteteve të përmbajtjes së ruajtur në memorien specifike në hyrjen e kërkesës. |
responseTokensDetails[] |
Vetëm rezultat. Lista e modaliteteve që u kthyen në përgjigje. |
toolUsePromptTokensDetails[] |
Vetëm rezultat. Lista e modaliteteve që u përpunuan për hyrjet e kërkesës për përdorimin e veglës. |
VoiceActivity
U zbulua aktivitet zanor në transmetimin audio.
| Fushat | |
|---|---|
type |
Vetëm rezultat. Lloji i sinjalit VAD(zbulimi i aktivitetit zanor). |
audioOffset |
Vetëm rezultat. Koha kur u zbulua aktiviteti zanor në kohën e audios, në lidhje me fillimin e transmetimit të audios. |
Lloji
Lloji i sinjalit VAD.
| Enumeracionet | |
|---|---|
TYPE_UNSPECIFIED |
Parazgjedhja është UNSPECIFIED. |
ACTIVITY_START |
Sinjali i fillimit të fjalisë. |
ACTIVITY_END |
Sinjali i fundit të fjalisë. |
Kodet e vërtetimit efemer
Kodet e vërtetimit efemeral mund të merren duke telefonuar
AuthTokenService.CreateToken dhe më pas të përdoren me
GenerativeService.BidiGenerateContentConstrained, ose duke kaluar kodin
në një parametër kërkese access_token ose në një kokë Authorization HTTP me
"Token" të vendosur para tij.
CreateAuthTokenRequest
Krijo një kod të vërtetimit efemer.
| Fushat | |
|---|---|
authToken |
Kërkohet. Kodi për t'u krijuar. |
AuthToken
Një kërkesë për të krijuar një kod të përkohshëm vërtetimi.
| Fushat | |
|---|---|
name |
Vetëm rezultat. Identifikuesi. Vetë tokeni. |
expireTime |
Opsionale. Vetëm hyrje. E pandryshueshme. Një kohë opsionale pas së cilës, kur përdoret kodi rezultues, mesazhet në sesionet e BidiGenerateContent do të refuzohen. (Gemini mund ta mbyllë paraprakisht seancën pas kësaj kohe.) Nëse nuk caktohet, kjo kalon si parazgjedhje në 30 minuta në të ardhmen. Nëse caktohet, kjo vlerë duhet të jetë më pak se 20 orë në të ardhmen. |
newSessionExpireTime |
Opsionale. Vetëm hyrje. E pandryshueshme. Koha pas së cilës do të refuzohen seancat e reja të API-së së transmetimit të drejtpërdrejtë duke përdorur kodin që rezulton nga kjo kërkesë. Nëse nuk caktohet, kjo kalon si parazgjedhje në 60 sekonda në të ardhmen. Nëse caktohet, kjo vlerë duhet të jetë më pak se 20 orë në të ardhmen. |
fieldMask |
Opsionale. Vetëm hyrje. E pandryshueshme. Nëse field_mask është bosh dhe Nëse field_mask është bosh dhe Nëse field_mask nuk është bosh, atëherë fushat përkatëse nga |
Fusha e bashkimit config. Konfigurimi specifik për metodën për tokenin që rezulton. config mund të jetë vetëm një nga sa më poshtë: |
|
bidiGenerateContentSetup |
Opsionale. Vetëm hyrje. E pandryshueshme. Konfigurimi specifik për |
uses |
Opsionale. Vetëm hyrje. E pandryshueshme. Numri i herëve që mund të përdoret tokeni. Nëse kjo vlerë është zero, atëherë nuk zbatohet asnjë kufi. Vazhdimi i një seance të Live API nuk llogaritet si përdorim. Nëse nuk specifikohet, parazgjedhja është 1. |
Më shumë informacione për llojet e zakonshme
Për më shumë informacion mbi llojet e burimeve të API-së që përdoren zakonisht Blob,
Content, FunctionCall, FunctionResponse, GenerationConfig,
GroundingMetadata, ModalityTokenCount dhe Tool, shiko
Gjenerimi i përmbajtjes.