REST Resource: cachedContents

Ресурс: CachedContent

Содержимое, которое было предварительно обработано и может использоваться в последующем запросе к GenerativeService.

Кэшированный контент можно использовать только с моделью, для которой он был создан.

JSON-представление
{
  "contents": [
    {
      object (Content)
    }
  ],
  "tools": [
    {
      object (Tool)
    }
  ],
  "createTime": string,
  "updateTime": string,
  "usageMetadata": {
    object (UsageMetadata)
  },

  // Union field expiration can be only one of the following:
  "expireTime": string,
  "ttl": string
  // End of list of possible types for union field expiration.
  "name": string,
  "displayName": string,
  "model": string,
  "systemInstruction": {
    object (Content)
  },
  "toolConfig": {
    object (ToolConfig)
  }
}
Поля
contents[]

object ( Content )

Необязательный. Только ввод. Неизменный. Содержимое для кэширования.

tools[]

object ( Tool )

Необязательный. Только ввод. Неизменный. Список Tools , которые модель может использовать для генерации следующего ответа.

createTime

string ( Timestamp format)

Только вывод. Время создания записи кэша.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

updateTime

string ( Timestamp format)

Только вывод. Когда запись кэша была последний раз обновлена ​​по времени UTC.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

usageMetadata

object ( UsageMetadata )

Только вывод. Метаданные об использовании кэшированного контента.

expiration поля объединения . Указывает, когда истечет срок действия этого ресурса. expiration может быть только одним из следующих:
expireTime

string ( Timestamp format)

Временная метка в формате UTC, когда срок действия этого ресурса считается истекшим. Это всегда предоставляется на выходе, независимо от того, что было отправлено на вход.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

ttl

string ( Duration format)

Только ввод. Новый срок жизни для этого ресурса, только входные данные.

Длительность в секундах, содержащая до девяти дробных цифр и оканчивающаяся на « s ». Пример: "3.5s" .

name

string

Необязательный. Идентификатор. Имя ресурса, относящееся к кэшированному содержимому. Формат: cachedContents/{id}

displayName

string

Необязательный. Неизменный. Созданное пользователем значимое отображаемое имя кэшированного содержимого. Максимум 128 символов Юникода.

model

string

Необходимый. Неизменный. Имя Model , которая будет использоваться для кэшированного контента. Формат: models/{model}

systemInstruction

object ( Content )

Необязательный. Только ввод. Неизменный. Разработчик установил системную инструкцию. Пока только текст.

toolConfig

object ( ToolConfig )

Необязательный. Только ввод. Неизменный. Конфигурация инструмента. Эта конфигурация является общей для всех инструментов.

Содержание

Базовый структурированный тип данных, содержащий содержимое сообщения, состоящее из нескольких частей.

Content включает в себя поле role , обозначающее производителя Content и поле parts , содержащее данные, состоящие из нескольких частей, которые содержат содержимое очереди сообщения.

JSON-представление
{
  "parts": [
    {
      object (Part)
    }
  ],
  "role": string
}
Поля
parts[]

object ( Part )

Заказанные Parts , составляющие одно сообщение. Части могут иметь разные типы MIME.

role

string

Необязательный. Производитель контента. Должно быть либо «пользователь», либо «модель».

Полезно для многоходовых разговоров, в противном случае его можно оставить пустым или не установить.

Часть

Тип данных, содержащий медиафайлы, которые являются частью сообщения Content состоящего из нескольких частей.

Part состоит из данных, имеющих связанный тип данных. Part может содержать только один из типов, принятых в Part.data .

Part должна иметь фиксированный тип IANA MIME, определяющий тип и подтип носителя, если поле inlineData заполнено необработанными байтами.

JSON-представление
{

  // Union field data can be only one of the following:
  "text": string,
  "inlineData": {
    object (Blob)
  },
  "functionCall": {
    object (FunctionCall)
  },
  "functionResponse": {
    object (FunctionResponse)
  },
  "fileData": {
    object (FileData)
  }
  // End of list of possible types for union field data.
}
Поля

data поля объединения.

data могут быть только одним из следующих:

text

string

Встроенный текст.

inlineData

object ( Blob )

Встроенные медиабайты.

functionCall

