Zapisywanie kontekstu w pamięci podręcznej umożliwia zapisywanie i ponowne wykorzystywanie wstępnie obliczonych tokenów wejściowych, których chcesz używać wielokrotnie, na przykład podczas zadawania różnych pytań dotyczących tego samego pliku multimedialnego. W zależności od sposobu użycia może to przynieść oszczędności kosztów i czasu. Szczegółowe wprowadzenie znajdziesz w przewodniku Buforowanie kontekstu.
Metoda: cachedContents.create
Tworzy zasób CachedContent.
Punkt końcowy
posthttps: / /generativelanguage.googleapis.com /v1beta /cachedContents
Treść żądania
Treść żądania zawiera wystąpienie elementu CachedContent
.
contents[]
object (Content
)
Opcjonalnie. Tylko dane wejściowe. Niezmienne. Treść do umieszczenia w pamięci podręcznej.
tools[]
object (Tool
)
Opcjonalnie. Tylko dane wejściowe. Niezmienne. Lista Tools
, których model może użyć do wygenerowania następnej odpowiedzi.
expiration
Union type
expiration
może mieć tylko jedną z tych wartości:expireTime
string (Timestamp
format)
Sygnatura czasowa UTC wskazująca, kiedy zasób jest uznawany za nieaktualny. Jest zawsze podawana na wyjściu niezależnie od tego, co zostało wysłane na wejściu.
Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
lub "2014-10-02T15:01:23+05:30"
.
ttl
string (Duration
format)
Tylko dane wejściowe. Nowa wartość TTL dla tego zasobu (tylko dane wejściowe).
Czas trwania w sekundach z maksymalnie 9 miejscami po przecinku, zakończony znakiem „s
”. Przykład: "3.5s"
.
displayName
string
Opcjonalnie. Niezmienne. Wygenerowana przez użytkownika znacząca nazwa wyświetlana treści w pamięci podręcznej. Maksymalnie 128 znaków Unicode.
model
string
Wymagane. Niezmienne. Nazwa Model
, która ma być używana w przypadku treści w pamięci podręcznej. Format: models/{model}
systemInstruction
object (Content
)
Opcjonalnie. Tylko dane wejściowe. Niezmienne. Instrukcja systemowa ustawiona przez dewelopera. Obecnie tylko tekst.
toolConfig
object (ToolConfig
)
Opcjonalnie. Tylko dane wejściowe. Niezmienne. Konfiguracja narzędzia. Ta konfiguracja jest wspólna dla wszystkich narzędzi.
Przykładowe żądanie
Podstawowe
Python
Node.js
Przeczytaj
Muszla
Nazwa nadawcy
Python
Node.js
Przeczytaj
Z czatu
Python
Node.js
Przeczytaj
Treść odpowiedzi
Jeśli operacja się uda, treść odpowiedzi będzie zawierała nowo utworzoną instancję CachedContent
.
Metoda: cachedContents.list
Wyświetla listę CachedContents.
Punkt końcowy
gethttps: / /generativelanguage.googleapis.com /v1beta /cachedContents
Parametry zapytania
pageSize
integer
Opcjonalnie. Maksymalna liczba zwracanych treści z pamięci podręcznej. Usługa może zwrócić mniej niż ta wartość. Jeśli nie podasz tej wartości, zwrócimy domyślną (poniżej maksymalnej) liczbę produktów. Maksymalna wartość to 1000. Wartości powyżej 1000 zostaną przekształcone w 1000.
pageToken
string
Opcjonalnie. Token strony otrzymany z poprzedniego wywołania cachedContents.list
. Podaj ten token, aby pobrać kolejną stronę.
Podczas paginacji wszystkie inne parametry przekazane do funkcji cachedContents.list
muszą być zgodne z wywołaniem, które dostarczyło token strony.
Treść żądania
Treść żądania musi być pusta.
Treść odpowiedzi
Odpowiedź z listą CachedContents.
W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:
cachedContents[]
object (CachedContent
)
Lista treści w pamięci podręcznej.
nextPageToken
string
Token, który można wysłać jako pageToken
, aby pobrać następną stronę. Jeśli pominiesz to pole, nie będzie kolejnych stron.
Zapis JSON |
---|
{
"cachedContents": [
{
object ( |
Metoda: cachedContents.get
Odczytuje zasób CachedContent.
Punkt końcowy
gethttps: / /generativelanguage.googleapis.com /v1beta /{name=cachedContents /*}
Parametry ścieżki
name
string
Wymagane. Nazwa zasobu odnosząca się do wpisu w pamięci podręcznej treści. Format: cachedContents/{id}
. Przyjmuje postać cachedContents/{cachedcontent}
.
Treść żądania
Treść żądania musi być pusta.
Przykładowe żądanie
Python
Node.js
Przeczytaj
Muszla
Treść odpowiedzi
W przypadku powodzenia treść odpowiedzi obejmuje wystąpienie elementu CachedContent
.
Metoda: cachedContents.patch
Aktualizuje zasób CachedContent (można aktualizować tylko datę ważności).
Punkt końcowy
patchhttps: / /generativelanguage.googleapis.com /v1beta /{cachedContent.name=cachedContents /*}
PATCH https://generativelanguage.googleapis.com/v1beta/{cachedContent.name=cachedContents/*}
Parametry ścieżki
cachedContent.name
string
Tylko dane wyjściowe. Identyfikator. Nazwa zasobu odnosząca się do treści w pamięci podręcznej. Format: cachedContents/{id}
. Przyjmuje postać cachedContents/{cachedcontent}
.
Parametry zapytania
updateMask
string (FieldMask
format)
Lista pól do zaktualizowania.
Jest to lista w pełni kwalifikowanych nazw pól rozdzielonych przecinkami. Przykład: "user.displayName,photo"
.
Treść żądania
Treść żądania zawiera wystąpienie elementu CachedContent
.
expiration
Union type
expiration
może mieć tylko jedną z tych wartości:expireTime
string (Timestamp
format)
Sygnatura czasowa UTC wskazująca, kiedy zasób jest uznawany za nieaktualny. Jest zawsze podawana na wyjściu niezależnie od tego, co zostało wysłane na wejściu.
Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
lub "2014-10-02T15:01:23+05:30"
.
ttl
string (Duration
format)
Tylko dane wejściowe. Nowa wartość TTL dla tego zasobu (tylko dane wejściowe).
Czas trwania w sekundach z maksymalnie 9 miejscami po przecinku, zakończony znakiem „s
”. Przykład: "3.5s"
.
Przykładowe żądanie
Python
Node.js
Przeczytaj
Muszla
Treść odpowiedzi
W przypadku powodzenia treść odpowiedzi obejmuje wystąpienie elementu CachedContent
.
Metoda: cachedContents.delete
Usuwa zasób CachedContent.
Punkt końcowy
deletehttps: / /generativelanguage.googleapis.com /v1beta /{name=cachedContents /*}
Parametry ścieżki
name
string
Wymagane. Nazwa zasobu odnosząca się do wpisu w pamięci podręcznej treści. Format: cachedContents/{id}
. Przyjmuje postać cachedContents/{cachedcontent}
.
Treść żądania
Treść żądania musi być pusta.
Przykładowe żądanie
Python
Node.js
Przeczytaj
Muszla
Treść odpowiedzi
Jeśli operacja się uda, treść odpowiedzi będzie pustym obiektem JSON.
Zasób REST: cachedContents
- Zasób: CachedContent
- Treść
- Część
- Blob
- FunctionCall
- FunctionResponse
- Planowanie
- FileData
- ExecutableCode
- Język
- CodeExecutionResult
- Wynik
- VideoMetadata
- Narzędzie
- FunctionDeclaration
- Schemat
- Typ
- Zachowanie
- GoogleSearchRetrieval
- DynamicRetrievalConfig
- Tryb
- CodeExecution
- GoogleSearch
- Odstęp czasu
- UrlContext
- ToolConfig
- FunctionCallingConfig
- Tryb
- UsageMetadata
- Metody
Zasób: CachedContent
Treści, które zostały wstępnie przetworzone i mogą być używane w kolejnych żądaniach do GenerativeService.
Treści z pamięci podręcznej mogą być używane tylko z modelem, dla którego zostały utworzone.
contents[]
object (Content
)
Opcjonalnie. Tylko dane wejściowe. Niezmienne. Treść do umieszczenia w pamięci podręcznej.
tools[]
object (Tool
)
Opcjonalnie. Tylko dane wejściowe. Niezmienne. Lista Tools
, których model może użyć do wygenerowania następnej odpowiedzi.
createTime
string (Timestamp
format)
Tylko dane wyjściowe. Czas utworzenia wpisu w pamięci podręcznej.
Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
lub "2014-10-02T15:01:23+05:30"
.
updateTime
string (Timestamp
format)
Tylko dane wyjściowe. Czas ostatniej aktualizacji wpisu w pamięci podręcznej w formacie UTC.
Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
lub "2014-10-02T15:01:23+05:30"
.
usageMetadata
object (UsageMetadata
)
Tylko dane wyjściowe. Metadane dotyczące korzystania z treści w pamięci podręcznej.
expiration
Union type
expiration
może mieć tylko jedną z tych wartości:expireTime
string (Timestamp
format)
Sygnatura czasowa UTC wskazująca, kiedy zasób jest uznawany za nieaktualny. Jest zawsze podawana na wyjściu niezależnie od tego, co zostało wysłane na wejściu.
Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
lub "2014-10-02T15:01:23+05:30"
.
ttl
string (Duration
format)
Tylko dane wejściowe. Nowa wartość TTL dla tego zasobu (tylko dane wejściowe).
Czas trwania w sekundach z maksymalnie 9 miejscami po przecinku, zakończony znakiem „s
”. Przykład: "3.5s"
.
name
string
Tylko dane wyjściowe. Identyfikator. Nazwa zasobu odnosząca się do treści w pamięci podręcznej. Format: cachedContents/{id}
displayName
string
Opcjonalnie. Niezmienne. Wygenerowana przez użytkownika znacząca nazwa wyświetlana treści w pamięci podręcznej. Maksymalnie 128 znaków Unicode.
model
string
Wymagane. Niezmienne. Nazwa Model
, która ma być używana w przypadku treści w pamięci podręcznej. Format: models/{model}
systemInstruction
object (Content
)
Opcjonalnie. Tylko dane wejściowe. Niezmienne. Instrukcja systemowa ustawiona przez dewelopera. Obecnie tylko tekst.
toolConfig
object (ToolConfig
)
Opcjonalnie. Tylko dane wejściowe. Niezmienne. Konfiguracja narzędzia. Ta konfiguracja jest wspólna dla wszystkich narzędzi.
Zapis JSON |
---|
{ "contents": [ { object ( |
Treść
Podstawowy typ danych strukturalnych zawierający wieloczęściową treść wiadomości.
Content
zawiera pole role
, które określa producenta Content
, oraz pole parts
zawierające dane wieloczęściowe, które zawierają treść tury wiadomości.
parts[]
object (Part
)
uporządkowane Parts
, które stanowią jedną wiadomość. Poszczególne części mogą mieć różne typy MIME.
role
string
Opcjonalnie. Producent treści. Musi to być „user” lub „model”.
Przydatne w przypadku rozmów wieloetapowych. W innych przypadkach można pozostawić to pole puste lub nie ustawiać w nim żadnej wartości.
Zapis JSON |
---|
{
"parts": [
{
object ( |
Część
Typ danych zawierający multimedia, które są częścią wieloczęściowej wiadomości Content
.
Part
to dane powiązane z określonym typem danych. Part
może zawierać tylko jeden z akceptowanych typów w Part.data
.
Part
musi mieć stały typ MIME IANA identyfikujący typ i podtyp multimediów, jeśli pole inlineData
jest wypełnione surowymi bajtami.
thought
boolean
Opcjonalnie. Wskazuje, czy część została wygenerowana przez model.
thoughtSignature
string (bytes format)
Opcjonalnie. Nieprzezroczysty podpis myśli, który można ponownie wykorzystać w kolejnych żądaniach.
Ciąg tekstowy zakodowany w formacie Base64.
data
Union type
data
może mieć tylko jedną z tych wartości:text
string
Tekst wbudowany.
inlineData
object (Blob
)
Bajty multimediów w tekście.
functionCall
object (FunctionCall
)
Prognoza FunctionCall
zwrócona przez model, która zawiera ciąg znaków reprezentujący FunctionDeclaration.name
z argumentami i ich wartościami.
functionResponse
object (FunctionResponse
)
Wynik działania funkcji FunctionCall
, który zawiera ciąg znaków reprezentujący FunctionDeclaration.name
i uporządkowany obiekt JSON zawierający dane wyjściowe funkcji, jest używany jako kontekst dla modelu.
fileData
object (FileData
)
Dane oparte na identyfikatorze URI.
executableCode
object (ExecutableCode
)
Kod wygenerowany przez model, który ma zostać wykonany.
codeExecutionResult
object (CodeExecutionResult
)
Wynik wykonania funkcji ExecutableCode
.
metadata
Union type
metadata
może mieć tylko jedną z tych wartości:videoMetadata
object (VideoMetadata
)
Opcjonalnie. metadane filmu, Metadane należy podać tylko wtedy, gdy dane wideo są prezentowane w polu inlineData lub fileData.
Zapis JSON |
---|
{ "thought": boolean, "thoughtSignature": string, // data "text": string, "inlineData": { object ( |
Blob
Nieprzetworzone bajty multimediów.
Tekstu nie należy wysyłać jako surowych bajtów. Użyj pola „text”.
mimeType
string
Standardowy typ MIME IANA danych źródłowych. Przykłady: - image/png - image/jpeg Jeśli podano nieobsługiwany typ MIME, zwracany jest błąd. Pełną listę obsługiwanych typów znajdziesz w artykule Obsługiwane formaty plików.
data
string (bytes format)
Nieprzetworzone bajty w przypadku formatów multimedialnych.
Ciąg tekstowy zakodowany w formacie Base64.
Zapis JSON |
---|
{ "mimeType": string, "data": string } |
FunctionCall
Prognoza FunctionCall
zwrócona przez model, która zawiera ciąg znaków reprezentujący FunctionDeclaration.name
z argumentami i ich wartościami.
id
string
Opcjonalnie. Unikalny identyfikator wywołania funkcji. Jeśli to pole jest wypełnione, klient musi wykonać functionCall
i zwrócić odpowiedź z pasującym id
.
name
string
Wymagane. Nazwa funkcji do wywołania. Musi zawierać litery a–z, A–Z, cyfry 0–9 lub podkreślenia i łączniki. Maksymalna długość to 63 znaki.
args
object (Struct
format)
Opcjonalnie. Parametry i wartości funkcji w formacie obiektu JSON.
Zapis JSON |
---|
{ "id": string, "name": string, "args": { object } } |
FunctionResponse
Wynik działania funkcji FunctionCall
, który zawiera ciąg znaków reprezentujący FunctionDeclaration.name
i uporządkowany obiekt JSON zawierający dane wyjściowe funkcji, jest używany jako kontekst dla modelu. Powinien zawierać wynik FunctionCall
na podstawie prognozy modelu.
id
string
Opcjonalnie. Identyfikator wywołania funkcji, którego dotyczy ta odpowiedź. Wypełniane przez klienta w celu dopasowania do odpowiedniego wywołania funkcji id
.
name
string
Wymagane. Nazwa funkcji do wywołania. Musi zawierać litery a–z, A–Z, cyfry 0–9 lub podkreślenia i łączniki. Maksymalna długość to 63 znaki.
response
object (Struct
format)
Wymagane. Odpowiedź funkcji w formacie obiektu JSON.
willContinue
boolean
Opcjonalnie. Sygnalizuje, że wywołanie funkcji jest kontynuowane i zostaną zwrócone kolejne odpowiedzi, co spowoduje przekształcenie wywołania funkcji w generator. Dotyczy tylko wywołań funkcji NON_BLOCKING, w innych przypadkach jest ignorowana. Jeśli ma wartość Fałsz, przyszłe odpowiedzi nie będą brane pod uwagę. Można zwrócić pusty obiekt response
z wartością willContinue=False
, aby zasygnalizować zakończenie wywołania funkcji. Może to nadal powodować generowanie modelu. Aby uniknąć wywołania generowania i zakończyć wywołanie funkcji, ustaw dodatkowo scheduling
na SILENT
.
scheduling
enum (Scheduling
)
Opcjonalnie. Określa, jak odpowiedź powinna być zaplanowana w rozmowie. Dotyczy tylko wywołań funkcji NON_BLOCKING. W innych przypadkach jest ignorowana. Domyślna wartość to WHEN_IDLE.
Zapis JSON |
---|
{
"id": string,
"name": string,
"response": {
object
},
"willContinue": boolean,
"scheduling": enum ( |
Harmonogram
Określa, jak odpowiedź powinna być zaplanowana w rozmowie.
Wartości w polu enum | |
---|---|
SCHEDULING_UNSPECIFIED |
Ta wartość nie jest używana. |
SILENT |
Dodaj wynik tylko do kontekstu rozmowy. Nie przerywaj ani nie wywołuj generowania. |
WHEN_IDLE |
Dodaj wynik do kontekstu rozmowy i poproś o wygenerowanie danych wyjściowych bez przerywania bieżącego generowania. |
INTERRUPT |
Dodaj wynik do kontekstu rozmowy, przerwij bieżące generowanie i poproś o wygenerowanie danych wyjściowych. |
FileData
Dane oparte na identyfikatorze URI.
mimeType
string
Opcjonalnie. Standardowy typ MIME IANA danych źródłowych.
fileUri
string
Wymagane. URI.
Zapis JSON |
---|
{ "mimeType": string, "fileUri": string } |
ExecutableCode
Kod wygenerowany przez model, który ma zostać wykonany, a wynik zwrócony do modelu.
Generowany tylko podczas korzystania z narzędzia CodeExecution
, w którym kod jest wykonywany automatycznie, a także generowany jest odpowiedni CodeExecutionResult
.
language
enum (Language
)
Wymagane. Język programowania code
.
code
string
Wymagane. Kod do wykonania.
Zapis JSON |
---|
{
"language": enum ( |
Język
Obsługiwane języki programowania dla wygenerowanego kodu.
Wartości w polu enum | |
---|---|
LANGUAGE_UNSPECIFIED |
Nieokreślony język. Nie należy używać tej wartości. |
PYTHON |
Python >= 3.10 z dostępnymi bibliotekami numpy i simpy. |
CodeExecutionResult
Wynik wykonania funkcji ExecutableCode
.
Generowany tylko wtedy, gdy używasz CodeExecution
, i zawsze występuje po part
zawierającym ExecutableCode
.
outcome
enum (Outcome
)
Wymagane. Wynik wykonania kodu.
output
string
Opcjonalnie. Zawiera stdout, gdy wykonanie kodu zakończy się powodzeniem, a w innych przypadkach stderr lub inny opis.
Zapis JSON |
---|
{
"outcome": enum ( |
Wynik
Wyliczenie możliwych wyników wykonania kodu.
Wartości w polu enum | |
---|---|
OUTCOME_UNSPECIFIED |
Stan nieokreślony. Nie należy używać tej wartości. |
OUTCOME_OK |
Kod został wykonany. |
OUTCOME_FAILED |
Wykonanie kodu zostało zakończone, ale nie powiodło się. stderr powinien zawierać powód. |
OUTCOME_DEADLINE_EXCEEDED |
Wykonywanie kodu trwało zbyt długo i zostało anulowane. Może być dostępny częściowy wynik. |
VideoMetadata
Metadane opisują wejściowe treści wideo.
startOffset
string (Duration
format)
Opcjonalnie. Przesunięcie początku filmu.
Czas trwania w sekundach z maksymalnie 9 miejscami po przecinku, zakończony znakiem „s
”. Przykład: "3.5s"
.
endOffset
string (Duration
format)
Opcjonalnie. Przesunięcie końca filmu.
Czas trwania w sekundach z maksymalnie 9 miejscami po przecinku, zakończony znakiem „s
”. Przykład: "3.5s"
.
fps
number
Opcjonalnie. Liczba klatek na sekundę filmu przesłanego do modelu. Jeśli nie podasz żadnej opcji, domyślna wartość to 1.0. Zakres klatek na sekundę to (0,0, 24,0].
Zapis JSON |
---|
{ "startOffset": string, "endOffset": string, "fps": number } |
Narzędzie
Szczegóły narzędzia, których model może użyć do wygenerowania odpowiedzi.
Tool
to fragment kodu, który umożliwia systemowi interakcję z systemami zewnętrznymi w celu wykonania działania lub zestawu działań, które wykraczają poza wiedzę i zakres modelu.
functionDeclarations[]
object (FunctionDeclaration
)
Opcjonalnie. Lista FunctionDeclarations
dostępnych dla modelu, których można używać do wywoływania funkcji.
Model lub system nie wykonuje funkcji. Zamiast tego zdefiniowana funkcja może być zwracana jako FunctionCall
z argumentami po stronie klienta do wykonania. Model może zdecydować się na wywołanie podzbioru tych funkcji, wypełniając FunctionCall
w odpowiedzi. Kolejna tura rozmowy może zawierać FunctionResponse
z kontekstem generowania Content.role
„function” dla kolejnej tury modelu.
googleSearchRetrieval
object (GoogleSearchRetrieval
)
Opcjonalnie. Narzędzie do wyszukiwania obsługiwane przez wyszukiwarkę Google.
codeExecution
object (CodeExecution
)
Opcjonalnie. Umożliwia modelowi wykonywanie kodu w ramach generowania.
googleSearch
object (GoogleSearch
)
Opcjonalnie. Typ narzędzia GoogleSearch. Narzędzie do obsługi wyszukiwarki Google w Modelu. Technologia Google.
urlContext
object (UrlContext
)
Opcjonalnie. Narzędzie do pobierania kontekstu adresu URL.
Zapis JSON |
---|
{ "functionDeclarations": [ { object ( |
FunctionDeclaration
Ustrukturyzowana reprezentacja deklaracji funkcji zgodnie ze specyfikacją OpenAPI 3.03. Deklaracja zawiera nazwę funkcji i parametry. FunctionDeclaration to reprezentacja bloku kodu, który może być używany przez model jako Tool
i wykonywany przez klienta.
name
string
Wymagane. Nazwa funkcji. Musi zawierać litery a–z, A–Z, cyfry 0–9 lub podkreślenia i łączniki. Maksymalna długość to 63 znaki.
description
string
Wymagane. Krótki opis funkcji.
behavior
enum (Behavior
)
Opcjonalnie. Określa zachowanie funkcji. Obecnie obsługiwane tylko przez metodę BidiGenerateContent.
parameters
object (Schema
)
Opcjonalnie. Opisuje parametry tej funkcji. Odpowiada kluczowi ciągu obiektu parametru Open API 3.03: nazwie parametru. W nazwach parametrów jest rozróżniana wielkość liter. Wartość schematu: schemat definiujący typ używany w przypadku parametru.
parametersJsonSchema
value (Value
format)
Opcjonalnie. Opisuje parametry funkcji w formacie schematu JSON. Schemat musi opisywać obiekt, którego właściwości są parametrami funkcji. Na przykład:
{
"type": "object",
"properties": {
"name": { "type": "string" },
"age": { "type": "integer" }
},
"additionalProperties": false,
"required": ["name", "age"],
"propertyOrdering": ["name", "age"]
}
To pole wyklucza się z polem parameters
.
response
object (Schema
)
Opcjonalnie. Opisuje dane wyjściowe tej funkcji w formacie schematu JSON. Odpowiada obiektowi odpowiedzi Open API 3.03. Schemat określa typ używany w wartości odpowiedzi funkcji.
responseJsonSchema
value (Value
format)
Opcjonalnie. Opisuje dane wyjściowe tej funkcji w formacie schematu JSON. Wartość określona przez schemat jest wartością odpowiedzi funkcji.
To pole wyklucza się z polem response
.
Schemat
Obiekt Schema
umożliwia definiowanie typów danych wejściowych i wyjściowych. Mogą to być obiekty, ale też typy proste i tablice. Reprezentuje wybrany podzbiór obiektu schematu OpenAPI 3.0.
type
enum (Type
)
Wymagane. Typ danych.
format
string
Opcjonalnie. Format danych. Jest to używane tylko w przypadku typów danych pierwotnych. Obsługiwane formaty: w przypadku typu NUMBER: float, double; w przypadku typu INTEGER: int32, int64; w przypadku typu STRING: enum, date-time.
title
string
Opcjonalnie. Tytuł schematu.
description
string
Opcjonalnie. Krótki opis parametru. Może to zawierać przykłady użycia. Opis parametru może być sformatowany w Markdown.
nullable
boolean
Opcjonalnie. Wskazuje, czy wartość może być pusta.
enum[]
string
Opcjonalnie. Możliwe wartości elementu Type.STRING w formacie wyliczeniowym. Możemy na przykład zdefiniować wyliczenie Direction w ten sposób : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]}
maxItems
string (int64 format)
Opcjonalnie. Maksymalna liczba elementów w przypadku Type.ARRAY.
minItems
string (int64 format)
Opcjonalnie. Minimalna liczba elementów w przypadku Type.ARRAY.
properties
map (key: string, value: object (Schema
))
Opcjonalnie. Właściwości Type.OBJECT.
Obiekt zawierający listę par "key": value
. Przykład: { "name": "wrench", "mass": "1.3kg", "count": "3" }
.
required[]
string
Opcjonalnie. Wymagane właściwości Type.OBJECT.
minProperties
string (int64 format)
Opcjonalnie. Minimalna liczba właściwości dla Type.OBJECT.
maxProperties
string (int64 format)
Opcjonalnie. Maksymalna liczba właściwości dla Type.OBJECT.
minLength
string (int64 format)
Opcjonalnie. POLA SCHEMATU DLA TYPU STRING Minimalna długość typu Type.STRING
maxLength
string (int64 format)
Opcjonalnie. Maksymalna długość Type.STRING
pattern
string
Opcjonalnie. Wzorzec typu STRING, który ogranicza ciąg znaków do wyrażenia regularnego.
example
value (Value
format)
Opcjonalnie. Przykład obiektu. Wypełniane tylko wtedy, gdy obiekt jest elementem głównym.
anyOf[]
object (Schema
)
Opcjonalnie. Wartość powinna być weryfikowana na podstawie dowolnego (co najmniej jednego) podschematu na liście.
propertyOrdering[]
string
Opcjonalnie. Kolejność właściwości. Nie jest to standardowe pole w specyfikacji otwartego interfejsu API. Służy do określania kolejności właściwości w odpowiedzi.
default
value (Value
format)
Opcjonalnie. Wartość domyślna pola. Zgodnie ze schematem JSON to pole jest przeznaczone dla generatorów dokumentacji i nie wpływa na weryfikację. Dlatego jest on tu uwzględniony i ignorowany, aby deweloperzy wysyłający schematy z polem default
nie otrzymywali błędów związanych z nieznanym polem.
items
object (Schema
)
Opcjonalnie. Schemat elementów typu Type.ARRAY.
minimum
number
Opcjonalnie. POLA SCHEMATU DLA TYPÓW INTEGER I NUMBER Minimalna wartość typów Type.INTEGER i Type.NUMBER
maximum
number
Opcjonalnie. Maksymalna wartość Type.INTEGER i Type.NUMBER
Zapis JSON |
---|
{ "type": enum ( |
Typ
Typ zawiera listę typów danych OpenAPI zdefiniowanych na stronie https://spec.openapis.org/oas/v3.0.3#data-types.
Wartości w polu enum | |
---|---|
TYPE_UNSPECIFIED |
Nie określono, nie należy używać. |
STRING |
Typ ciągu znaków. |
NUMBER |
Typ numeru. |
INTEGER |
Typ liczby całkowitej. |
BOOLEAN |
Typ logiczny. |
ARRAY |
Typ tablicy. |
OBJECT |
Typ obiektu. |
NULL |
Typ null. |
Zachowanie
Określa zachowanie funkcji. Domyślna wartość to BLOCKING
.
Wartości w polu enum | |
---|---|
UNSPECIFIED |
Ta wartość nie jest używana. |
BLOCKING |
Jeśli ta opcja jest włączona, system będzie czekać na odpowiedź funkcji przed kontynuowaniem rozmowy. |
NON_BLOCKING |
Jeśli ta opcja jest ustawiona, system nie będzie czekać na odpowiedź funkcji. Zamiast tego będzie próbować obsługiwać odpowiedzi funkcji, gdy staną się dostępne, przy jednoczesnym utrzymaniu rozmowy między użytkownikiem a modelem. |
GoogleSearchRetrieval
Narzędzie do pobierania publicznych danych z internetu na potrzeby ugruntowania, obsługiwane przez Google.
dynamicRetrievalConfig
object (DynamicRetrievalConfig
)
Określa konfigurację dynamicznego pobierania dla danego źródła.
Zapis JSON |
---|
{
"dynamicRetrievalConfig": {
object ( |
DynamicRetrievalConfig
Opisuje opcje dostosowywania dynamicznego pobierania.
mode
enum (Mode
)
Tryb predyktora, który ma być używany w dynamicznym pobieraniu.
dynamicThreshold
number
Próg, który ma być używany w dynamicznym pobieraniu. Jeśli nie zostanie ustawiona, używana jest domyślna wartość systemowa.
Zapis JSON |
---|
{
"mode": enum ( |
Tryb
Tryb predyktora, który ma być używany w dynamicznym pobieraniu.
Wartości w polu enum | |
---|---|
MODE_UNSPECIFIED |
Zawsze wywołuj pobieranie. |
MODE_DYNAMIC |
Pobieranie jest uruchamiane tylko wtedy, gdy system uzna to za konieczne. |
CodeExecution
Ten typ nie ma pól.
Narzędzie, które wykonuje kod wygenerowany przez model i automatycznie zwraca wynik do modelu.
Zobacz też ExecutableCode
i CodeExecutionResult
, które są generowane tylko podczas korzystania z tego narzędzia.
GoogleSearch
Typ narzędzia GoogleSearch. Narzędzie do obsługi wyszukiwarki Google w Modelu. Technologia Google.
timeRangeFilter
object (Interval
)
Opcjonalnie. Filtrowanie wyników wyszukiwania według określonego zakresu czasowego. Jeśli klienci ustawią godzinę rozpoczęcia, muszą też ustawić godzinę zakończenia (i odwrotnie).
Zapis JSON |
---|
{
"timeRangeFilter": {
object ( |
Interwał
Reprezentuje przedział czasu zakodowany jako sygnatura czasowa rozpoczęcia (włącznie) i sygnatura czasowa zakończenia (wyłącznie).
Wartość początkowa musi być mniejsza lub równa wartości końcowej. Gdy czas rozpoczęcia jest równy czasowi zakończenia, przedział czasu jest pusty (nie pasuje do żadnego czasu). Jeśli nie podasz ani początku, ani końca, przedział będzie pasować do dowolnego czasu.
startTime
string (Timestamp
format)
Opcjonalnie. Początek przedziału czasu (włącznie).
Jeśli została określona, sygnatura czasowa pasująca do tego przedziału musi być taka sama jak data rozpoczęcia lub późniejsza.
Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
lub "2014-10-02T15:01:23+05:30"
.
endTime
string (Timestamp
format)
Opcjonalnie. Koniec przedziału (wyłącznie).
Jeśli jest określony, sygnatura czasowa pasująca do tego przedziału musi być wcześniejsza niż czas zakończenia.
Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
lub "2014-10-02T15:01:23+05:30"
.
Zapis JSON |
---|
{ "startTime": string, "endTime": string } |
UrlContext
Ten typ nie ma pól.
Narzędzie do pobierania kontekstu adresu URL.
ToolConfig
Konfiguracja narzędzia zawierająca parametry określające użycie Tool
w żądaniu.
functionCallingConfig
object (FunctionCallingConfig
)
Opcjonalnie. Konfiguracja wywoływania funkcji.
Zapis JSON |
---|
{
"functionCallingConfig": {
object ( |
FunctionCallingConfig
Konfiguracja określająca działanie wywoływania funkcji.
mode
enum (Mode
)
Opcjonalnie. Określa tryb, w którym ma być wykonywane wywoływanie funkcji. Jeśli nie zostanie określona, wartością domyślną będzie AUTO.
allowedFunctionNames[]
string
Opcjonalnie. Zbiór nazw funkcji, które po podaniu ograniczają funkcje, które model będzie wywoływać.
To pole należy ustawić tylko wtedy, gdy tryb to ANY. Nazwy funkcji powinny być zgodne z [FunctionDeclaration.name]. Gdy tryb jest ustawiony na ANY, model przewiduje wywołanie funkcji z podanego zbioru nazw funkcji.
Zapis JSON |
---|
{
"mode": enum ( |
Tryb
Określa zachowanie wykonywania wywołań funkcji przez zdefiniowanie trybu wykonywania.
Wartości w polu enum | |
---|---|
MODE_UNSPECIFIED |
Nieokreślony tryb wywoływania funkcji. Nie należy używać tej wartości. |
AUTO |
Domyślne działanie modelu: model decyduje, czy przewidzieć wywołanie funkcji, czy odpowiedź w języku naturalnym. |
ANY |
Model jest ograniczony do przewidywania tylko wywołań funkcji. Jeśli ustawiono parametr „allowedFunctionNames”, przewidywane wywołanie funkcji będzie ograniczone do dowolnej z funkcji „allowedFunctionNames”. W przeciwnym razie przewidywane wywołanie funkcji będzie dowolną z funkcji „functionDeclarations”. |
NONE |
Model nie będzie przewidywać żadnego wywołania funkcji. Działanie modelu jest takie samo jak w przypadku, gdy nie przekazujesz żadnych deklaracji funkcji. |
VALIDATED |
Model decyduje, czy przewidzieć wywołanie funkcji, czy odpowiedź w języku naturalnym, ale będzie weryfikować wywołania funkcji za pomocą dekodowania z ograniczeniami. |
UsageMetadata
Metadane dotyczące korzystania z treści w pamięci podręcznej.
totalTokenCount
integer
Łączna liczba tokenów, które zużywają treści w pamięci podręcznej.
Zapis JSON |
---|
{ "totalTokenCount": integer } |