REST Resource: cachedContents

Recurso: CachedContent

Contenido procesado previamente que puede usarse en solicitudes posteriores a GenerativeService.

El contenido almacenado en caché solo se puede usar con el modelo para el que se creó.

Representación 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)
  }
}
Campos
contents[]

object (Content)

Opcional. Solo entrada. Inmutable. El contenido que se almacenará en caché.

tools[]

object (Tool)

Opcional. Solo entrada. Inmutable. Una lista de Tools que el modelo puede usar para generar la siguiente respuesta

createTime

string (Timestamp format)

Solo salida. Hora de creación de la entrada de caché.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Solo salida. La fecha en que la entrada de caché se actualizó por última vez en la hora UTC.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

usageMetadata

object (UsageMetadata)

Solo salida. Metadatos sobre el uso del contenido almacenado en caché.

Campo de unión expiration. Especifica cuándo vencerá este recurso. Las direcciones (expiration) solo pueden ser una de las siguientes opciones:
expireTime

string (Timestamp format)

Marca de tiempo en UTC del momento en que este recurso se consideró vencido. Esto siempre se proporciona en la salida, sin importar si se envió en la entrada.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

ttl

string (Duration format)

Solo entrada. Nuevo TTL para este recurso, solo entrada.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

name

string

Opcional. Identificador. El nombre del recurso que hace referencia al contenido almacenado en caché. Formato: cachedContents/{id}

displayName

string

Opcional. Inmutable. Es el nombre visible significativo que genera el usuario del contenido almacenado en caché. Se admiten hasta 128 caracteres Unicode.

model

string

Obligatorio. Inmutable. El nombre de Model que se usará para el contenido almacenado en caché. Formato: models/{model}

systemInstruction

object (Content)

Opcional. Solo entrada. Inmutable. Instrucción del sistema establecida por el desarrollador. Actualmente, solo texto.

toolConfig

object (ToolConfig)

Opcional. Solo entrada. Inmutable. Configuración de la herramienta Esta configuración se comparte para todas las herramientas.

Contenido

Es el tipo de datos estructurados base que incluye contenido de varias partes de un mensaje.

Un Content incluye un campo role que designa al productor de Content y un campo parts que contiene datos de varias partes con el contenido del turno del mensaje.

Representación JSON
{
  "parts": [
    {
      object (Part)
    }
  ],
  "role": string
}
Campos
parts[]

object (Part)

Se ordenaron Parts que constituyen un solo mensaje. Las partes pueden tener diferentes tipos de MIME.

role

string

Opcional. Es el productor del contenido. Debe ser "usuario" o "modelo".

Es útil para establecer conversaciones de varios turnos. De lo contrario, puede dejarse en blanco o no configurarse.

Pieza

Un tipo de datos que contiene elementos multimedia y que forma parte de un mensaje Content de varias partes.

Una Part consiste en datos que tienen un tipo de datos asociado. Un Part solo puede contener uno de los tipos aceptados en Part.data.

Un Part debe tener un tipo de MIME de IANA fijo que identifique el tipo y el subtipo del contenido multimedia si el campo inlineData se llena con bytes sin procesar.

Representación 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.
}
Campos

Campo de unión data.

data puede ser una de las siguientes opciones:

text

string

Texto intercalado

inlineData

object (Blob)

Bytes de contenido multimedia intercalados

functionCall

object (FunctionCall)

El modelo muestra un FunctionCall predicho que contiene una cadena que representa FunctionDeclaration.name con los argumentos y sus valores.

functionResponse

object (FunctionResponse)

El resultado de una FunctionCall que contiene una cadena que representa el FunctionDeclaration.name y un objeto JSON estructurado que contiene cualquier resultado de la función se usa como contexto para el modelo.

fileData

object (FileData)

Datos basados en URI.

BLOB

Bytes de medios sin procesar.

El texto no se debe enviar como bytes sin procesar, utiliza el campo "texto".

Representación JSON
{
  "mimeType": string,
  "data": string
}
Campos
mimeType

string