object ( FunctionCall )

Прогнозируемый FunctionCall возвращенный из модели, содержит строку, представляющую FunctionDeclaration.name с аргументами и их значениями.

functionResponse

object ( FunctionResponse )

Результат вызова FunctionCall , содержащий строку, представляющую FunctionDeclaration.name , и структурированный объект JSON, содержащий любые выходные данные функции, используется в качестве контекста для модели.

fileData

object ( FileData )

Данные на основе URI.

Блоб

Необработанные медиабайты.

Текст не следует отправлять в виде необработанных байтов, используйте поле «текст».

JSON-представление
{
  "mimeType": string,
  "data": string
}
Поля
mimeType

string

Стандартный MIME-тип IANA исходных данных. Примеры: - image/png - image/jpeg Если указан неподдерживаемый тип MIME, будет возвращена ошибка. Полный список поддерживаемых типов см. в разделе Поддерживаемые форматы файлов .

data

string ( bytes format)

Необработанные байты для медиаформатов.

Строка в кодировке Base64.

Вызов функции

Прогнозируемый вызов FunctionCall , возвращенный из модели, содержит строку, представляющую FunctionDeclaration.name с аргументами и их значениями.

JSON-представление
{
  "name": string,
  "args": {
    object
  }
}
Поля
name

string

Необходимый. Имя функции, которую нужно вызвать. Должен быть az, AZ, 0–9 или содержать символы подчеркивания и тире, максимальная длина — 63.

args

object ( Struct format)

Необязательный. Параметры и значения функции в формате объекта JSON.

ФункцияОтвет

Выходные данные FunctionCall , содержащие строку, представляющую FunctionDeclaration.name , и структурированный объект JSON, содержащий любые выходные данные функции, используются в качестве контекста для модели. Он должен содержать результат вызова FunctionCall , созданного на основе предсказания модели.

JSON-представление
{
  "name": string,
  "response": {
    object
  }
}
Поля
name

string

Необходимый. Имя функции, которую нужно вызвать. Должен быть az, AZ, 0–9 или содержать символы подчеркивания и тире, максимальная длина — 63.

response

object ( Struct format)

Необходимый. Ответ функции в формате объекта JSON.

ФайлДанные

Данные на основе URI.

JSON-представление
{
  "mimeType": string,
  "fileUri": string
}
Поля
mimeType

string

Необязательный. Стандартный MIME-тип IANA исходных данных.

fileUri

string

Необходимый. УРИ.

Инструмент

Сведения об инструменте, которые модель может использовать для генерации ответа.

Tool — это фрагмент кода, который позволяет системе взаимодействовать с внешними системами для выполнения действия или набора действий за пределами знаний и области действия модели.

JSON-представление
{
  "functionDeclarations": [
    {
      object (FunctionDeclaration)
    }
  ]
}
Поля
functionDeclarations[]

object ( FunctionDeclaration )

Необязательный. Список FunctionDeclarations доступных для модели, которые можно использовать для вызова функций.

Модель или система не выполняет функцию. Вместо этого определенная функция может быть возвращена как [FunctionCall][content.part.function_call] с аргументами на стороне клиента для выполнения. Модель может решить вызвать подмножество этих функций, заполнив [FunctionCall][content.part.function_call] в ответе. Следующий ход диалога может содержать [FunctionResponse][content.part.function_response] с контекстом генерации «функции» [content.role] для следующего хода модели.

Объявление функции

Структурированное представление объявления функции, определенное спецификацией OpenAPI 3.03 . В это объявление включены имя функции и параметры. Это объявление функции является представлением блока кода, который может использоваться моделью в качестве Tool и выполняться клиентом.

JSON-представление
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  }
}
Поля
name

string

Необходимый. Имя функции. Должен быть az, AZ, 0–9 или содержать символы подчеркивания и тире, максимальная длина — 63.

description

string

Необходимый. Краткое описание функции.

parameters

object ( Schema )

Необязательный. Описывает параметры этой функции. Отражает строку объекта параметра Open API 3.03. Ключ: имя параметра. Имена параметров чувствительны к регистру. Значение схемы: схема, определяющая тип, используемый для параметра.

Схема

