Interfejs Live API to interfejs API z zachowywaniem stanu, który korzysta z WebSockets. W tej sekcji znajdziesz dodatkowe informacje o interfejsie WebSockets API.
Sesje
Połączenie WebSocket ustanawia sesję między klientem a serwerem Gemini. Gdy klient zainicjuje nowe połączenie, sesja może wymieniać wiadomości z serwerem w celu:
- Wysyłaj tekst, dźwięk lub wideo na serwer Gemini.
- Otrzymywanie z serwera Gemini próśb o dźwięk, tekst lub wywołanie funkcji.
Połączenie WebSocket
Aby rozpocząć sesję, połącz się z tym punktem końcowym WebSocket:
wss://generativelanguage.googleapis.com/ws/google.ai.generativelanguage.v1beta.GenerativeService.BidiGenerateContent
Konfiguracja sesji
Początkowa wiadomość wysłana po nawiązaniu połączenia WebSocket określa konfigurację sesji, która obejmuje model, parametry generowania, instrukcje systemowe i narzędzia.
Nie możesz zaktualizować konfiguracji, gdy połączenie jest otwarte. Możesz jednak zmienić parametry konfiguracji (z wyjątkiem modelu) podczas wstrzymywania i wznawiania za pomocą mechanizmu wznawiania sesji.
Zobacz przykładową konfigurację poniżej. Pamiętaj, że wielkość liter w nazwach w pakietach SDK może się różnić. Opcje konfiguracji pakietu SDK w Pythonie znajdziesz tutaj
{
"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]
}
Więcej informacji o polu interfejsu API znajdziesz w artykule generationConfig.
Wysyłanie wiadomości
Aby wymieniać wiadomości przez połączenie WebSocket, klient musi wysłać obiekt JSON przez otwarte połączenie WebSocket. Obiekt JSON musi zawierać dokładnie jedno pole z tego zestawu obiektów:
{
"setup": BidiGenerateContentSetup,
"clientContent": BidiGenerateContentClientContent,
"realtimeInput": BidiGenerateContentRealtimeInput,
"toolResponse": BidiGenerateContentToolResponse
}
Obsługiwane wiadomości klienta
Obsługiwane wiadomości od klientów znajdziesz w tabeli poniżej:
| Wiadomość | Opis |
|---|---|
BidiGenerateContentSetup |
Konfiguracja sesji, która ma zostać wysłana w pierwszej wiadomości |
BidiGenerateContentClientContent |
Przyrostowa aktualizacja treści bieżącej rozmowy dostarczona przez klienta |
BidiGenerateContentRealtimeInput |
dźwięk, obraz wideo lub tekst w czasie rzeczywistym, |
BidiGenerateContentToolResponse |
Odpowiedź na żądanie ToolCallMessage otrzymane z serwera |
Odbieranie wiadomości
Aby otrzymywać wiadomości od Gemini, nasłuchuj zdarzenia „message” WebSocket, a następnie analizuj wynik zgodnie z definicją obsługiwanych wiadomości serwera.
Zobacz:
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)
Wiadomości serwera mogą zawierać pole usageMetadata, ale w przeciwnym razie będą zawierać dokładnie jedno z pozostałych pól z wiadomości BidiGenerateContentServerMessage. (Unia messageType nie jest wyrażona w JSON, więc pole pojawi się na najwyższym poziomie wiadomości).
Wiadomości i wydarzenia
ActivityEnd
Ten typ nie ma pól.
Oznacza koniec aktywności użytkownika.
ActivityHandling
Różne sposoby obsługi aktywności użytkowników.
| Wartości w polu enum | |
|---|---|
ACTIVITY_HANDLING_UNSPECIFIED |
Jeśli nie określisz tu żadnej wartości, zostanie użyte ustawienie domyślne START_OF_ACTIVITY_INTERRUPTS. |
START_OF_ACTIVITY_INTERRUPTS |
Jeśli ma wartość „true” (prawda), rozpoczęcie aktywności przerwie odpowiedź modelu (tzw. „barge in”). Obecna odpowiedź modelu zostanie przerwana w momencie przerwania. Jest to zachowanie domyślne. |
NO_INTERRUPTION |
Odpowiedź modelu nie zostanie przerwana. |
ActivityStart
Ten typ nie ma pól.
Oznacza początek aktywności użytkownika.
AudioTranscriptionConfig
Konfiguracja transkrypcji dźwięku.
| Pola | |
|---|---|
languageCodes[] |
Opcjonalnie. Kody języków BCP-47, które zawierają wskazówki dotyczące języków występujących w dźwięku. Jeśli ten parametr zostanie pominięty lub będzie pusty, domyślnie zostanie włączone automatyczne wykrywanie języka. |
customVocabulary[] |
Opcjonalnie. Lista niestandardowych fraz słownictwa, które mają nakierować model rozpoznawania mowy na rozpoznawanie określonych terminów (nazw produktów, nazw własnych, żargonu). |
wordTimestamp |
Opcjonalnie. Konfiguruje generowanie sygnatur czasowych na poziomie słów. |
diarization |
Opcjonalnie. Konfiguruje rozdzielanie rozmówców. |
mode |
Opcjonalnie. Konfiguruje tryb transkrypcji. Obsługiwane wartości: |
Tryb
Tryb transkrypcji.
| Wartości w polu enum | |
|---|---|
MODE_UNSPECIFIED |
Nieokreślony tryb transkrypcji. |
VERBATIM |
Tryb transkrypcji dosłownej. |
SMART |
Tryb inteligentnej transkrypcji. |
AutomaticActivityDetection
Konfiguruje automatyczne wykrywanie aktywności.
| Pola | |
|---|---|
disabled |
Opcjonalnie. Jeśli ta opcja jest włączona (domyślnie), wykryte dane wejściowe głosowe i tekstowe są traktowane jako aktywność. Jeśli ta opcja jest wyłączona, klient musi wysyłać sygnały aktywności. |
startOfSpeechSensitivity |
Opcjonalnie. Określa prawdopodobieństwo wykrycia mowy. |
prefixPaddingMs |
Opcjonalnie. Wymagany czas trwania wykrytej mowy przed zatwierdzeniem początku mowy. Im mniejsza jest ta wartość, tym większa jest czułość wykrywania początku mowy i tym krótsze wypowiedzi mogą być rozpoznawane. Zwiększa to jednak również prawdopodobieństwo wyników fałszywie pozytywnych. |
endOfSpeechSensitivity |
Opcjonalnie. Określa prawdopodobieństwo zakończenia wykrytej mowy. |
silenceDurationMs |
Opcjonalnie. Wymagany czas trwania wykrytego dźwięku innego niż mowa (np. ciszy) przed zatwierdzeniem końca mowy. Im większa ta wartość, tym dłuższe mogą być przerwy w mowie bez przerywania aktywności użytkownika, ale zwiększy to opóźnienie modelu. |
BidiGenerateContentClientContent
Przyrostowa aktualizacja bieżącej rozmowy dostarczona przez klienta. Wszystkie treści są bezwarunkowo dodawane do historii rozmowy i używane jako część promptu dla modelu w celu generowania treści.
Wiadomość w tym miejscu przerwie bieżące generowanie modelu.
| Pola | |
|---|---|
turns[] |
Opcjonalnie. Treść dołączona do bieżącej rozmowy z modelem. W przypadku zapytań jednorazowych jest to pojedyncza instancja. W przypadku zapytań wieloetapowych jest to pole powtarzane, które zawiera historię rozmowy i najnowsze żądanie. |
turnComplete |
Opcjonalnie. Jeśli wartość to „true”, oznacza to, że generowanie treści na serwerze powinno rozpocząć się od aktualnie zgromadzonego prompta. W przeciwnym razie serwer czeka na dodatkowe wiadomości przed rozpoczęciem generowania. |
BidiGenerateContentRealtimeInput
Dane wejściowe użytkownika wysyłane w czasie rzeczywistym.
Różne typy treści (audio, wideo i tekst) są obsługiwane jako równoległe strumienie. Kolejność w tych strumieniach nie jest gwarantowana.
Różni się on od BidiGenerateContentClientContent pod kilkoma względami:
- Można je wysyłać w sposób ciągły bez przerywania generowania modelu.
- Jeśli istnieje potrzeba mieszania danych przeplatanych w
BidiGenerateContentClientContentiBidiGenerateContentRealtimeInput, serwer próbuje zoptymalizować odpowiedź, ale nie ma gwarancji. - Koniec tury nie jest określony w sposób jednoznaczny, ale wynika z aktywności użytkownika (np. zakończenia mowy).
- Jeszcze przed zakończeniem tury dane są przetwarzane przyrostowo, aby zoptymalizować szybkie rozpoczęcie odpowiedzi przez model.
| Pola | |
|---|---|
mediaChunks[] |
Opcjonalnie. Dane w formacie bajtów wstawione w tekście na potrzeby danych wejściowych multimediów. Wiele elementów WYCOFANO: zamiast niej użyj jednej z tych zasad: |
audio |
Opcjonalnie. Tworzą one strumień wejściowy dźwięku w czasie rzeczywistym. |
video |
Opcjonalnie. Tworzą one strumień wejściowy wideo w czasie rzeczywistym. |
activityStart |
Opcjonalnie. Oznacza początek aktywności użytkownika. Można go wysłać tylko wtedy, gdy automatyczne (czyli po stronie serwera) wykrywanie aktywności jest wyłączone. |
activityEnd |
Opcjonalnie. Oznacza koniec aktywności użytkownika. Można go wysłać tylko wtedy, gdy automatyczne (czyli po stronie serwera) wykrywanie aktywności jest wyłączone. |
mediaResolution |
Opcjonalnie. Rozdzielczość multimediów, której chcesz użyć. Jeśli nie zostanie określony, używana jest wartość |
audioStreamEnd |
Opcjonalnie. Wskazuje, że strumień audio został zakończony, np. z powodu wyłączenia mikrofonu. Należy go wysyłać tylko wtedy, gdy włączone jest automatyczne wykrywanie aktywności (które jest domyślnie włączone). Klient może ponownie otworzyć strumień, wysyłając wiadomość głosową. |
text |
Opcjonalnie. Tworzą one strumień danych wejściowych tekstu w czasie rzeczywistym. |
BidiGenerateContentServerContent
Przyrostowa aktualizacja serwera wygenerowana przez model w odpowiedzi na wiadomości klienta.
Treści są generowane tak szybko, jak to możliwe, a nie w czasie rzeczywistym. Klienci mogą buforować i odtwarzać je w czasie rzeczywistym.
| Pola | |
|---|---|
generationComplete |
Tylko dane wyjściowe. Jeśli ma wartość true, oznacza to, że model zakończył generowanie. Jeśli model zostanie przerwany podczas generowania, w przerwanym cyklu nie pojawi się komunikat „generation_complete”. Zamiast tego nastąpi przejście „interrupted > turn_complete”. Gdy model zakłada odtwarzanie w czasie rzeczywistym, między zdarzeniami generation_complete i turn_complete występuje opóźnienie spowodowane oczekiwaniem modelu na zakończenie odtwarzania. |
turnComplete |
Tylko dane wyjściowe. Jeśli ma wartość true, oznacza to, że model zakończył swoją turę. Generowanie rozpocznie się tylko w odpowiedzi na dodatkowe wiadomości od klienta. Pamiętaj, że gdy raportowanie stanu odtwarzania jest włączone, to zdarzenie jest emitowane tylko wtedy, gdy stan odtwarzania wskazuje, że odtwarzanie zostało zakończone. Przyszły stan odtwarzania tej samej generacji zostanie zignorowany. |
interrupted |
Tylko dane wyjściowe. Jeśli wartość to „true”, oznacza to, że wiadomość od klienta przerwała bieżące generowanie modelu. Jeśli klient odtwarza treści w czasie rzeczywistym, jest to dobry sygnał, aby zatrzymać odtwarzanie i opróżnić bieżącą kolejkę odtwarzania. |
groundingMetadata |
Tylko dane wyjściowe. metadane dotyczące wygenerowanych treści; |
inputTranscription |
Tylko dane wyjściowe. Wprowadź transkrypcję dźwięku. Transkrypcja jest wysyłana niezależnie od innych wiadomości serwera i nie ma gwarancji kolejności. |
interimInputTranscription |
Tylko dane wyjściowe. Transkrypcja o niskim czasie oczekiwania aktualizowana podczas mówienia użytkownika. To pole jest często aktualizowane. |
outputTranscription |
Tylko dane wyjściowe. Wyjście transkrypcji audio. Transkrypcje te są częścią danych wyjściowych generowanych przez serwer. Ostatnia transkrypcja wyjściowa tej tury jest wysyłana przed |
urlContextMetadata |
|
waitingForInput |
Tylko dane wyjściowe. Jeśli wartość to „true”, oznacza to, że model nie generuje treści, ponieważ czeka na więcej danych wejściowych od użytkownika, np. oczekuje, że użytkownik będzie kontynuować rozmowę. |
speechState |
Tylko dane wyjściowe. WYCOFANA: zamiast niej użyj VoiceActivity. Wskazuje bieżący stan wykrywania mowy na urządzeniu |
interactionStatus |
Tylko dane wyjściowe. Bieżący stan aktywności sesji na żywo. Zawsze wysyłane razem z |
modelTurn |
Tylko dane wyjściowe. Treści wygenerowane przez model w ramach bieżącej rozmowy z użytkownikiem. |
BidiGenerateContentServerMessage
Wiadomość odpowiedzi na wywołanie BidiGenerateContent.
| Pola | |
|---|---|
usageMetadata |
Tylko dane wyjściowe. Metadane dotyczące użycia odpowiedzi. |
Pole zbiorcze messageType. Typ wiadomości. messageType może mieć tylko jedną z tych wartości: |
|
setupComplete |
Tylko dane wyjściowe. Wysłana w odpowiedzi na wiadomość |
serverContent |
Tylko dane wyjściowe. Treści wygenerowane przez model w odpowiedzi na wiadomości klienta. |
toolCall |
Tylko dane wyjściowe. Żądanie wykonania przez klienta funkcji |
toolCallCancellation |
Tylko dane wyjściowe. Powiadomienie dla klienta, że wcześniej wydany dokument |
goAway |
Tylko dane wyjściowe. Powiadomienie o tym, że serwer wkrótce się rozłączy. |
sessionResumptionUpdate |
Tylko dane wyjściowe. Aktualizacja stanu wznowienia sesji. |
BidiGenerateContentSetup
Wiadomość, która ma zostać wysłana w pierwszym (i tylko w pierwszym) BidiGenerateContentClientMessage. Zawiera konfigurację, która będzie obowiązywać przez cały czas trwania strumieniowego wywołania RPC.
Przed wysłaniem kolejnych wiadomości klient powinien poczekać na wiadomość BidiGenerateContentSetupComplete.
| Pola | |
|---|---|
model |
Wymagane. Nazwa zasobu modelu. Służy on jako identyfikator modelu. Format: |
generationConfig |
Opcjonalnie. Konfiguracja generowania. Te pola nie są obsługiwane:
|
systemInstruction |
Opcjonalnie. Użytkownik podał instrukcje systemowe dla modelu. Uwaga: w sekcjach należy używać tylko tekstu, a treści w każdej sekcji będą znajdować się w osobnym akapicie. |
tools[] |
Opcjonalnie. Lista
|
realtimeInputConfig |
Opcjonalnie. Konfiguruje obsługę danych wejściowych w czasie rzeczywistym. |
sessionResumption |
Opcjonalnie. Konfiguruje mechanizm wznawiania sesji. Jeśli jest uwzględniony, serwer będzie wysyłać wiadomości |
contextWindowCompression |
Opcjonalnie. Konfiguruje mechanizm kompresji okna kontekstu. Jeśli jest uwzględniony, serwer automatycznie zmniejszy rozmiar kontekstu, gdy przekroczy on skonfigurowaną długość. |
inputAudioTranscription |
Opcjonalnie. Jeśli jest ustawiona, włącza transkrypcję głosowego wprowadzania tekstu. Transkrypcja jest zgodna z językiem wejściowego dźwięku, jeśli jest skonfigurowana. |
outputAudioTranscription |
Opcjonalnie. Jeśli jest ustawiona, włącza transkrypcję wyjścia audio modelu. Transkrypcja jest zgodna z kodem języka określonym dla wyjściowego dźwięku, jeśli jest skonfigurowana. |
proactivity |
Opcjonalnie. Konfiguruje proaktywność modelu. Dzięki temu model może proaktywnie reagować na dane wejściowe i ignorować te, które są nieistotne. |
historyConfig |
Opcjonalnie. Konfiguruje wymianę historii między klientem a serwerem. |
BidiGenerateContentSetupComplete
Ten typ nie ma pól.
Wysyłana w odpowiedzi na wiadomość BidiGenerateContentSetup od klienta.
BidiGenerateContentToolCall
Żądanie wykonania przez klienta funkcji functionCalls i zwrócenia odpowiedzi z pasującymi identyfikatorami id.
| Pola | |
|---|---|
functionCalls[] |
Tylko dane wyjściowe. Wywołanie funkcji, które ma zostać wykonane. |
BidiGenerateContentToolCallCancellation
Powiadomienie dla klienta, że wcześniej wydane ToolCallMessage z określonymi id nie powinny zostać zrealizowane i należy je anulować. Jeśli wywołania narzędzi spowodowały efekty uboczne, klienci mogą próbować je cofnąć. Ten komunikat pojawia się tylko w przypadku, gdy klienci przerywają kolejki serwera.
| Pola | |
|---|---|
ids[] |
Tylko dane wyjściowe. Identyfikatory wywołań narzędzi do anulowania. |
BidiGenerateContentToolResponse
Odpowiedź wygenerowana przez klienta na komunikat ToolCall otrzymany z serwera. Poszczególne obiekty FunctionResponse są dopasowywane do odpowiednich obiektów FunctionCall za pomocą pola id.
Pamiętaj, że w przypadku interfejsów GenerateContent API z wywołaniem jednokierunkowym i strumieniowaniem po stronie serwera wywoływanie funkcji odbywa się przez wymianę części Content, a w przypadku interfejsów GenerateContent API z wywołaniem dwukierunkowym wywoływanie funkcji odbywa się za pomocą tego dedykowanego zestawu wiadomości.
| Pola | |
|---|---|
functionResponses[] |
Opcjonalnie. Odpowiedź na wywołania funkcji. |
BidiGenerateContentTranscription
Transkrypcja dźwięku (wejściowego lub wyjściowego).
| Pola | |
|---|---|
text |
Tekst transkrypcji. |
languageCode |
Kod języka transkrypcji w standardzie BCP-47. |
ContextWindowCompressionConfig
Włącza kompresję okna kontekstu – mechanizm zarządzania oknem kontekstu modelu, aby nie przekraczało ono określonej długości.
| Pola | |
|---|---|
Pole zbiorcze compressionMechanism. Używany mechanizm kompresji okna kontekstu. compressionMechanism może mieć tylko jedną z tych wartości: |
|
slidingWindow |
mechanizm okna przesuwnego, |
triggerTokens |
Liczba tokenów (przed wykonaniem tury) wymagana do wywołania kompresji okna kontekstu. Można to wykorzystać do zrównoważenia jakości i opóźnienia, ponieważ krótsze okna kontekstu mogą skutkować szybszymi odpowiedziami modelu. Każda operacja kompresji powoduje jednak tymczasowy wzrost opóźnienia, dlatego nie należy jej często wywoływać. Jeśli nie zostanie ustawiona, domyślnie będzie wynosić 80% limitu okna kontekstu modelu. Pozostawia to 20% na kolejne żądanie użytkownika lub odpowiedź modelu. |
EndSensitivity
Określa sposób wykrywania końca wypowiedzi.
| Wartości w polu enum | |
|---|---|
END_SENSITIVITY_UNSPECIFIED |
Wartość domyślna to END_SENSITIVITY_HIGH. |
END_SENSITIVITY_HIGH |
Automatyczne wykrywanie częściej kończy mowę. |
END_SENSITIVITY_LOW |
Automatyczne wykrywanie rzadziej kończy mowę. |
GoAway
Powiadomienie o tym, że serwer wkrótce się rozłączy.
| Pola | |
|---|---|
timeLeft |
Pozostały czas, zanim połączenie zostanie przerwane jako ABORTED. Ten czas trwania nigdy nie będzie krótszy niż minimalny czas trwania dla danego modelu, który zostanie określony wraz z limitami szybkości dla tego modelu. |
HistoryConfig
Konfiguracja historii.
Ten komunikat jest uwzględniony w konfiguracji sesji jako BidiGenerateContentSetup.historyConfig. Konfiguruje wymianę wiadomości historii.
| Pola | |
|---|---|
initialHistoryInClientContent |
Opcjonalnie. Jeśli wartość to „true”, po wysłaniu |
ProactivityConfig
Konfiguracja funkcji proaktywnych.
| Pola | |
|---|---|
proactiveAudio |
Opcjonalnie. Jeśli ta opcja jest włączona, model może odrzucić odpowiedź na ostatni prompt. Dzięki temu model może na przykład ignorować wypowiedzi wyjęte z kontekstu lub zachowywać ciszę, jeśli użytkownik nie wysłał jeszcze prośby. |
RealtimeInputConfig
Konfiguruje działanie wprowadzania w czasie rzeczywistym w BidiGenerateContent.
| Pola | |
|---|---|
automaticActivityDetection |
Opcjonalnie. Jeśli nie ustawisz tej opcji, domyślnie włączone będzie automatyczne wykrywanie aktywności. Jeśli automatyczne wykrywanie głosu jest wyłączone, klient musi wysyłać sygnały aktywności. |
activityHandling |
Opcjonalnie. Określa, jaki wpływ ma aktywność. |
turnCoverage |
Opcjonalnie. Określa, które dane wejściowe są uwzględniane w turze użytkownika. |
SessionResumptionConfig
Konfiguracja wznowienia sesji.
Ten komunikat jest uwzględniony w konfiguracji sesji jako BidiGenerateContentSetup.sessionResumption. Jeśli serwer jest skonfigurowany, będzie wysyłać wiadomości SessionResumptionUpdate.
| Pola | |
|---|---|
handle |
Uchwyt poprzedniej sesji. Jeśli nie ma sesji, tworzona jest nowa. Uchwyty sesji pochodzą z wartości |
SessionResumptionUpdate
Aktualizacja stanu wznowienia sesji.
Wysyłany tylko wtedy, gdy ustawiono parametr BidiGenerateContentSetup.sessionResumption.
| Pola | |
|---|---|
newHandle |
Nowy uchwyt reprezentujący stan, który można wznowić. Puste, jeśli |
resumable |
Wartość „prawda”, jeśli bieżącą sesję można w tym momencie wznowić. W niektórych momentach sesji wznowienie jest niemożliwe. Na przykład podczas wykonywania wywołań funkcji lub generowania odpowiedzi. Wznowienie sesji (za pomocą poprzedniego tokena sesji) w takim stanie spowoduje utratę części danych. W takich przypadkach atrybut |
SlidingWindow
Metoda SlidingWindow polega na odrzucaniu treści na początku okna kontekstu. Wynikowy kontekst zawsze będzie się zaczynać od początku tury roli UŻYTKOWNIK. Instrukcje systemowe i wszelkie BidiGenerateContentSetup.prefixTurns zawsze będą znajdować się na początku wyniku.
| Pola | |
|---|---|
targetTokens |
Docelowa liczba tokenów do zachowania. Wartością domyślną jest trigger_tokens/2. Odrzucanie części okna kontekstu powoduje tymczasowe zwiększenie opóźnienia, dlatego tę wartość należy skalibrować, aby uniknąć częstych operacji kompresji. |
StartSensitivity
Określa sposób wykrywania początku wypowiedzi.
| Wartości w polu enum | |
|---|---|
START_SENSITIVITY_UNSPECIFIED |
Wartość domyślna to START_SENSITIVITY_HIGH. |
START_SENSITIVITY_HIGH |
Automatyczne wykrywanie będzie częściej wykrywać początek mowy. |
START_SENSITIVITY_LOW |
Automatyczne wykrywanie będzie rzadziej wykrywać początek mowy. |
TurnCoverage
Opcje dotyczące tego, które dane wejściowe są uwzględniane w turze użytkownika.
| Wartości w polu enum | |
|---|---|
TURN_COVERAGE_UNSPECIFIED |
Jeśli nie zostanie określony, domyślne działanie zostanie wybrane na podstawie modelu. Na przykład w przypadku Gemini 2.5 domyślna wartość to TURN_INCLUDES_ONLY_ACTIVITY, a w przypadku Gemini 3.1 i nowszych – TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO. |
TURN_INCLUDES_ONLY_ACTIVITY |
Obejmuje aktywność od ostatniej tury, z wyłączeniem braku aktywności (np. ciszy w strumieniu audio). |
TURN_INCLUDES_ALL_INPUT |
Obejmuje wszystkie dane wejściowe w czasie rzeczywistym od ostatniej tury, w tym brak aktywności (np. ciszę w strumieniu audio). |
TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO |
Obejmuje aktywność związaną z dźwiękiem i wszystkie filmy od ostatniej tury. W przypadku automatycznego wykrywania aktywności aktywność związana z dźwiękiem oznacza mowę i nie obejmuje ciszy. |
TranslationConfig
Konfiguracja funkcji tłumaczenia.
| Pola | |
|---|---|
targetLanguageCode |
Wymagane. Język docelowy tłumaczenia. Obsługiwane wartości to kody języka w formacie BCP-47 (np. „en”, „es”, „fr”). |
echoTargetLanguage |
Opcjonalnie. Jeśli wartość to „true”, model będzie generować dźwięk, gdy wypowiadany jest język docelowy, czyli będzie powtarzać dane wejściowe. Jeśli ma wartość false, nie będziemy generować dźwięku w języku docelowym. |
UrlContextMetadata
Metadane związane z narzędziem do pobierania kontekstu adresu URL.
| Pola | |
|---|---|
urlMetadata[] |
Lista kontekstów adresu URL. |
UsageMetadata
Metadane dotyczące użycia odpowiedzi.
| Pola | |
|---|---|
promptTokenCount |
Tylko dane wyjściowe. Liczba tokenów w prompcie. Gdy ustawiona jest wartość |
cachedContentTokenCount |
Liczba tokenów w części prompta zapisanej w pamięci podręcznej (treści w pamięci podręcznej). |
responseTokenCount |
Tylko dane wyjściowe. Łączna liczba tokenów we wszystkich wygenerowanych kandydatach na odpowiedź. |
toolUsePromptTokenCount |
Tylko dane wyjściowe. Liczba tokenów w promptach dotyczących korzystania z narzędzi. |
thoughtsTokenCount |
Tylko dane wyjściowe. Liczba tokenów myśli w przypadku modeli myślenia. |
totalTokenCount |
Tylko dane wyjściowe. Łączna liczba tokenów w żądaniu generowania (prompt + kandydaci na odpowiedź). |
promptTokensDetails[] |
Tylko dane wyjściowe. Lista rodzajów danych, które zostały przetworzone w danych wejściowych żądania. |
cacheTokensDetails[] |
Tylko dane wyjściowe. Lista rodzajów buforowanych treści w danych wejściowych żądania. |
responseTokensDetails[] |
Tylko dane wyjściowe. Lista rodzajów, które zostały zwrócone w odpowiedzi. |
toolUsePromptTokensDetails[] |
Tylko dane wyjściowe. Lista rodzajów danych, które zostały przetworzone na potrzeby danych wejściowych żądania użycia narzędzia. |
Krótkotrwałe tokeny uwierzytelniania
Krótkotrwałe tokeny uwierzytelniania można uzyskać, wywołując funkcję
AuthTokenService.CreateToken, a następnie używać ich z funkcją
GenerativeService.BidiGenerateContentConstrained, przekazując token
w parametrze zapytania access_token lub w nagłówku HTTP Authorization z prefiksem „Token”.
CreateAuthTokenRequest
Utwórz tymczasowy token uwierzytelniający.
| Pola | |
|---|---|
authToken |
Wymagane. Token do utworzenia. |
AuthToken
Żądanie utworzenia tymczasowego tokenu uwierzytelniania.
| Pola | |
|---|---|
name |
Tylko dane wyjściowe. Identyfikator. sam token. |
expireTime |
Opcjonalnie. Tylko dane wejściowe. Niezmienne. Opcjonalny czas, po którym wiadomości w sesjach BidiGenerateContent będą odrzucane, jeśli używany jest wynikowy token. (Gemini może przedwcześnie zamknąć sesję po tym czasie). Jeśli nie jest ustawiony, domyślnie jest to 30 minut w przyszłości. Nowa wartość musi być mniejsza niż 20 godzin. |
newSessionExpireTime |
Opcjonalnie. Tylko dane wejściowe. Niezmienne. Czas, po którym nowe sesje Live API korzystające z tokena wynikającego z tego żądania zostaną odrzucone. Jeśli nie zostanie ustawiony, domyślnie będzie wynosić 60 sekund. Nowa wartość musi być mniejsza niż 20 godzin. |
fieldMask |
Opcjonalnie. Tylko dane wejściowe. Niezmienne. Jeśli pole field_mask jest puste i nie ma parametru Jeśli pole field_mask jest puste, a w żądaniu występuje Jeśli pole field_mask nie jest puste, odpowiednie pola z |
Pole zbiorcze config. Konfiguracja konkretnej metody dla wynikowego tokena. config może mieć tylko jedną z tych wartości: |
|
bidiGenerateContentSetup |
Opcjonalnie. Tylko dane wejściowe. Niezmienne. Konfiguracja specyficzna dla |
uses |
Opcjonalnie. Tylko dane wejściowe. Niezmienne. Określa, ile razy można wykorzystać token. Jeśli ta wartość wynosi zero, nie jest stosowany żaden limit. Wznowienie sesji Live API nie jest traktowane jako użycie. Jeśli nie określisz tu żadnej wartości, zostanie użyte ustawienie domyślne 1. |
Więcej informacji o najczęstszych typach
Więcej informacji o najczęściej używanych typach zasobów interfejsu API Blob, Content, FunctionCall, FunctionResponse, GenerationConfig, GroundingMetadata, ModalityTokenCount i Tool znajdziesz w artykule Generowanie treści.