Es el tipo de MIME estándar de IANA de los datos de origen. Ejemplos: - imagen/png - imagen/jpeg Si se proporciona un tipo de MIME no compatible, se mostrará un error. Para obtener una lista completa de los tipos admitidos, consulta Formatos de archivo admitidos.

data

string (bytes format)

Bytes sin procesar para formatos multimedia.

String codificada en base64.

FunctionCall

El modelo muestra un FunctionCall predicho que contiene una cadena que representa FunctionDeclaration.name con los argumentos y sus valores.

Representación JSON
{
  "name": string,
  "args": {
    object
  }
}
Campos
name

string

Obligatorio. El nombre de la función a la que se llamará. Debe ser a-z, A-Z, del 0 al 9 o contener guiones bajos y guiones, con una longitud máxima de 63.

args

object (Struct format)

Opcional. Los parámetros y valores de la función en formato de objeto JSON

FunctionResponse

El resultado de una FunctionCall que contiene una cadena que representa el FunctionDeclaration.name y un objeto JSON estructurado que contiene cualquier resultado de la función se usa como contexto para el modelo. Debe contener el resultado de un FunctionCall realizado en función de la predicción del modelo.

Representación JSON
{
  "name": string,
  "response": {
    object
  }
}
Campos
name

string

Obligatorio. El nombre de la función a la que se llamará. Debe ser a-z, A-Z, del 0 al 9 o contener guiones bajos y guiones, con una longitud máxima de 63.

response

object (Struct format)

Obligatorio. La respuesta de la función en formato de objeto JSON.

FileData

Datos basados en URI.

Representación JSON
{
  "mimeType": string,
  "fileUri": string
}
Campos
mimeType

string

Opcional. Es el tipo de MIME estándar de IANA de los datos de origen.

fileUri

string

Obligatorio. URI

Herramienta

Detalles de la herramienta que el modelo puede usar para generar una respuesta.

Un Tool es un fragmento de código que permite que el sistema interactúe con sistemas externos para realizar una acción, o un conjunto de acciones, fuera del conocimiento y el alcance del modelo.

Representación JSON
{
  "functionDeclarations": [
    {
      object (FunctionDeclaration)
    }
  ]
}
Campos
functionDeclarations[]

object (FunctionDeclaration)

Opcional. Una lista de FunctionDeclarations disponible para el modelo que se puede usar en la llamada a función.

El modelo o sistema no ejecuta la función. En su lugar, la función definida se puede mostrar como una [FunctionCall][content.part.function_call] con argumentos para la ejecución del cliente. El modelo puede decidir llamar a un subconjunto de estas funciones propagando [FunctionCall][content.part.function_call] en la respuesta. El próximo turno de conversación puede contener una [FunctionResponse][content.part.function_response] con el contexto de generación de la “función” [content.role] para el siguiente giro del modelo.

FunctionDeclaration

Representación estructurada de una declaración de función como se define en la especificación de OpenAPI 3.03. En esta declaración, se incluyen el nombre y los parámetros de la función. Esta FunctionDeclaration es una representación de un bloque de código que el modelo puede usar como Tool y que el cliente puede ejecutar.

Representación JSON
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  }
}
Campos
name

string

Obligatorio. Es el nombre de la función. Debe ser a-z, A-Z, del 0 al 9 o contener guiones bajos y guiones, con una longitud máxima de 63.

description

string

Obligatorio. Una breve descripción de la función.

parameters

object (Schema)

Opcional. Describe los parámetros de esta función. Refleja la clave de cadena del objeto de parámetro de Open API 3.03: el nombre del parámetro. Los nombres de parámetros distinguen mayúsculas de minúsculas. Valor de esquema: el esquema que define el tipo que se usa para el parámetro.

Esquema

El objeto Schema permite definir los tipos de datos de entrada y salida. Estos tipos pueden ser objetos, pero también primitivos y arrays. Representa un subconjunto seleccionado de un objeto de esquema de OpenAPI 3.0.

