Кэширование контекста позволяет сохранять и повторно использовать предварительно вычисленные входные токены, которые вы хотите применять многократно, например, при задании разных вопросов об одном и том же медиафайле. В зависимости от контекста это может привести к экономии средств и ускорению работы. Подробное описание см. в руководстве по кэшированию контекста .
Метод: cachedContents.create
Создаёт ресурс CachedContent.
Конечная точка
posthttps: / /generativelanguage.googleapis.com /v1beta /cachedContentsТекст запроса
Тело запроса содержит экземпляр класса CachedContent .
contents[] object ( Content )Необязательный параметр. Только для ввода. Неизменяемый. Содержимое для кэширования.
tools[] object ( Tool ) Необязательный параметр. Только для ввода. Неизменяемый. Список Tools модель может использовать для генерации следующего ответа.
expiration Union typeexpiration может быть только одним из следующих: expireTime string ( Timestamp format)Временная метка в формате UTC, указывающая на момент истечения срока действия данного ресурса. Она всегда отображается на выходе, независимо от того, что было отправлено на входе.
Используется RFC 3339, согласно которому генерируемый вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .
ttl string ( Duration format)Только для ввода. Новое значение TTL для этого ресурса, только для ввода.
Длительность в секундах, содержащая до девяти знаков после запятой, заканчивающаяся на « s ». Пример: "3.5s" .
displayName stringНеобязательно. Неизменяемо. Созданное пользователем осмысленное отображаемое имя кэшированного контента. Максимум 128 символов Unicode.
string model Обязательный параметр. Неизменяемый. Название Model , используемой для кэшированного контента. Формат: models/{model}
systemInstruction object ( Content )Необязательно. Только для ввода. Неизменяемо. Системная инструкция, заданная разработчиком. В настоящее время только текст.
toolConfig object ( ToolConfig )Необязательно. Только для ввода. Неизменяемо. Конфигурация инструмента. Эта конфигурация является общей для всех инструментов.
Пример запроса
Базовый
Python
Node.js
Идти
Оболочка
По имени
Python
Node.js
Идти
Из чата
Python
Node.js
Идти
Ответный текст
В случае успеха тело ответа будет содержать вновь созданный экземпляр CachedContent .
Метод: cachedContents.list
Отображает список кэшированного содержимого.
Конечная точка
получитьhttps: / /generativelanguage.googleapis.com /v1beta /cachedContentsПараметры запроса
pageSize integerНеобязательный параметр. Максимальное количество кэшированных элементов для возврата. Сервис может вернуть меньше этого значения. Если параметр не указан, будет возвращено некоторое количество элементов по умолчанию (в пределах максимального значения). Максимальное значение — 1000; значения выше 1000 будут преобразованы в 1000.
string pageToken Необязательный параметр. Токен страницы, полученный из предыдущего вызова cachedContents.list . Укажите его, чтобы получить следующую страницу.
При использовании постраничной навигации все остальные параметры, передаваемые в cachedContents.list , должны соответствовать вызову, который предоставил токен страницы.
Текст запроса
Тело запроса должно быть пустым.
Ответный текст
Ответ со списком кэшированного содержимого.
В случае успеха тело ответа содержит данные следующей структуры:
cachedContents[] object ( CachedContent )Список кэшированного содержимого.
string nextPageToken Токен, который можно отправить в качестве pageToken для получения следующей страницы. Если это поле опущено, последующих страниц не будет.
| JSON-представление |
|---|
{
"cachedContents": [
{
object ( |
Метод: cachedContents.get
Считывает ресурс CachedContent.
Конечная точка
получитьhttps: / /generativelanguage.googleapis.com /v1beta /{name=cachedContents /*}Параметры пути
string name Обязательно. Имя ресурса, ссылающегося на запись в кэше контента. Формат: cachedContents/{id} Имеет вид cachedContents/{cachedcontent} .
Текст запроса
Тело запроса должно быть пустым.
Пример запроса
Python
Node.js
Идти
Оболочка
Ответный текст
В случае успеха тело ответа будет содержать экземпляр CachedContent .
Метод: cachedContents.patch
Обновляет ресурс CachedContent (обновляется только значение expiration).
Конечная точка
патчhttps: / /generativelanguage.googleapis.com /v1beta /{cachedContent.name=cachedContents /*}PATCH https://generativelanguage.googleapis.com/v1beta/{cachedContent.name=cachedContents/*} Параметры пути
cachedContent.name string Только вывод. Идентификатор. Имя ресурса, ссылающегося на кэшированное содержимое. Формат: cachedContents/{id} Имеет вид cachedContents/{cachedcontent} .
Параметры запроса
updateMask string ( FieldMask format)Список полей для обновления.
Это список полных имен полей, разделенных запятыми. Пример: "user.displayName,photo" .
Текст запроса
Тело запроса содержит экземпляр класса CachedContent .
expiration Union typeexpiration может быть только одним из следующих: expireTime string ( Timestamp format)Временная метка в формате UTC, указывающая на момент истечения срока действия данного ресурса. Она всегда отображается на выходе, независимо от того, что было отправлено на входе.
Используется RFC 3339, согласно которому генерируемый вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .
ttl string ( Duration format)Только для ввода. Новое значение TTL для этого ресурса, только для ввода.
Длительность в секундах, содержащая до девяти знаков после запятой, заканчивающаяся на « s ». Пример: "3.5s" .
Пример запроса
Python
Node.js
Идти
Оболочка
Ответный текст
В случае успеха тело ответа будет содержать экземпляр CachedContent .
Метод: cachedContents.delete
Удаляет ресурс CachedContent.
Конечная точка
удалитьhttps: / /generativelanguage.googleapis.com /v1beta /{name=cachedContents /*}Параметры пути
string name Обязательно. Имя ресурса, ссылающегося на запись в кэше контента. Формат: cachedContents/{id} Имеет вид cachedContents/{cachedcontent} .
Текст запроса
Тело запроса должно быть пустым.
Пример запроса
Python
Node.js
Идти
Оболочка
Ответный текст
В случае успеха тело ответа будет представлять собой пустой JSON-объект.
REST-ресурс: cachedContents
- Ресурс: CachedContent
- Содержание
- Часть
- Клякса
- Вызов функции
- ФункцияОтвет
- FunctionResponsePart
- FunctionResponseBlob
- Планирование
- FileData
- Исполняемый код
- Язык
- Результат выполнения кода
- Исход
- Вызов инструмента
- Тип инструмента
- ToolResponse
- Видеометаданные
- MediaResolution
- Уровень
- Инструмент
- Объявление функции
- Схема
- Тип
- Поведение
- GoogleПоискПолучение
- DynamicRetrievalConfig
- Режим
- Выполнение кода
- GoogleПоиск
- Интервал
- SearchTypes
- Веб-поиск
- Поиск изображений
- Использование компьютера
- Среда
- UrlContext
- Поиск файлов
- McpServer
- StreamableHttpTransport
- Google Карты
- ToolConfig
- FunctionCallingConfig
- Режим
- RetrievalConfig
- LatLng
- UsageMetadata
- Методы
Ресурс: CachedContent
Контент, прошедший предварительную обработку и пригодный для использования в последующих запросах к GenerativeService.
Кэшированное содержимое можно использовать только с той моделью, для которой оно было создано.
contents[] object ( Content )Необязательный параметр. Только для ввода. Неизменяемый. Содержимое для кэширования.
tools[] object ( Tool ) Необязательный параметр. Только для ввода. Неизменяемый. Список Tools модель может использовать для генерации следующего ответа.
createTime string ( Timestamp format)Только вывод. Время создания записи в кэше.
Используется RFC 3339, согласно которому генерируемый вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .
updateTime string ( Timestamp format)Только вывод. Время последнего обновления записи в кэше по времени UTC.
Используется RFC 3339, согласно которому генерируемый вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .
usageMetadata object ( UsageMetadata )Только вывод. Метаданные об использовании кэшированного контента.
expiration Union typeexpiration может быть только одним из следующих: expireTime string ( Timestamp format)Временная метка в формате UTC, указывающая на момент истечения срока действия данного ресурса. Она всегда отображается на выходе, независимо от того, что было отправлено на входе.
Используется RFC 3339, согласно которому генерируемый вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .
ttl string ( Duration format)Только для ввода. Новое значение TTL для этого ресурса, только для ввода.
Длительность в секундах, содержащая до девяти знаков после запятой, заканчивающаяся на « s ». Пример: "3.5s" .
string name Только вывод. Идентификатор. Имя ресурса, ссылающегося на кэшированное содержимое. Формат: cachedContents/{id}
displayName stringНеобязательно. Неизменяемо. Созданное пользователем осмысленное отображаемое имя кэшированного контента. Максимум 128 символов Unicode.
string model Обязательный параметр. Неизменяемый. Название Model , используемой для кэшированного контента. Формат: models/{model}
systemInstruction object ( Content )Необязательно. Только для ввода. Неизменяемо. Системная инструкция, заданная разработчиком. В настоящее время только текст.
toolConfig object ( ToolConfig )Необязательно. Только для ввода. Неизменяемо. Конфигурация инструмента. Эта конфигурация является общей для всех инструментов.
| JSON-представление |
|---|
{ "contents": [ { object ( |
Содержание
Базовый структурированный тип данных, содержащий составное содержимое сообщения.
Объект Content включает поле role , указывающее на создателя Content , и поле « parts , содержащее многокомпонентные данные, включающие содержимое оборота сообщения.
parts[] object ( Part ) Упорядоченные Parts , составляющие единое сообщение. Части могут иметь разные MIME-типы.
string roleНеобязательно. Автор контента. Должен быть либо «пользователь», либо «модель».
Этот параметр полезен для многоэтапных диалогов, в противном случае его можно оставить пустым или не задавать.
| JSON-представление |
|---|
{
"parts": [
{
object ( |
Часть
Тип данных, содержащий медиафайлы, являющиеся частью многокомпонентного сообщения Content .
Part состоит из данных, имеющих связанный с ними тип данных. Part может содержать только один из допустимых типов в Part.data .
Если поле inlineData заполнено необработанными байтами, то для Part должен быть указан фиксированный MIME-тип IANA, определяющий тип и подтип носителя.
boolean thoughtНеобязательный параметр. Указывает, была ли деталь разработана на основе модели.
thoughtSignature string ( bytes format)Необязательно. Непрозрачная подпись для мысли, чтобы ее можно было использовать в последующих запросах.
Строка, закодированная в формате Base64.
partMetadata object ( Struct format)Пользовательские метаданные, связанные с частью. Агентам, использующим genai.Part в качестве представления контента, может потребоваться отслеживать дополнительную информацию. Например, это может быть имя файла/источника, из которого происходит часть, или способ мультиплексирования нескольких потоков частей.
mediaResolution object ( MediaResolution )Необязательно. Разрешение входного медиафайла.
Union type datadata могут быть только одного из следующих типов:text stringВстроенный текст.
inlineData object ( Blob )Встроенные медиабайты.
functionCall object ( FunctionCall ) Модель возвращает прогнозируемый FunctionCall , содержащий строку, представляющую FunctionDeclaration.name , а также аргументы и их значения.
functionResponse object ( FunctionResponse ) Результат вызова FunctionCall , содержащий строку, представляющую FunctionDeclaration.name , и структурированный JSON-объект, содержащий любой вывод функции, используется в качестве контекста для модели.
fileData object ( FileData )Данные на основе URI.
executableCode object ( ExecutableCode )Код, сгенерированный моделью, предназначен для выполнения.
codeExecutionResult object ( CodeExecutionResult ) Результат выполнения ExecutableCode кода.
toolCall object ( ToolCall )Вызов инструмента на стороне сервера. Это поле заполняется, когда модель предсказывает вызов инструмента, который должен быть выполнен на сервере. Ожидается, что клиент отправит это сообщение обратно в API.
toolResponse object ( ToolResponse ) Результат выполнения ToolCall на стороне сервера. Это поле заполняется клиентом результатами выполнения соответствующего ToolCall .
metadata Union typemetadata могут быть только одним из следующих типов:videoMetadata object ( VideoMetadata )Необязательно. Метаданные видео. Метаданные следует указывать только в том случае, если видеоданные представлены в формате inlineData или fileData.
| JSON-представление |
|---|
{ "thought": boolean, "thoughtSignature": string, "partMetadata": { object }, "mediaResolution": { object ( |
Клякса
Необработанные медиабайты.
Текст не следует отправлять в виде необработанных байтов, используйте поле 'text'.
mimeType stringСтандартный MIME-тип IANA исходных данных. Примеры: - image/png - image/jpeg. Если указан неподдерживаемый MIME-тип, будет возвращена ошибка. Полный список поддерживаемых типов см. в разделе «Поддерживаемые форматы файлов» .
data string ( bytes format)Необработанные байты для медиаформатов.
Строка, закодированная в формате Base64.
| JSON-представление |
|---|
{ "mimeType": string, "data": string } |
Вызов функции
Модель возвращает прогнозируемый FunctionCall , содержащий строку, представляющую FunctionDeclaration.name , а также аргументы и их значения.
string id Необязательный параметр. Уникальный идентификатор вызова функции. Если он заполнен, указывается клиент, которому следует выполнить functionCall и вернуть ответ с соответствующим id .
string nameОбязательно. Имя вызываемой функции. Должно быть az, AZ, 0-9 или содержать подчеркивания и дефисы, максимальная длина — 128 символов.
args object ( Struct format)Необязательно. Параметры и значения функции в формате JSON-объекта.
| JSON-представление |
|---|
{ "id": string, "name": string, "args": { object } } |
ФункцияОтвет
Результат вызова FunctionCall содержащий строку, представляющую FunctionDeclaration.name , и структурированный JSON-объект, содержащий любой вывод функции, используется в качестве контекста для модели. Он должен содержать результат FunctionCall выполненного на основе прогноза модели.
string id Необязательный параметр. Идентификатор вызова функции, для которого предназначен этот ответ. Заполняется клиентом для соответствия id вызова функции.
string nameОбязательно. Имя вызываемой функции. Должно быть az, AZ, 0-9 или содержать подчеркивания и дефисы, максимальная длина — 128 символов.
response object ( Struct format)Обязательно. Ответ функции в формате JSON-объекта. Вызывающие стороны могут использовать любые ключи по своему выбору, соответствующие синтаксису функции, для возврата результата функции, например, "output", "result" и т. д. В частности, если вызов функции не удался, ответ может содержать ключ "error" для возврата подробной информации об ошибке в модель.
parts[] object ( FunctionResponsePart ) Необязательно. Заказанные Parts , составляющие функциональный ответ. Компоненты могут иметь разные MIME-типы IANA.
willContinue boolean Необязательный параметр. Сигнализирует о продолжении вызова функции и о том, что будут возвращены дополнительные ответы, превращая вызов функции в генератор. Применимо только к неблокирующим вызовам функций, в противном случае игнорируется. Если установлено значение false, будущие ответы не будут учитываться. Допускается возврат пустого response с willContinue=False чтобы сигнализировать о завершении вызова функции. Это все еще может запустить генерацию модели. Чтобы избежать запуска генерации и завершить вызов функции, дополнительно установите для scheduling значение SILENT .
scheduling enum ( Scheduling )Необязательный параметр. Указывает, как следует планировать ответ в диалоге. Применимо только к неблокирующим вызовам функций, в противном случае игнорируется. По умолчанию используется значение WHEN_IDLE.
| JSON-представление |
|---|
{ "id": string, "name": string, "response": { object }, "parts": [ { object ( |
FunctionResponsePart
Тип данных, содержащий медиафайлы, являющиеся частью сообщения FunctionResponse .
Объект FunctionResponsePart состоит из данных, имеющих связанный с ними тип данных. FunctionResponsePart может содержать только один из допустимых типов, указанных в FunctionResponsePart.data .
Если поле inlineData заполнено необработанными байтами, объект FunctionResponsePart должен иметь фиксированный MIME-тип IANA, определяющий тип и подтип носителя.
Union type datadata части отклика функции могут быть только одним из следующих типов: inlineData object ( FunctionResponseBlob )Встроенные медиабайты.
| JSON-представление |
|---|
{
// data
"inlineData": {
object ( |
FunctionResponseBlob
Исходные медиабайты для ответа функции.
Текст не следует отправлять в виде необработанных байтов, используйте поле 'FunctionResponse.response'.
mimeType stringСтандартный MIME-тип IANA исходных данных. Примеры: - image/png - image/jpeg. Если указан неподдерживаемый MIME-тип, будет возвращена ошибка. Полный список поддерживаемых типов см. в разделе «Поддерживаемые форматы файлов» .
data string ( bytes format)Необработанные байты для медиаформатов.
Строка, закодированная в формате Base64.
| JSON-представление |
|---|
{ "mimeType": string, "data": string } |
Планирование
Указывает, как следует запланировать ответ в ходе беседы.
| Перечисления | |
|---|---|
SCHEDULING_UNSPECIFIED | Это значение не используется. |
SILENT | Добавляйте результат только в контекст беседы, не прерывайте и не запускайте генерацию. |
WHEN_IDLE | Добавьте результат в контекст беседы и предложите сгенерировать выходные данные, не прерывая текущую генерацию. |
INTERRUPT | Добавьте результат в контекст беседы, прервите текущую генерацию и предложите сгенерировать результат. |
FileData
Данные на основе URI.
mimeType stringНеобязательно. Стандартный MIME-тип исходных данных, указанный в стандарте IANA.
string fileUriОбязательный URI.
| JSON-представление |
|---|
{ "mimeType": string, "fileUri": string } |
Исполняемый код
Код, сгенерированный моделью, предназначен для выполнения, и результат, возвращаемый модели.
Этот код генерируется только при использовании инструмента CodeExecution , в котором код будет выполнен автоматически, и будет также сгенерирован соответствующий CodeExecutionResult .
string id Необязательный параметр. Уникальный идентификатор части ExecutableCode . Сервер возвращает объект CodeExecutionResult с соответствующим id .
language enum ( Language ) Обязательно. Язык программирования code .
string codeОбязательно. Код, который необходимо выполнить.
| JSON-представление |
|---|
{
"id": string,
"language": enum ( |
Язык
Поддерживаемые языки программирования для сгенерированного кода.
| Перечисления | |
|---|---|
LANGUAGE_UNSPECIFIED | Язык не указан. Это значение использовать не следует. |
PYTHON | Python >= 3.10, с доступными библиотеками numpy и simpy. Python — язык программирования по умолчанию. |
Результат выполнения кода
Результат выполнения ExecutableCode кода.
Генерируется только при использовании инструмента CodeExecution .
string id Необязательный параметр. Идентификатор части ExecutableCode , к которой относится данный результат. Заполняется только в том случае, если соответствующий ExecutableCode имеет идентификатор.
outcome enum ( Outcome )Обязательно. Результат выполнения кода.
output stringНеобязательно. Содержит стандартный вывод (stdout) при успешном выполнении кода, в противном случае — стандартную ошибку (stderr) или другое описание.
| JSON-представление |
|---|
{
"id": string,
"outcome": enum ( |
Исход
Перечень возможных результатов выполнения кода.
| Перечисления | |
|---|---|
OUTCOME_UNSPECIFIED | Статус не указан. Это значение использовать не следует. |
OUTCOME_OK | Выполнение кода завершилось успешно. output содержит стандартный поток вывода, если таковой имеется. |
OUTCOME_FAILED | Выполнение кода завершилось с ошибкой. output содержит ошибки (stderr) и стандартный вывод (stdout), если таковые имеются. |
OUTCOME_DEADLINE_EXCEEDED | Выполнение кода затянулось слишком надолго и было отменено. Возможно, будет присутствовать или отсутствовать частичный output . |
Вызов инструмента
Предсказанный серверный ToolCall возвращаемый моделью. Это сообщение содержит информацию об инструменте, который модель хочет вызвать. Клиент НЕ должен выполнять этот ToolCall . Вместо этого клиент должен передать этот ToolCall обратно в API в последующем сообщении Content вместе с соответствующим ToolResponse .
string id Необязательный параметр. Уникальный идентификатор вызова инструмента. Сервер возвращает ответ инструмента с соответствующим id .
toolType enum ( ToolType )Обязательно. Тип вызванного инструмента.
args object ( Struct format)Необязательный параметр. Аргументы вызова инструмента. Пример: {"arg1" : "value1", "arg2" : "value2", ...}
| JSON-представление |
|---|
{
"id": string,
"toolType": enum ( |
Тип инструмента
Тип инструмента в вызове функции.
| Перечисления | |
|---|---|
TOOL_TYPE_UNSPECIFIED | Тип инструмента не указан. |
GOOGLE_SEARCH_WEB | Инструмент поиска Google, соответствует Tool.google_search.search_types.web_search. |
GOOGLE_SEARCH_IMAGE | Инструмент поиска изображений, соответствует Tool.google_search.search_types.image_search. |
URL_CONTEXT | Инструмент контекста URL соответствует Tool.url_context. |
GOOGLE_MAPS | Инструмент Google Maps, отображается как Tool.google_maps. |
FILE_SEARCH | Инструмент поиска файлов, соответствует функции Tool.file_search. |
ToolResponse
Результат выполнения ToolCall на стороне сервера. Это сообщение содержит результаты вызова инструмента, инициированного ToolCall из модели. Клиент должен передать этот ToolResponse обратно в API в последующем шаге в сообщении Content вместе с соответствующим ToolCall .
string idНеобязательно. Идентификатор вызова инструмента, для которого предназначен этот ответ.
toolType enum ( ToolType ) Обязательно. Тип вызванного инструмента, соответствующий параметру toolType в соответствующем ToolCall ).
response object ( Struct format)Необязательно. Ответ инструмента.
| JSON-представление |
|---|
{
"id": string,
"toolType": enum ( |
Видеометаданные
Устарело: используйте GenerateContentRequest.processing_options вместо этого. Метаданные описывают содержимое входного видеофайла.
startOffset string ( Duration format)Необязательно. Начальное смещение видео.
Длительность в секундах, содержащая до девяти знаков после запятой, заканчивающаяся на « s ». Пример: "3.5s" .
endOffset string ( Duration format)Необязательно. Конечное смещение видео.
Длительность в секундах, содержащая до девяти знаков после запятой, заканчивающаяся на « s ». Пример: "3.5s" .
number fpsНеобязательный параметр. Частота кадров видео, отправляемого модели. Если не указана, значение по умолчанию будет 1,0. Диапазон частот кадров: (0,0, 24,0].
| JSON-представление |
|---|
{ "startOffset": string, "endOffset": string, "fps": number } |
MediaResolution
Разрешение медиафайлов для токенизации.
value Union typevalue :level enum ( Level ) Качество токенизации, используемое для данного медиафайла.
| JSON-представление |
|---|
{
// value
"level": enum ( |
Уровень
Уровень разрешения медиафайлов.
| Перечисления | |
|---|---|
MEDIA_RESOLUTION_UNSPECIFIED | Разрешение для СМИ пока не установлено. |
MEDIA_RESOLUTION_LOW | Разрешение видео установлено на низкое. |
MEDIA_RESOLUTION_MEDIUM | Разрешение видео установлено на среднее. |
MEDIA_RESOLUTION_HIGH | Разрешение видео установлено на высокое. |
MEDIA_RESOLUTION_ULTRA_HIGH | Разрешение видео установлено на сверхвысокое. |
Инструмент
Подробная информация об инструменте, который модель может использовать для генерации ответа.
Tool — это фрагмент кода, позволяющий системе взаимодействовать с внешними системами для выполнения действия или набора действий, выходящих за рамки знаний и возможностей модели.
Следующий ID: 15
functionDeclarations[] object ( FunctionDeclaration ) Необязательно. Список FunctionDeclarations доступных модели, которые можно использовать для вызова функций.
Модель или система не выполняет функцию. Вместо этого определенная функция может быть возвращена в виде FunctionCall с аргументами для выполнения на стороне клиента. Модель может решить вызвать подмножество этих функций, заполнив объект FunctionCall в ответе. Следующий ход диалога может содержать FunctionResponse с контекстом генерации Content.role "функция" для следующего хода модели.
googleSearchRetrieval object ( GoogleSearchRetrieval )Необязательно. Инструмент поиска, работающий на основе поиска Google.
codeExecution object ( CodeExecution )Необязательный параметр. Позволяет модели выполнять код в процессе генерации.
googleSearch object ( GoogleSearch )Необязательно. Тип инструмента GoogleSearch. Инструмент для поддержки поиска Google в модели. Работает на платформе Google.
computerUse object ( ComputerUse )Необязательный инструмент. Инструмент для поддержки прямого взаимодействия модели с компьютером. Если включен, он автоматически заполняет объявления функций, специфичные для конкретного компьютера.
urlContext object ( UrlContext )Необязательный инструмент для получения контекста URL-адреса.
fileSearch object ( FileSearch )Необязательно. Тип инструмента FileSearch. Инструмент для извлечения знаний из корпусов семантического поиска.
mcpServers[] object ( McpServer )Необязательно. Серверы MCP для подключения.
googleMaps object ( GoogleMaps )Необязательный инструмент, позволяющий соотнести ответ модели с геопространственным контекстом, связанным с запросом пользователя.
| JSON-представление |
|---|
{ "functionDeclarations": [ { object ( |
Объявление функции
Структурированное представление объявления функции, как определено в спецификации OpenAPI 3.03 . В это объявление включены имя функции и параметры. Данное объявление функции представляет собой блок кода, который может использоваться моделью в качестве Tool и выполняться клиентом.
string nameОбязательно. Название функции. Должно быть az, AZ, 0-9 или содержать подчеркивания, двоеточия, точки и тире, максимальная длина — 128 символов.
string descriptionОбязательно. Краткое описание функции.
behavior enum ( Behavior )Необязательный параметр. Задает поведение функции. В настоящее время поддерживается только методом BidiGenerateContent.
parameters object ( Schema )Необязательный параметр. Описывает параметры данной функции. Отражает строку объекта параметра Open API 3.03. Ключ: имя параметра. Имена параметров чувствительны к регистру. Значение схемы: схема, определяющая тип, используемый для параметра.
parametersJsonSchema value ( Value format)Необязательный параметр. Описывает параметры функции в формате JSON Schema. Схема должна описывать объект, свойства которого являются параметрами функции. Например:
{
"type": "object",
"properties": {
"name": { "type": "string" },
"age": { "type": "integer" }
},
"additionalProperties": false,
"required": ["name", "age"],
"propertyOrdering": ["name", "age"]
}
Это поле взаимоисключающее с parameters .
response object ( Schema )Необязательный параметр. Описывает выходные данные этой функции в формате JSON Schema. Отражает объект ответа Open API 3.03. Схема определяет тип, используемый для значения ответа функции.
responseJsonSchema value ( Value format)Необязательный параметр. Описывает выходные данные этой функции в формате JSON Schema. Значение, указанное в схеме, является значением ответа функции.
Это поле взаимоисключающее с response .
Схема
Объект Schema позволяет определять типы входных и выходных данных. Эти типы могут быть объектами, а также примитивами и массивами. Представляет собой выбранное подмножество объекта схемы OpenAPI 3.0 .
type enum ( Type )Обязательно. Тип данных.
format stringНеобязательно. Формат данных. Допускаются любые значения, но большинство из них не запускают никаких специальных функций.
string titleНеобязательно. Название схемы.
string descriptionНеобязательно. Краткое описание параметра. Может содержать примеры использования. Описание параметра может быть отформатировано в формате Markdown.
nullable booleanНеобязательный параметр. Указывает, может ли значение быть нулевым.
enum[] stringНеобязательный параметр. Возможные значения элемента Type.STRING в формате перечисления. Например, мы можем определить перечисление Direction следующим образом: {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]}
maxItems string ( int64 format)Необязательно. Максимальное количество элементов для типа .ARRAY.
minItems string ( int64 format)Необязательно. Минимальное количество элементов для типа .ARRAY.
properties map (key: string, value: object ( Schema ))Необязательно. Свойства типа OBJECT.
Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .
string required[]Необязательные свойства. Обязательные свойства объекта Type.OBJECT.
minProperties string ( int64 format)Необязательно. Минимальное количество свойств для Type.OBJECT.
maxProperties string ( int64 format)Необязательно. Максимальное количество свойств для типа Type.OBJECT.
minLength string ( int64 format)Необязательно. Поля схемы для типа string. Минимальная длина строки типа string.
maxLength string ( int64 format)Необязательный параметр. Максимальная длина строки типа.STRING.
string patternНеобязательно. Шаблон типа STRING для ограничения строки регулярным выражением.
example value ( Value format)Необязательно. Пример объекта. Будет заполнено только в том случае, если объект является корневым.
anyOf[] object ( Schema )Необязательно. Значение должно быть проверено на соответствие одной или нескольким подсхемам из списка.
propertyOrdering[] stringНеобязательно. Порядок свойств. Не является стандартным полем в спецификации OpenAPI. Используется для определения порядка свойств в ответе.
default value ( Value format) Необязательно. Значение поля по умолчанию. В соответствии с JSON Schema, это поле предназначено для генераторов документации и не влияет на валидацию. Поэтому оно включено здесь и игнорируется, чтобы разработчики, отправляющие схемы со значением поля default не получали ошибок, связанных с неизвестным полем.
items object ( Schema )Необязательно. Схема элементов типа ARRAY.
minimum numberНеобязательно. Поля схемы для типов INTEGER и NUMBER. Минимальное значение типов INTEGER и NUMBER.
maximum numberНеобязательный параметр. Максимальное значение для типов данных Type.INTEGER и Type.NUMBER.
| JSON-представление |
|---|
{ "type": enum ( |
Тип
Тип содержит список типов данных OpenAPI, определенных в https://spec.openapis.org/oas/v3.0.3#data-types
| Перечисления | |
|---|---|
TYPE_UNSPECIFIED | Не указано, использовать не следует. |
STRING | Тип строки. |
NUMBER | Числовой тип. |
INTEGER | Целочисленный тип. |
BOOLEAN | Логический тип. |
ARRAY | Тип массива. |
OBJECT | Тип объекта. |
NULL | Нулевой тип. |
Поведение
Определяет поведение функции. По умолчанию — BLOCKING .
| Перечисления | |
|---|---|
UNSPECIFIED | Это значение не используется. |
BLOCKING | Если эта опция включена, система будет ждать получения ответа от функции, прежде чем продолжить диалог. |
NON_BLOCKING | Если эта настройка задана, система не будет ждать получения ответа от функции. Вместо этого она будет пытаться обрабатывать ответы от функций по мере их поступления, поддерживая при этом диалог между пользователем и моделью. |
GoogleПоискПолучение
Инструмент для получения общедоступных веб-данных для сопоставления с реальными данными, разработанный Google.
dynamicRetrievalConfig object ( DynamicRetrievalConfig )Задает конфигурацию динамического извлечения данных для заданного источника.
| JSON-представление |
|---|
{
"dynamicRetrievalConfig": {
object ( |
DynamicRetrievalConfig
Описывает параметры настройки динамического поиска.
mode enum ( Mode )Режим работы предиктора, используемый в динамическом поиске.
dynamicThreshold numberПороговое значение, используемое при динамическом поиске. Если не задано, используется значение по умолчанию, установленное системой.
| JSON-представление |
|---|
{
"mode": enum ( |
Режим
Режим работы предиктора, используемый в динамическом поиске.
| Перечисления | |
|---|---|
MODE_UNSPECIFIED | Всегда запускайте процесс извлечения данных. |
MODE_DYNAMIC | Запускать операцию получения данных следует только тогда, когда система сочтет это необходимым. |
Выполнение кода
Этот тип не содержит полей.
Инструмент, который выполняет код, сгенерированный моделью, и автоматически возвращает результат модели.
См. также ExecutableCode и CodeExecutionResult , которые генерируются только при использовании этого инструмента.
GoogleПоиск
Тип инструмента Google Search. Инструмент для поддержки поиска Google в модели. Работает на платформе Google.
timeRangeFilter object ( Interval )Необязательно. Фильтруйте результаты поиска по определенному временному диапазону. Если клиенты указывают время начала, они должны указать и время окончания (и наоборот).
searchTypes object ( SearchTypes )Необязательный параметр. Набор типов поиска для включения. Если не задано, веб-поиск включен по умолчанию.
| JSON-представление |
|---|
{ "timeRangeFilter": { object ( |
Интервал
Представляет собой временной интервал, закодированный как начало (включительно) и конец (исключительно) временной метки.
Начальное значение должно быть меньше или равно конечному. Если начальное значение равно конечному, интервал пуст (не соответствует никакому времени). Если и начальное, и конечное значения не указаны, интервал соответствует любому времени.
startTime string ( Timestamp format)Необязательно. Включает начало интервала.
Если указано иное, метка времени, соответствующая этому интервалу, должна совпадать с началом интервала или быть позже него.
Используется RFC 3339, согласно которому генерируемый вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .
endTime string ( Timestamp format)Необязательно. Исключительно в конце интервала.
Если указано иное, метка времени, соответствующая этому интервалу, должна быть до конца.
Используется RFC 3339, согласно которому генерируемый вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .
| JSON-представление |
|---|
{ "startTime": string, "endTime": string } |
SearchTypes
Различные типы поиска, которые можно включить в инструменте Google Search.
webSearch object ( WebSearch )Необязательный параметр. Включает веб-поиск. Возвращаются только текстовые результаты.
imageSearch object ( ImageSearch )Необязательный параметр. Включает поиск изображений. Возвращаются байты изображения.
| JSON-представление |
|---|
{ "webSearch": { object ( |
Веб-поиск
Этот тип не содержит полей.
Стандартный поиск в интернете по запросу "заземление и связанные с ним конфигурации".
Поиск изображений
Этот тип не содержит полей.
Поиск изображений по заземлению и связанным с ним конфигурациям.
Использование компьютера
Тип инструмента для работы за компьютером.
environment enum ( Environment )Обязательно. Условия эксплуатации.
excludedPredefinedFunctions[] stringНеобязательно. По умолчанию предопределенные функции включаются в окончательный вызов модели. Некоторые из них можно явно исключить из автоматического включения. Это может служить двум целям: 1. Использование более ограниченного/другого пространства действий. 2. Улучшение определений/инструкций предопределенных функций.
| JSON-представление |
|---|
{
"environment": enum ( |
Среда
Представляет собой среду, в которой осуществляется работа, например, веб-браузер.
| Перечисления | |
|---|---|
ENVIRONMENT_UNSPECIFIED | По умолчанию используется браузер. |
ENVIRONMENT_BROWSER | Работает в веб-браузере. |
UrlContext
Этот тип не содержит полей.
Инструмент для получения контекста URL-адреса.
Поиск файлов
Инструмент FileSearch, извлекающий знания из корпусов семантического поиска. Файлы импортируются в корпуса семантического поиска с помощью API ImportFile.
fileSearchStoreNames[] string Обязательно. Названия файловых хранилищ (fileSearchStores), из которых нужно получить данные. Пример: fileSearchStores/my-file-search-store-123
metadataFilter stringНеобязательно. Фильтр метаданных для применения к документам и фрагментам семантического поиска.
topK integerНеобязательный параметр. Количество фрагментов семантического поиска для извлечения.
| JSON-представление |
|---|
{ "fileSearchStoreNames": [ string ], "metadataFilter": string, "topK": integer } |
McpServer
MCPServer — это сервер, который может быть вызван моделью для выполнения действий. Это сервер, реализующий протокол MCP. Следующий ID: 5
string nameИмя MCPServer.
transport Union typetransport может быть только одним из следующих: object ( StreamableHttpTransport ) streamableHttpTransport (StreamableHttpTransport)Транспортный механизм, способный передавать HTTP-запросы и ответы в потоковом режиме.
| JSON-представление |
|---|
{
"name": string,
// transport
"streamableHttpTransport": {
object ( |
StreamableHttpTransport
Транспорт, способный передавать HTTP-запросы и ответы в потоковом режиме. Следующий ID: 6
string urlПолный URL-адрес конечной точки MCPServer. Пример: "https://api.example.com/mcp"
headers map (key: string, value: string)Необязательно: поля для заголовков аутентификации, тайм-аутов и т. д., если необходимо.
Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .
timeout string ( Duration format)Истекло время ожидания HTTP-запроса для обычных операций.
Длительность в секундах, содержащая до девяти знаков после запятой, заканчивающаяся на « s ». Пример: "3.5s" .
sseReadTimeout string ( Duration format)Истекло время ожидания для операций чтения SSE.
A duration in seconds with up to nine fractional digits, ending with ' s '. Example: "3.5s" .
terminateOnClose booleanWhether to close the client session when the transport closes.
| JSON-представление |
|---|
{ "url": string, "headers": { string: string, ... }, "timeout": string, "sseReadTimeout": string, "terminateOnClose": boolean } |
Google Карты
The GoogleMaps Tool that provides geospatial context for the user's query.
enableWidget booleanOptional. Whether to return a widget context token in the GroundingMetadata of the response. Developers can use the widget context token to render a Google Maps widget with geospatial context related to the places that the model references in the response.
| JSON-представление |
|---|
{ "enableWidget": boolean } |
ToolConfig
The Tool configuration containing parameters for specifying Tool use in the request.
functionCallingConfig object ( FunctionCallingConfig )Optional. Function calling config.
retrievalConfig object ( RetrievalConfig )Optional. Retrieval config.
includeServerSideToolInvocations boolean Optional. If true, the API response will include the server-side tool calls and responses within the Content message. This allows clients to observe the server's tool interactions.
| JSON-представление |
|---|
{ "functionCallingConfig": { object ( |
FunctionCallingConfig
Configuration for specifying function calling behavior.
mode enum ( Mode )Optional. Specifies the mode in which function calling should execute. If unspecified, the default value will be set to AUTO.
allowedFunctionNames[] stringOptional. A set of function names that, when provided, limits the functions the model will call.
This should only be set when the Mode is ANY or VALIDATED. Function names should match [FunctionDeclaration.name]. When set, model will predict a function call from only allowed function names.
| JSON-представление |
|---|
{
"mode": enum ( |
Режим
Defines the execution behavior for function calling by defining the execution mode.
| Перечисления | |
|---|---|
MODE_UNSPECIFIED | Unspecified function calling mode. This value should not be used. |
AUTO | Default model behavior, model decides to predict either a function call or a natural language response. |
ANY | Model is constrained to always predicting a function call only. If "allowedFunctionNames" are set, the predicted function call will be limited to any one of "allowedFunctionNames", else the predicted function call will be any one of the provided "functionDeclarations". |
NONE | Model will not predict any function call. Model behavior is same as when not passing any function declarations. |
VALIDATED | Model decides to predict either a function call or a natural language response, but will validate function calls with constrained decoding. If "allowedFunctionNames" are set, the predicted function call will be limited to any one of "allowedFunctionNames", else the predicted function call will be any one of the provided "functionDeclarations". |
RetrievalConfig
LatLng
An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard . Values must be within normalized ranges.
latitude numberThe latitude in degrees. It must be in the range [-90.0, +90.0].
longitude numberThe longitude in degrees. It must be in the range [-180.0, +180.0].
| JSON-представление |
|---|
{ "latitude": number, "longitude": number } |
UsageMetadata
Metadata on the usage of the cached content.
totalTokenCount integerTotal number of tokens that the cached content consumes.
| JSON-представление |
|---|
{ "totalTokenCount": integer } |