Кэширование контекста позволяет сохранять и повторно использовать предварительно вычисленные входные токены, которые вы хотите применять многократно, например, при задании разных вопросов об одном и том же медиафайле. В зависимости от контекста это может привести к экономии средств и ускорению работы. Подробное описание см. в руководстве по кэшированию контекста .
Метод: 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 )Optional. Input only. Immutable. Developer set system instruction. Currently text only.
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
- 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 )Optional. Input only. Immutable. Developer set system instruction. Currently text only.
toolConfigobject ( ToolConfig )Необязательно. Только для ввода. Неизменяемо. Конфигурация инструмента. Эта конфигурация является общей для всех инструментов.
| JSON-представление |
|---|
{ "contents": [ { object ( |
ToolConfig
Конфигурация инструмента, содержащая параметры для указания использования Tool в запросе.
object ( FunctionCallingConfig ) functionCallingConfigНеобязательно. Конфигурация вызова функции.
retrievalConfigobject ( RetrievalConfig )Необязательно. Конфигурация получения.
includeServerSideToolInvocationsboolean Необязательно. Если значение равно true, ответ API будет включать вызовы и ответы серверных инструментов в сообщение Content . Это позволит клиентам наблюдать за взаимодействием инструментов с сервером.
| JSON-представление |
|---|
{ "functionCallingConfig": { object ( |
FunctionCallingConfig
Настройки для определения поведения при вызове функций.
modeenum ( Mode )Необязательный параметр. Указывает режим выполнения вызова функции. Если не указан, по умолчанию будет установлено значение AUTO.
allowedFunctionNames[]stringНеобязательно. Набор имен функций, который, если он указан, ограничивает список функций, которые будет вызывать модель.
Этот параметр следует устанавливать только в том случае, если режим установлен на ANY или VALIDATED. Имена функций должны совпадать с [FunctionDeclaration.name]. При установке этого параметра модель будет предсказывать вызов функции, используя только разрешенные имена функций.
| JSON-представление |
|---|
{
"mode": enum ( |
Режим
Определяет поведение при вызове функции путем задания режима выполнения.
| Перечисления | |
|---|---|
MODE_UNSPECIFIED | Неуказанный режим вызова функции. Это значение использовать не следует. |
AUTO | По умолчанию модель принимает решение о том, предсказывать ли вызов функции или ответ на естественном языке. |
ANY | Модель ограничена предсказанием только одного вызова функции. Если задан параметр "allowedFunctionNames", предсказанный вызов функции будет ограничен любым из "allowedFunctionNames", в противном случае предсказанный вызов функции будет любым из предоставленных "functionDeclarations". |
NONE | Модель не будет предсказывать вызовы каких-либо функций. Поведение модели такое же, как и в случае, когда объявления функций не передаются. |
VALIDATED | Модель решает предсказать либо вызов функции, либо ответ на естественном языке, но будет проверять вызовы функций с помощью ограниченного декодирования. Если задан параметр "allowedFunctionNames", предсказанный вызов функции будет ограничен любым из "allowedFunctionNames", в противном случае предсказанный вызов функции будет любым из предоставленных "functionDeclarations". |
RetrievalConfig
Получение конфигурации.
latLngobject ( LatLng )Необязательно. Местоположение пользователя.
string languageCodeНеобязательно. Языковой код пользователя. Языковой код контента. Использовать языковые теги, определенные в BCP47 .
| JSON-представление |
|---|
{
"latLng": {
object ( |
LatLng
Объект, представляющий пару координат широты и долготы. Он выражается в виде пары чисел с плавающей запятой (double), обозначающих градусы широты и долготы. Если не указано иное, этот объект должен соответствовать стандарту WGS84 . Значения должны находиться в пределах нормализованных диапазонов.
number latitudeШирота в градусах. Она должна находиться в диапазоне [-90,0, +90,0].
number longitudeДолгота в градусах. Она должна находиться в диапазоне [-180,0, +180,0].
| JSON-представление |
|---|
{ "latitude": number, "longitude": number } |
UsageMetadata
Метаданные об использовании кэшированного контента.
totalTokenCountintegerОбщее количество токенов, которые потребляет кэшированное содержимое.
| JSON-представление |
|---|
{ "totalTokenCount": integer } |