Объект Schema позволяет определять типы входных и выходных данных. Эти типы могут быть объектами, а также примитивами и массивами. Представляет выбранное подмножество объекта схемы OpenAPI 3.0 .

JSON-представление
{
  "type": enum (Type),
  "format": string,
  "description": string,
  "nullable": boolean,
  "enum": [
    string
  ],
  "properties": {
    string: {
      object (Schema)
    },
    ...
  },
  "required": [
    string
  ],
  "items": {
    object (Schema)
  }
}
Поля
type

enum ( Type )

Необходимый. Тип данных.

format

string

Необязательный. Формат данных. Это используется только для примитивных типов данных. Поддерживаемые форматы: для типа NUMBER: float, double для типа INTEGER: int32, int64.

description

string

Необязательный. Краткое описание параметра. Это может содержать примеры использования. Описание параметра может быть отформатировано как Markdown.

nullable

boolean

Необязательный. Указывает, может ли значение быть нулевым.

enum[]

string

Необязательный. Возможные значения элемента Type.STRING в формате перечисления. Например, мы можем определить направление перечисления как: {type:STRING, format:enum, enum:["ВОСТОК", СЕВЕР", "ЮГ", "ЗАПАД"]}

properties

map (key: string, value: object ( Schema ))

Необязательный. Свойства Type.OBJECT.

Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

required[]

string

Необязательный. Обязательные свойства Type.OBJECT.

items

object ( Schema )

Необязательный. Схема элементов Type.ARRAY.

Тип

Тип содержит список типов данных OpenAPI, как определено https://spec.openapis.org/oas/v3.0.3#data-types.

Перечисления
TYPE_UNSPECIFIED Не указано, не следует использовать.
STRING Тип строки.
NUMBER Тип номера.
INTEGER Целочисленный тип.
BOOLEAN Булев тип.
ARRAY Тип массива.
OBJECT Тип объекта.

ИнструментКонфигурация

Конфигурация инструмента, содержащая параметры для указания использования Tool в запросе.

JSON-представление
{
  "functionCallingConfig": {
    object (FunctionCallingConfig)
  }
}
Поля
functionCallingConfig

object ( FunctionCallingConfig )

Необязательный. Конфигурация вызова функции.

ФункцияВызовConfig

Конфигурация для указания поведения вызова функций.

JSON-представление
{
  "mode": enum (Mode),
  "allowedFunctionNames": [
    string
  ]
}
Поля
mode

enum ( Mode )

Необязательный. Указывает режим, в котором должен выполняться вызов функции. Если не указано, значение по умолчанию будет установлено на АВТО.

allowedFunctionNames[]

string

Необязательный. Набор имен функций, который, если он указан, ограничивает функции, которые будет вызывать модель.

Это значение следует устанавливать только в том случае, если выбран режим ЛЮБОЙ. Имена функций должны соответствовать [FunctionDeclaration.name]. Если для режима установлено значение ЛЮБОЙ, модель будет прогнозировать вызов функции на основе предоставленного набора имен функций.

Режим

Определяет поведение выполнения для вызова функции путем определения режима выполнения.

Перечисления
MODE_UNSPECIFIED Неуказанный режим вызова функции. Это значение не следует использовать.
AUTO Поведение модели по умолчанию: модель решает предсказать либо вызов функции, либо ответ на естественном языке.
ANY Модель ограничена всегда прогнозированием только вызова функции. Если установлены «allowedFunctionNames», прогнозируемый вызов функции будет ограничен любым из «allowedFunctionNames», в противном случае прогнозируемый вызов функции будет любым из предоставленных «объявлений функций».
NONE Модель не будет предсказывать какой-либо вызов функции. Поведение модели такое же, как и при отсутствии каких-либо объявлений функций.

Использованиеметаданные

Метаданные об использовании кэшированного контента.

JSON-представление
{
  "totalTokenCount": integer
}
Поля
totalTokenCount

integer

Общее количество токенов, которые потребляет кэшированный контент.

Методы

create

Создает ресурс CachedContent.

delete

Удаляет ресурс CachedContent.

get

Читает ресурс CachedContent.

list

Перечисляет кэшированное содержимое.

patch

Обновляет ресурс CachedContent (обновляется только срок действия).