Representación JSON
{
  "type": enum (Type),
  "format": string,
  "description": string,
  "nullable": boolean,
  "enum": [
    string
  ],
  "properties": {
    string: {
      object (Schema)
    },
    ...
  },
  "required": [
    string
  ],
  "items": {
    object (Schema)
  }
}
Campos
type

enum (Type)

Obligatorio. Tipo de datos.

format

string

Opcional. El formato de los datos. Esto solo se usa para tipos de datos primitivos. Formatos compatibles: para el tipo NUMBER: flotante, doble para el tipo INTEGER: int32, int64

description

string

Opcional. Una breve descripción del parámetro. Esto podría incluir ejemplos de uso. La descripción del parámetro puede tener el formato Markdown.

nullable

boolean

Opcional. Indica si el valor puede ser nulo.

enum[]

string

Opcional. Valores posibles del elemento de Type.STRING con el formato de enumeración. Por ejemplo, podemos definir una dirección enum de la siguiente manera : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]}

properties

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

Opcional. Propiedades de Type.OBJECT.

Es un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

required[]

string

Opcional. Propiedades obligatorias de Type.OBJECT.

items

object (Schema)

Opcional. Esquema de los elementos de Type.ARRAY.

Tipo

Type contiene la lista de tipos de datos de OpenAPI, como se define en https://spec.openapis.org/oas/v3.0.3#data-types.

Enumeradores
TYPE_UNSPECIFIED No especificado, no debe usarse.
STRING Tipo de cadena.
NUMBER Tipo de número.
INTEGER Tipo de número entero.
BOOLEAN Tipo booleano.
ARRAY Tipo de array.
OBJECT Tipo de objeto.

ToolConfig

La configuración de la herramienta que contiene parámetros para especificar el uso de Tool en la solicitud.

Representación JSON
{
  "functionCallingConfig": {
    object (FunctionCallingConfig)
  }
}
Campos
functionCallingConfig

object (FunctionCallingConfig)

Opcional. Configuración de llamada a función.

FunctionCallingConfig

Configuración para especificar el comportamiento de la llamada a función.

Representación JSON
{
  "mode": enum (Mode),
  "allowedFunctionNames": [
    string
  ]
}
Campos
mode

enum (Mode)

Opcional. Especifica el modo en el que se debe ejecutar la llamada a función. Si no se especifica, el valor predeterminado será AUTO.

allowedFunctionNames[]

string

Opcional. Un conjunto de nombres de funciones que, cuando se proporcionan, limita las funciones que llamará el modelo.

Esto solo debe configurarse cuando el Modo es ANY. Los nombres de las funciones deben coincidir con [FunctionDeclaration.name]. Con el modo configurado en ANY, el modelo predecirá una llamada a función a partir del conjunto de nombres de función proporcionado.

Modo

Define el comportamiento de ejecución de la llamada a función con la definición del modo de ejecución.

Enumeradores
MODE_UNSPECIFIED Modo de llamada a función no especificado. No se debe usar este valor.
AUTO En el comportamiento predeterminado del modelo, el modelo decide predecir una llamada a función o una respuesta de lenguaje natural.
ANY El modelo está limitado para predecir siempre solo una llamada a función. Si se configura “allowedFunctionNames”, la llamada a función predicha se limitará a cualquiera de “allowedFunctionNames”; de lo contrario, la llamada a función predicha será cualquiera de las “functionDeclarations”.
NONE El modelo no predecirá ninguna llamada a función. El comportamiento del modelo es el mismo que cuando no se pasan declaraciones de funciones.

UsageMetadata

Metadatos sobre el uso del contenido almacenado en caché.

Representación JSON
{
  "totalTokenCount": integer
}
Campos
totalTokenCount

integer

Cantidad total de tokens que consume el contenido almacenado en caché.

Métodos

create

Crea el recurso CachedContent.

delete

Borra el recurso CachedContent.

get

Lee el recurso CachedContent.

list

Muestra una lista de CachedContents.

patch

Actualiza el recurso CachedContent (solo se puede actualizar el vencimiento).