Кэширование контекста позволяет сохранять и повторно использовать предварительно вычисленные входные токены, которые вы хотите применять многократно, например, при задании разных вопросов об одном и том же медиафайле. В зависимости от контекста это может привести к экономии средств и ускорению работы. Подробное описание см. в руководстве по кэшированию контекста .
Метод: cachedContents.create
Создаёт ресурс CachedContent.
Конечная точка
posthttps: / /generativelanguage.googleapis.com /v1beta /cachedContentsТекст запроса
Тело запроса содержит экземпляр класса CachedContent .
contents[]object ( Content )Необязательный параметр. Только для ввода. Неизменяемый. Содержимое для кэширования.
tools[]object ( Tool ) Необязательный параметр. Только для ввода. Неизменяемый. Список Tools модель может использовать для генерации следующего ответа.
expirationUnion typeexpiration может быть только одним из следующих: expireTimestring ( 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" .
ttlstring ( Duration format)Только для ввода. Новое значение TTL для этого ресурса, только для ввода.
Длительность в секундах, содержащая до девяти знаков после запятой, заканчивающаяся на « s ». Пример: "3.5s" .
displayNamestringНеобязательно. Неизменяемо. Созданное пользователем осмысленное отображаемое имя кэшированного контента. Максимум 128 символов Unicode.
string model Обязательный параметр. Неизменяемый. Название Model , используемой для кэшированного контента. Формат: models/{model}
systemInstructionobject ( Content )Необязательно. Только для ввода. Неизменяемо. Системная инструкция, заданная разработчиком. В настоящее время только текст.
toolConfigobject ( ToolConfig )Необязательно. Только для ввода. Неизменяемо. Конфигурация инструмента. Эта конфигурация является общей для всех инструментов.
Пример запроса
Базовый
Python
Node.js
Идти
Оболочка
По имени
Python
Node.js
Идти
Из чата
Python
Node.js
Идти
Ответный текст
В случае успеха тело ответа будет содержать вновь созданный экземпляр CachedContent .
Метод: cachedContents.list
Отображает список кэшированного содержимого.
Конечная точка
получитьhttps: / /generativelanguage.googleapis.com /v1beta /cachedContentsПараметры запроса
pageSizeintegerНеобязательный параметр. Максимальное количество кэшированных элементов для возврата. Сервис может вернуть меньше этого значения. Если параметр не указан, будет возвращено некоторое количество элементов по умолчанию (в пределах максимального значения). Максимальное значение — 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.namestring Только вывод. Идентификатор. Имя ресурса, ссылающегося на кэшированное содержимое. Формат: cachedContents/{id} Имеет вид cachedContents/{cachedcontent} .
Параметры запроса
updateMaskstring ( FieldMask format)Список полей для обновления.
Это список полных имен полей, разделенных запятыми. Пример: "user.displayName,photo" .
Текст запроса
Тело запроса содержит экземпляр класса CachedContent .
expirationUnion typeexpiration может быть только одним из следующих: expireTimestring ( 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" .
ttlstring ( 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 модель может использовать для генерации следующего ответа.
createTimestring ( 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" .
updateTimestring ( 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" .
usageMetadataobject ( UsageMetadata )Только вывод. Метаданные об использовании кэшированного контента.
expirationUnion typeexpiration может быть только одним из следующих: expireTimestring ( 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" .
ttlstring ( Duration format)Только для ввода. Новое значение TTL для этого ресурса, только для ввода.
Длительность в секундах, содержащая до девяти знаков после запятой, заканчивающаяся на « s ». Пример: "3.5s" .
string name Только вывод. Идентификатор. Имя ресурса, ссылающегося на кэшированное содержимое. Формат: cachedContents/{id}
displayNamestringНеобязательно. Неизменяемо. Созданное пользователем осмысленное отображаемое имя кэшированного контента. Максимум 128 символов Unicode.
string model Обязательный параметр. Неизменяемый. Название Model , используемой для кэшированного контента. Формат: models/{model}
systemInstructionobject ( Content )Необязательно. Только для ввода. Неизменяемо. Системная инструкция, заданная разработчиком. В настоящее время только текст.
toolConfigobject ( 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Необязательный параметр. Указывает, была ли деталь разработана на основе модели.
thoughtSignaturestring ( bytes format)Необязательно. Непрозрачная подпись для мысли, чтобы ее можно было использовать в последующих запросах.
Строка, закодированная в формате Base64.
partMetadataobject ( Struct format)Пользовательские метаданные, связанные с частью. Агентам, использующим genai.Part в качестве представления контента, может потребоваться отслеживать дополнительную информацию. Например, это может быть имя файла/источника, из которого происходит часть, или способ мультиплексирования нескольких потоков частей.
mediaResolutionobject ( MediaResolution )Необязательно. Разрешение входного медиафайла.
Union type datadata могут быть только одного из следующих типов:textstringВстроенный текст.
inlineDataobject ( Blob )Встроенные медиабайты.
functionCallobject ( FunctionCall ) Модель возвращает прогнозируемый FunctionCall , содержащий строку, представляющую FunctionDeclaration.name , а также аргументы и их значения.
functionResponseobject ( FunctionResponse ) Результат вызова FunctionCall , содержащий строку, представляющую FunctionDeclaration.name , и структурированный JSON-объект, содержащий любой вывод функции, используется в качестве контекста для модели.
fileDataobject ( FileData )Данные на основе URI.
executableCodeobject ( ExecutableCode )Код, сгенерированный моделью, предназначен для выполнения.
codeExecutionResultobject ( CodeExecutionResult ) Результат выполнения ExecutableCode кода.
toolCallobject ( ToolCall )Вызов инструмента на стороне сервера. Это поле заполняется, когда модель предсказывает вызов инструмента, который должен быть выполнен на сервере. Ожидается, что клиент отправит это сообщение обратно в API.
toolResponseobject ( ToolResponse ) Результат выполнения ToolCall на стороне сервера. Это поле заполняется клиентом результатами выполнения соответствующего ToolCall .
metadataUnion typemetadata могут быть только одним из следующих типов:videoMetadataobject ( VideoMetadata )Необязательно. Метаданные видео. Метаданные следует указывать только в том случае, если видеоданные представлены в формате inlineData или fileData.
| JSON-представление |
|---|
{ "thought": boolean, "thoughtSignature": string, "partMetadata": { object }, "mediaResolution": { object ( |
Клякса
Необработанные медиабайты.
Текст не следует отправлять в виде необработанных байтов, используйте поле 'text'.
mimeTypestringСтандартный MIME-тип IANA исходных данных. Примеры: - image/png - image/jpeg. Если указан неподдерживаемый MIME-тип, будет возвращена ошибка. Полный список поддерживаемых типов см. в разделе «Поддерживаемые форматы файлов» .
datastring ( bytes format)Необработанные байты для медиаформатов.
Строка, закодированная в формате Base64.
| JSON-представление |
|---|
{ "mimeType": string, "data": string } |
Вызов функции
Модель возвращает прогнозируемый FunctionCall , содержащий строку, представляющую FunctionDeclaration.name , а также аргументы и их значения.
string id Необязательный параметр. Уникальный идентификатор вызова функции. Если он заполнен, указывается клиент, которому следует выполнить functionCall и вернуть ответ с соответствующим id .
string nameОбязательно. Имя вызываемой функции. Должно быть az, AZ, 0-9 или содержать подчеркивания и дефисы, максимальная длина — 128 символов.
argsobject ( 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 символов.
responseobject ( Struct format)Обязательно. Ответ функции в формате JSON-объекта. Вызывающие стороны могут использовать любые ключи по своему выбору, соответствующие синтаксису функции, для возврата результата функции, например, "output", "result" и т. д. В частности, если вызов функции не удался, ответ может содержать ключ "error" для возврата подробной информации об ошибке в модель.
parts[]object ( FunctionResponsePart ) Необязательно. Заказанные Parts , составляющие функциональный ответ. Компоненты могут иметь разные MIME-типы IANA.
willContinueboolean Необязательный параметр. Сигнализирует о продолжении вызова функции и о том, что будут возвращены дополнительные ответы, превращая вызов функции в генератор. Применимо только к неблокирующим вызовам функций, в противном случае игнорируется. Если установлено значение false, будущие ответы не будут учитываться. Допускается возврат пустого response с willContinue=False чтобы сигнализировать о завершении вызова функции. Это все еще может запустить генерацию модели. Чтобы избежать запуска генерации и завершить вызов функции, дополнительно установите для scheduling значение SILENT .
schedulingenum ( 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 части отклика функции могут быть только одним из следующих типов: inlineDataobject ( FunctionResponseBlob )Встроенные медиабайты.
| JSON-представление |
|---|
{
// data
"inlineData": {
object ( |
FunctionResponseBlob
Исходные медиабайты для ответа функции.
Текст не следует отправлять в виде необработанных байтов, используйте поле 'FunctionResponse.response'.
mimeTypestringСтандартный MIME-тип IANA исходных данных. Примеры: - image/png - image/jpeg. Если указан неподдерживаемый MIME-тип, будет возвращена ошибка. Полный список поддерживаемых типов см. в разделе «Поддерживаемые форматы файлов» .
datastring ( bytes format)Необработанные байты для медиаформатов.
Строка, закодированная в формате Base64.
| JSON-представление |
|---|
{ "mimeType": string, "data": string } |
Планирование
Указывает, как следует запланировать ответ в ходе беседы.
| Перечисления | |
|---|---|
SCHEDULING_UNSPECIFIED | Это значение не используется. |
SILENT | Добавляйте результат только в контекст беседы, не прерывайте и не запускайте генерацию. |
WHEN_IDLE | Добавьте результат в контекст беседы и предложите сгенерировать выходные данные, не прерывая текущую генерацию. |
INTERRUPT | Добавьте результат в контекст беседы, прервите текущую генерацию и предложите сгенерировать результат. |
FileData
Данные на основе URI.
mimeTypestringНеобязательно. Стандартный MIME-тип исходных данных, указанный в стандарте IANA.
string fileUriОбязательный URI.
| JSON-представление |
|---|
{ "mimeType": string, "fileUri": string } |
Исполняемый код
Код, сгенерированный моделью, предназначен для выполнения, и результат, возвращаемый модели.
Этот код генерируется только при использовании инструмента CodeExecution , в котором код будет выполнен автоматически, и будет также сгенерирован соответствующий CodeExecutionResult .
string id Необязательный параметр. Уникальный идентификатор части ExecutableCode . Сервер возвращает объект CodeExecutionResult с соответствующим id .
languageenum ( Language ) Обязательно. Язык программирования code .
string codeОбязательно. Код, который необходимо выполнить.
| JSON-представление |
|---|
{
"id": string,
"language": enum ( |
Язык
Поддерживаемые языки программирования для сгенерированного кода.
| Перечисления | |
|---|---|
LANGUAGE_UNSPECIFIED | Язык не указан. Это значение использовать не следует. |
PYTHON | Python >= 3.10, с доступными библиотеками numpy и simpy. Python — язык программирования по умолчанию. |
Результат выполнения кода
Результат выполнения ExecutableCode кода.
Генерируется только при использовании инструмента CodeExecution .
string id Необязательный параметр. Идентификатор части ExecutableCode , к которой относится данный результат. Заполняется только в том случае, если соответствующий ExecutableCode имеет идентификатор.
outcomeenum ( Outcome )Обязательно. Результат выполнения кода.
outputstringНеобязательно. Содержит стандартный вывод (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 .
toolTypeenum ( ToolType )Обязательно. Тип вызванного инструмента.
argsobject ( 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Необязательно. Идентификатор вызова инструмента, для которого предназначен этот ответ.
toolTypeenum ( ToolType ) Обязательно. Тип вызванного инструмента, соответствующий параметру toolType в соответствующем ToolCall ).
responseobject ( Struct format)Необязательно. Ответ инструмента.
| JSON-представление |
|---|
{
"id": string,
"toolType": enum ( |
Видеометаданные
Устарело: используйте GenerateContentRequest.processing_options вместо этого. Метаданные описывают содержимое входного видеофайла.
startOffsetstring ( Duration format)Необязательно. Начальное смещение видео.
Длительность в секундах, содержащая до девяти знаков после запятой, заканчивающаяся на « s ». Пример: "3.5s" .
endOffsetstring ( Duration format)Необязательно. Конечное смещение видео.
Длительность в секундах, содержащая до девяти знаков после запятой, заканчивающаяся на « s ». Пример: "3.5s" .
number fpsНеобязательный параметр. Частота кадров видео, отправляемого модели. Если не указана, значение по умолчанию будет 1,0. Диапазон частот кадров: (0,0, 24,0].
| JSON-представление |
|---|
{ "startOffset": string, "endOffset": string, "fps": number } |
MediaResolution
Разрешение медиафайлов для токенизации.
valueUnion typevalue :levelenum ( 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 "функция" для следующего хода модели.
googleSearchRetrievalobject ( GoogleSearchRetrieval )Необязательно. Инструмент поиска, работающий на основе поиска Google.
codeExecutionobject ( CodeExecution )Необязательный параметр. Позволяет модели выполнять код в процессе генерации.
googleSearchobject ( GoogleSearch )Необязательно. Тип инструмента GoogleSearch. Инструмент для поддержки поиска Google в модели. Работает на платформе Google.
computerUseobject ( ComputerUse )Необязательный инструмент. Инструмент для поддержки прямого взаимодействия модели с компьютером. Если включен, он автоматически заполняет объявления функций, специфичные для конкретного компьютера.
urlContextobject ( UrlContext )Необязательный инструмент для получения контекста URL-адреса.
fileSearchobject ( FileSearch )Необязательно. Тип инструмента FileSearch. Инструмент для извлечения знаний из корпусов семантического поиска.
mcpServers[]object ( McpServer )Необязательно. Серверы MCP для подключения.
googleMapsobject ( GoogleMaps )Необязательный инструмент, позволяющий соотнести ответ модели с геопространственным контекстом, связанным с запросом пользователя.
| JSON-представление |
|---|
{ "functionDeclarations": [ { object ( |
Объявление функции
Структурированное представление объявления функции, как определено в спецификации OpenAPI 3.03 . В это объявление включены имя функции и параметры. Данное объявление функции представляет собой блок кода, который может использоваться моделью в качестве Tool и выполняться клиентом.
string nameОбязательно. Название функции. Должно быть az, AZ, 0-9 или содержать подчеркивания, двоеточия, точки и тире, максимальная длина — 128 символов.
string descriptionОбязательно. Краткое описание функции.
behaviorenum ( Behavior )Необязательный параметр. Задает поведение функции. В настоящее время поддерживается только методом BidiGenerateContent.
parametersobject ( Schema )Необязательный параметр. Описывает параметры данной функции. Отражает строку объекта параметра Open API 3.03. Ключ: имя параметра. Имена параметров чувствительны к регистру. Значение схемы: схема, определяющая тип, используемый для параметра.
parametersJsonSchemavalue ( Value format)Необязательный параметр. Описывает параметры функции в формате JSON Schema. Схема должна описывать объект, свойства которого являются параметрами функции. Например:
{
"type": "object",
"properties": {
"name": { "type": "string" },
"age": { "type": "integer" }
},
"additionalProperties": false,
"required": ["name", "age"],
"propertyOrdering": ["name", "age"]
}
Это поле взаимоисключающее с parameters .
responseobject ( Schema )Необязательный параметр. Описывает выходные данные этой функции в формате JSON Schema. Отражает объект ответа Open API 3.03. Схема определяет тип, используемый для значения ответа функции.
responseJsonSchemavalue ( Value format)Необязательный параметр. Описывает выходные данные этой функции в формате JSON Schema. Значение, указанное в схеме, является значением ответа функции.
Это поле взаимоисключающее с response .
Схема
Объект Schema позволяет определять типы входных и выходных данных. Эти типы могут быть объектами, а также примитивами и массивами. Представляет собой выбранное подмножество объекта схемы OpenAPI 3.0 .
typeenum ( Type )Обязательно. Тип данных.
formatstringНеобязательно. Формат данных. Допускаются любые значения, но большинство из них не запускают никаких специальных функций.
string titleНеобязательно. Название схемы.
string descriptionНеобязательно. Краткое описание параметра. Может содержать примеры использования. Описание параметра может быть отформатировано в формате Markdown.
nullablebooleanНеобязательный параметр. Указывает, может ли значение быть нулевым.
enum[]stringНеобязательный параметр. Возможные значения элемента Type.STRING в формате перечисления. Например, мы можем определить перечисление Direction следующим образом: {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]}
maxItemsstring ( int64 format)Необязательно. Максимальное количество элементов для типа .ARRAY.
minItemsstring ( int64 format)Необязательно. Минимальное количество элементов для типа .ARRAY.
propertiesmap (key: string, value: object ( Schema ))Необязательно. Свойства типа OBJECT.
Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .
string required[]Необязательные свойства. Обязательные свойства объекта Type.OBJECT.
minPropertiesstring ( int64 format)Необязательно. Минимальное количество свойств для Type.OBJECT.
maxPropertiesstring ( int64 format)Необязательно. Максимальное количество свойств для типа Type.OBJECT.
minLengthstring ( int64 format)Необязательно. Поля схемы для типа string. Минимальная длина строки типа string.
maxLengthstring ( int64 format)Необязательный параметр. Максимальная длина строки типа.STRING.
string patternНеобязательно. Шаблон типа STRING для ограничения строки регулярным выражением.
examplevalue ( Value format)Необязательно. Пример объекта. Будет заполнено только в том случае, если объект является корневым.
anyOf[]object ( Schema )Необязательно. Значение должно быть проверено на соответствие одной или нескольким подсхемам из списка.
propertyOrdering[]stringНеобязательно. Порядок свойств. Не является стандартным полем в спецификации OpenAPI. Используется для определения порядка свойств в ответе.
defaultvalue ( Value format) Необязательно. Значение поля по умолчанию. В соответствии с JSON Schema, это поле предназначено для генераторов документации и не влияет на валидацию. Поэтому оно включено здесь и игнорируется, чтобы разработчики, отправляющие схемы со значением поля default не получали ошибок, связанных с неизвестным полем.
itemsobject ( Schema )Необязательно. Схема элементов типа ARRAY.
minimumnumberНеобязательно. Поля схемы для типов INTEGER и NUMBER. Минимальное значение типов INTEGER и NUMBER.
maximumnumberНеобязательный параметр. Максимальное значение для типов данных 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.
dynamicRetrievalConfigobject ( DynamicRetrievalConfig )Задает конфигурацию динамического извлечения данных для заданного источника.
| JSON-представление |
|---|
{
"dynamicRetrievalConfig": {
object ( |
DynamicRetrievalConfig
Описывает параметры настройки динамического поиска.
modeenum ( Mode )Режим работы предиктора, используемый в динамическом поиске.
dynamicThresholdnumberПороговое значение, используемое при динамическом поиске. Если не задано, используется значение по умолчанию, установленное системой.
| JSON-представление |
|---|
{
"mode": enum ( |
Режим
Режим работы предиктора, используемый в динамическом поиске.
| Перечисления | |
|---|---|
MODE_UNSPECIFIED | Всегда запускайте процесс извлечения данных. |
MODE_DYNAMIC | Запускать операцию получения данных следует только тогда, когда система сочтет это необходимым. |
Выполнение кода
Этот тип не содержит полей.
Инструмент, который выполняет код, сгенерированный моделью, и автоматически возвращает результат модели.
См. также ExecutableCode и CodeExecutionResult , которые генерируются только при использовании этого инструмента.
GoogleПоиск
Тип инструмента Google Search. Инструмент для поддержки поиска Google в модели. Работает на платформе Google.
timeRangeFilterobject ( Interval )Необязательно. Фильтруйте результаты поиска по определенному временному диапазону. Если клиенты указывают время начала, они должны указать и время окончания (и наоборот).
searchTypesobject ( SearchTypes )Необязательный параметр. Набор типов поиска для включения. Если не задано, веб-поиск включен по умолчанию.
| JSON-представление |
|---|
{ "timeRangeFilter": { object ( |
Интервал
Представляет собой временной интервал, закодированный как начало (включительно) и конец (исключительно) временной метки.
Начальное значение должно быть меньше или равно конечному. Если начальное значение равно конечному, интервал пуст (не соответствует никакому времени). Если и начальное, и конечное значения не указаны, интервал соответствует любому времени.
startTimestring ( 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" .
endTimestring ( 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.
webSearchobject ( WebSearch )Необязательный параметр. Включает веб-поиск. Возвращаются только текстовые результаты.
imageSearchobject ( ImageSearch )Необязательный параметр. Включает поиск изображений. Возвращаются байты изображения.
| JSON-представление |
|---|
{ "webSearch": { object ( |
Веб-поиск
Этот тип не содержит полей.
Стандартный поиск в интернете по запросу "заземление и связанные с ним конфигурации".
Поиск изображений
Этот тип не содержит полей.
Поиск изображений по заземлению и связанным с ним конфигурациям.
Использование компьютера
Тип инструмента для работы за компьютером.
environmentenum ( 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
metadataFilterstringНеобязательно. Фильтр метаданных для применения к документам и фрагментам семантического поиска.
topKintegerНеобязательный параметр. Количество фрагментов семантического поиска для извлечения.
| JSON-представление |
|---|
{ "fileSearchStoreNames": [ string ], "metadataFilter": string, "topK": integer } |
McpServer
MCPServer — это сервер, который может быть вызван моделью для выполнения действий. Это сервер, реализующий протокол MCP. Следующий ID: 5
string nameИмя MCPServer.
transportUnion typetransport может быть только одним из следующих: object ( StreamableHttpTransport ) streamableHttpTransportТранспортный механизм, способный передавать HTTP-запросы и ответы в потоковом режиме.
| JSON-представление |
|---|
{
"name": string,
// transport
"streamableHttpTransport": {
object ( |
StreamableHttpTransport
Транспорт, способный передавать HTTP-запросы и ответы в потоковом режиме. Следующий ID: 6
string urlПолный URL-адрес конечной точки MCPServer. Пример: "https://api.example.com/mcp"
headersmap (key: string, value: string)Необязательно: поля для заголовков аутентификации, тайм-аутов и т. д., если необходимо.
Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .
timeoutstring ( Duration format)Истекло время ожидания HTTP-запроса для обычных операций.
Длительность в секундах, содержащая до девяти знаков после запятой, заканчивающаяся на « s ». Пример: "3.5s" .
sseReadTimeoutstring ( Duration format)Истекло время ожидания для операций чтения SSE.
A duration in seconds with up to nine fractional digits, ending with ' s '. Example: "3.5s" .
terminateOnClosebooleanWhether 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.
enableWidgetbooleanOptional. 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.
functionCallingConfigobject ( FunctionCallingConfig )Optional. Function calling config.
retrievalConfigobject ( RetrievalConfig )Optional. Retrieval config.
includeServerSideToolInvocationsboolean 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.
modeenum ( 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.
latitudenumberThe latitude in degrees. It must be in the range [-90.0, +90.0].
longitudenumberThe 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.
totalTokenCountintegerTotal number of tokens that the cached content consumes.
| JSON-представление |
|---|
{ "totalTokenCount": integer } |