Кеширование контекста позволяет сохранять и повторно использовать предварительно вычисленные входные токены, например когда вы задаете разные вопросы об одном и том же медиафайле. Это может привести к экономии средств и повышению скорости в зависимости от использования. Подробную информацию вы найдете в руководстве по кешированию контекста.
Метод: cachedContents.create
Создает ресурс CachedContent.
Конечная точка
posthttps: / /generativelanguage.googleapis.com /v1beta /cachedContents
Тело запроса
Тело запроса содержит экземпляр CachedContent.
contents[]
object (Content)
Необязательное поле. Только для ввода. Не меняется. Контент, который нужно кешировать.
tools[]
object (Tool)
Необязательное поле. Только для ввода. Не меняется. Список Tools, которые модель может использовать для генерации следующего ответа.
expiration
Union type
expireTime
string (Timestamp format)
Временная метка по UTC, указывающая, когда ресурс считается устаревшим. Это значение всегда указывается в выходных данных, независимо от того, что было отправлено во входных.
Используется формат RFC 3339. Результат всегда будет Z-нормализованным, и в нем будут использоваться цифры дробных частей 0, 3, 6 или 9. Допустимы и другие типы нормализации. Примеры: "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.
model
string
Обязательно. Не меняется. Название Model, которое будет использоваться для кешированного контента. Формат: models/{model}.
systemInstruction
object (Content)
Необязательное поле. Только для ввода. Не меняется. Системные инструкции, заданные разработчиком. Пока только текст.
toolConfig
object (ToolConfig)
Необязательное поле. Только для ввода. Не меняется. Конфигурация инструмента. Эта конфигурация используется для всех инструментов.
Пример запроса
Основные
Python
Node.js
Проложить маршрут
Ракушка
Имя отправителя
Python
Node.js
Проложить маршрут
Из чата
Python
Node.js
Проложить маршрут
Тело ответа
Тело ответа, полученного на запрос, содержит новый экземпляр CachedContent.
Метод: cachedContents.list
Возвращает список CachedContents.
Конечная точка
gethttps: / /generativelanguage.googleapis.com /v1beta /cachedContents
Параметры запроса
pageSize
integer
Необязательное поле. Максимальное количество кешированных объектов, которые нужно вернуть. Сервис может вернуть меньше результатов, чем указано в этом значении. Если значение не указано, будет возвращено количество объектов по умолчанию (меньше максимального). Максимальное значение – 1000. Если указать большее значение, оно будет автоматически уменьшено до 1000.
pageToken
string
Необязательное поле. Токен страницы, полученный из предыдущего вызова cachedContents.list. Укажите его, чтобы получить следующую страницу.
При разбиении на страницы все остальные параметры, передаваемые в cachedContents.list, должны соответствовать вызову, который предоставил токен страницы.
Тело запроса
Тело запроса должно быть пустым.
Тело ответа
Ответ со списком CachedContents.
Ниже приведена структура данных в ответе, полученном на запрос.
cachedContents[]
object (CachedContent)
Список кешированного контента.
nextPageToken
string
Токен, который можно отправить как pageToken, чтобы получить следующую страницу. Если это поле отсутствует, значит последующих страниц нет.
| JSON-представление |
|---|
{
"cachedContents": [
{
object ( |
Метод cachedContents.get
Читает ресурс CachedContent.
Конечная точка
gethttps: / /generativelanguage.googleapis.com /v1beta /{name=cachedContents /*}
Параметры пути
name
string
Обязательно. Название ресурса, ссылающегося на запись кеша контента. Формат: cachedContents/{id}. Форма: cachedContents/{cachedcontent}.
Тело запроса
Тело запроса должно быть пустым.
Пример запроса
Python
Node.js
Проложить маршрут
Ракушка
Тело ответа
Если ответ получен успешно, его тело содержит экземпляр CachedContent.
Метод: cachedContents.patch
Обновляет ресурс CachedContent (обновлять можно только срок действия).
Конечная точка
patchhttps: / /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 type
expireTime
string (Timestamp format)
Временная метка по UTC, указывающая, когда ресурс считается устаревшим. Это значение всегда указывается в выходных данных, независимо от того, что было отправлено во входных.
Используется формат RFC 3339. Результат всегда будет Z-нормализованным, и в нем будут использоваться цифры дробных частей 0, 3, 6 или 9. Допустимы и другие типы нормализации. Примеры: "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.
Конечная точка
deletehttps: / /generativelanguage.googleapis.com /v1beta /{name=cachedContents /*}
Параметры пути
name
string
Обязательно. Название ресурса, относящееся к записи кеша контента. Формат: 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, которые модель может использовать для генерации следующего ответа.
createTime
string (Timestamp format)
Только для вывода. Время создания записи кеша.
Используется формат RFC 3339. Результат всегда будет Z-нормализованным, и в нем будут использоваться цифры дробных частей 0, 3, 6 или 9. Допустимы и другие типы нормализации. Примеры: "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. Допустимы и другие типы нормализации. Примеры: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30".
usageMetadata
object (UsageMetadata)
Только для вывода. Метаданные об использовании кешированного контента.
expiration
Union type
expireTime
string (Timestamp format)
Временная метка по UTC, указывающая, когда ресурс считается устаревшим. Это значение всегда указывается в выходных данных, независимо от того, что было отправлено во входных.
Используется формат RFC 3339. Результат всегда будет Z-нормализованным, и в нем будут использоваться цифры дробных частей 0, 3, 6 или 9. Допустимы и другие типы нормализации. Примеры: "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".
name
string
Только для вывода. Идентификатор. Название ресурса, ссылающегося на кешированный контент. Формат: cachedContents/{id}
displayName
string
Необязательное поле. Не меняется. Понятное отображаемое название кешированного контента, созданное пользователем. Максимум 128 символов Unicode.
model
string
Обязательно. Не меняется. Название Model, которое будет использоваться для кешированного контента. Формат: models/{model}.
systemInstruction
object (Content)
Необязательное поле. Только для ввода. Не меняется. Системные инструкции, заданные разработчиком. Пока только текст.
toolConfig
object (ToolConfig)
Необязательное поле. Только для ввода. Не меняется. Конфигурация инструмента. Эта конфигурация используется для всех инструментов.
| JSON-представление |
|---|
{ "contents": [ { object ( |
ToolConfig
Конфигурация инструмента, содержащая параметры для указания использования Tool в запросе.
functionCallingConfig
object (FunctionCallingConfig)
Необязательное поле. Конфигурация вызова функций.
retrievalConfig
object (RetrievalConfig)
Необязательное поле. Конфигурация извлечения.
includeServerSideToolInvocations
boolean
Необязательное поле. Если задано значение true, ответ API будет включать вызовы инструментов на стороне сервера и ответы в сообщении Content. Это позволяет клиентам наблюдать за взаимодействием сервера с инструментами.
| JSON-представление |
|---|
{ "functionCallingConfig": { object ( |
FunctionCallingConfig
Конфигурация для указания поведения вызова функций.
mode
enum (Mode)
Необязательное поле. Указывает режим, в котором должен выполняться вызов функции. Если значение не указано, по умолчанию будет задано AUTO.
allowedFunctionNames[]
string
Необязательное поле. Набор названий функций, которые модель может вызывать.
Это значение следует задавать, только если для параметра Mode установлено значение ANY или VALIDATED. Названия функций должны соответствовать [FunctionDeclaration.name]. Если задано, модель будет прогнозировать вызов функции только из разрешенных названий функций.
| JSON-представление |
|---|
{
"mode": enum ( |
Режим
Определяет поведение при вызове функции, задавая режим выполнения.
| Перечисления | |
|---|---|
MODE_UNSPECIFIED |
Режим вызова функций не указан. Это значение не должно использоваться. |
AUTO |
Поведение модели по умолчанию. Модель решает, что предсказать: вызов функции или ответ на естественном языке. |
ANY |
Модель всегда прогнозирует только вызов функции. Если задано свойство allowedFunctionNames, то вызов функции будет ограничен одним из значений allowedFunctionNames. В противном случае вызов функции будет ограничен одним из значений functionDeclarations. |
NONE |
Модель не будет прогнозировать вызовы функций. Поведение модели такое же, как если бы не передавались никакие объявления функций. |
VALIDATED |
Модель решает, что предсказать: вызов функции или ответ на естественном языке. При этом вызовы функций будут проверяться с помощью ограниченного декодирования. Если задано свойство allowedFunctionNames, то вызов функции будет ограничен одним из значений allowedFunctionNames. В противном случае вызов функции будет ограничен одним из значений functionDeclarations. |
RetrievalConfig
Конфигурация извлечения.
latLng
object (LatLng)
Необязательное поле. Местоположение пользователя.
languageCode
string
Необязательное поле. Код языка пользователя. Код языка контента. Используйте языковые теги, определенные в BCP47.
| JSON-представление |
|---|
{
"latLng": {
object ( |
LatLng
Объект, содержащий географические координаты в виде значений широты и долготы. Это выражается в виде пары значений с плавающей запятой (double), представляющих градусы широты и градусы долготы. Если не указано иное, координаты задаются в системе WGS84. Также они должны попадать в нормализованные диапазоны значений.
latitude
number
Градусная мера широты. Должна попадать в диапазон [-90,0, +90,0].
longitude
number
Градусная мера долготы. Должна попадать в диапазон [-180,0, +180,0].
| JSON-представление |
|---|
{ "latitude": number, "longitude": number } |
UsageMetadata
Метаданные об использовании кешированного контента.
totalTokenCount
integer
Общее количество токенов, которые занимает кешированный контент.
| JSON-представление |
|---|
{ "totalTokenCount": integer } |