El almacenamiento de contexto en caché te permite guardar y reutilizar tokens de entrada precalculados que deseas usar repetidamente, por ejemplo, cuando haces diferentes preguntas sobre el mismo archivo multimedia. Esto puede generar ahorros de costos y tiempo, según el uso. Para obtener una introducción detallada, consulta la guía Almacenamiento en caché del contexto.
Método: cachedContents.create
Crea un recurso CachedContent.
Extremo
posthttps: / /generativelanguage.googleapis.com /v1beta /cachedContents
Cuerpo de la solicitud
El cuerpo de la solicitud contiene una instancia de CachedContent.
contents[]
object (Content)
Opcional. Solo entrada. Inmutable. Es el contenido que se almacenará en caché.
tools[]
object (Tool)
Opcional. Solo entrada. Inmutable. Es una lista de Tools que el modelo puede usar para generar la siguiente respuesta.
expiration
Union type
expiration puede 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.
Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".
ttl
string (Duration format)
Solo entrada. Es el 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".
displayName
string
Opcional. Inmutable. Es el nombre visible significativo del contenido almacenado en caché que generó el usuario. Se pueden utilizar 128 caracteres Unicode como máximo.
model
string
Obligatorio. Inmutable. Nombre del Model que se usará para el contenido almacenado en caché. Formato: models/{model}
systemInstruction
object (Content)
Opcional. Solo entrada. Inmutable. Es la instrucción del sistema establecida por el desarrollador. Por el momento, solo se admite texto.
toolConfig
object (ToolConfig)
Opcional. Solo entrada. Inmutable. Configuración de la herramienta Esta configuración se comparte para todas las herramientas.
Ejemplo de solicitud
Básico
Python
Node.js
Go
Almeja
Nombre del remitente
Python
Node.js
Go
Desde el chat
Python
Node.js
Go
Cuerpo de la respuesta
Si el proceso se realiza de forma correcta, el cuerpo de la respuesta contiene una instancia recién creada de CachedContent.
Método: cachedContents.list
Enumera los objetos CachedContent.
Extremo
gethttps: / /generativelanguage.googleapis.com /v1beta /cachedContents
Parámetros de consulta
pageSize
integer
Opcional. Es la cantidad máxima de contenido almacenado en caché que se devolverá. El servicio puede mostrar menos que este valor. Si no se especifica, se devolverá una cantidad predeterminada de elementos (inferior al máximo). El valor máximo es 1,000; valores superiores a 1,000 se convertirán en 1,000.
pageToken
string
Opcional. Un token de página, recibido desde una llamada cachedContents.list anterior. Proporciona esto para recuperar la página siguiente.
Cuando se pagina, todos los demás parámetros proporcionados a cachedContents.list deben coincidir con la llamada que proporcionó el token de la página.
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Es la respuesta con la lista de CachedContents.
Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:
cachedContents[]
object (CachedContent)
Es una lista del contenido almacenado en caché.
nextPageToken
string
Un token, que se puede enviar como pageToken para recuperar la página siguiente. Si se omite este campo, no habrá páginas siguientes.
| Representación JSON |
|---|
{
"cachedContents": [
{
object ( |
Método: cachedContents.get
- Extremo
- Parámetros de ruta
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- Permisos de autorización
- Ejemplo de solicitud
Lee el recurso CachedContent.
Extremo
gethttps: / /generativelanguage.googleapis.com /v1beta /{name=cachedContents /*}
Parámetros de ruta
name
string
Obligatorio. Es el nombre del recurso que hace referencia a la entrada de caché de contenido. Formato: cachedContents/{id} Toma la forma cachedContents/{cachedcontent}.
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Ejemplo de solicitud
Python
Node.js
Go
Almeja
Cuerpo de la respuesta
Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de CachedContent.
Método: cachedContents.patch
- Extremo
- Parámetros de ruta
- Parámetros de consulta
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- Permisos de autorización
- Ejemplo de solicitud
Actualiza el recurso CachedContent (solo se puede actualizar la fecha de vencimiento).
Extremo
patchhttps: / /generativelanguage.googleapis.com /v1beta /{cachedContent.name=cachedContents /*}
PATCH https://generativelanguage.googleapis.com/v1beta/{cachedContent.name=cachedContents/*}
Parámetros de ruta
cachedContent.name
string
Solo salida. Es el identificador. Nombre del recurso que hace referencia al contenido almacenado en caché. Formato: cachedContents/{id} Toma la forma cachedContents/{cachedcontent}.
Parámetros de consulta
updateMask
string (FieldMask format)
La lista de campos que se deben actualizar.
Esta es una lista separada por comas de los nombres de campos totalmente calificados. Ejemplo: "user.displayName,photo".
Cuerpo de la solicitud
El cuerpo de la solicitud contiene una instancia de CachedContent.
expiration
Union type
expiration puede 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.
Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".
ttl
string (Duration format)
Solo entrada. Es el 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".
Ejemplo de solicitud
Python
Node.js
Go
Almeja
Cuerpo de la respuesta
Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de CachedContent.
Método: cachedContents.delete
- Extremo
- Parámetros de ruta
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- Permisos de autorización
- Ejemplo de solicitud
Borra el recurso CachedContent.
Extremo
deletehttps: / /generativelanguage.googleapis.com /v1beta /{name=cachedContents /*}
Parámetros de ruta
name
string
Obligatorio. Es el nombre del recurso que hace referencia a la entrada de la caché de contenido. Formato: cachedContents/{id}. Toma la forma cachedContents/{cachedcontent}.
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Ejemplo de solicitud
Python
Node.js
Go
Almeja
Cuerpo de la respuesta
Si se ejecuta correctamente, el cuerpo de la respuesta es un objeto JSON vacío.
Recurso de REST: cachedContents
- Recurso: CachedContent
- ToolConfig
- FunctionCallingConfig
- Modo
- RetrievalConfig
- LatLng
- UsageMetadata
- Métodos
Recurso: CachedContent
Es el contenido que se procesó previamente y que se puede usar en solicitudes posteriores a GenerativeService.
El contenido almacenado en caché solo se puede usar con el modelo para el que se creó.
contents[]
object (Content)
Opcional. Solo entrada. Inmutable. Es el contenido que se almacenará en caché.
tools[]
object (Tool)
Opcional. Solo entrada. Inmutable. Es una lista de Tools que el modelo puede usar para generar la siguiente respuesta.
createTime
string (Timestamp format)
Solo salida. Es la fecha y hora de creación de la entrada de caché.
Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".
updateTime
string (Timestamp format)
Solo salida. Fecha y hora en que se actualizó la entrada de caché por última vez en hora UTC.
Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".
usageMetadata
object (UsageMetadata)
Solo salida. Son metadatos sobre el uso del contenido almacenado en caché.
expiration
Union type
expiration puede 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.
Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".
ttl
string (Duration format)
Solo entrada. Es el 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
Solo salida. Es el identificador. Nombre del recurso que hace referencia al contenido almacenado en caché. Formato: cachedContents/{id}
displayName
string
Opcional. Inmutable. Es el nombre visible significativo del contenido almacenado en caché que generó el usuario. Se pueden utilizar 128 caracteres Unicode como máximo.
model
string
Obligatorio. Inmutable. Nombre del Model que se usará para el contenido almacenado en caché. Formato: models/{model}
systemInstruction
object (Content)
Opcional. Solo entrada. Inmutable. Es la instrucción del sistema establecida por el desarrollador. Por el momento, solo se admite texto.
toolConfig
object (ToolConfig)
Opcional. Solo entrada. Inmutable. Configuración de la herramienta Esta configuración se comparte para todas las herramientas.
| Representación JSON |
|---|
{ "contents": [ { object ( |
ToolConfig
Es la configuración de la herramienta que contiene parámetros para especificar el uso de Tool en la solicitud.
functionCallingConfig
object (FunctionCallingConfig)
Opcional. Es la configuración de la llamada a función.
retrievalConfig
object (RetrievalConfig)
Opcional. Es la configuración de recuperación.
includeServerSideToolInvocations
boolean
Opcional. Si es verdadero, la respuesta de la API incluirá las llamadas y respuestas de herramientas del servidor dentro del mensaje Content. Esto permite que los clientes observen las interacciones de la herramienta del servidor.
| Representación JSON |
|---|
{ "functionCallingConfig": { object ( |
FunctionCallingConfig
Es la configuración para especificar el comportamiento de las llamadas a funciones.
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 se establecerá en AUTO.
allowedFunctionNames[]
string
Opcional. Es un conjunto de nombres de funciones que, cuando se proporcionan, limitan las funciones que llamará el modelo.
Este parámetro solo se debe establecer cuando el modo es ANY o VALIDATED. Los nombres de las funciones deben coincidir con [FunctionDeclaration.name]. Cuando se establece, el modelo predecirá una llamada a función solo a partir de los nombres de función permitidos.
| Representación JSON |
|---|
{
"mode": enum ( |
Modo
Define el comportamiento de ejecución para la llamada a funciones definiendo el modo de ejecución.
| Enums | |
|---|---|
MODE_UNSPECIFIED |
Modo de llamada a función sin especificar. No se debe usar este valor. |
AUTO |
Comportamiento predeterminado del modelo: El modelo decide si predecir una llamada a función o una respuesta de lenguaje natural. |
ANY |
El modelo está restringido para predecir siempre solo una llamada a función. Si se establece "allowedFunctionNames", la llamada a función predicha se limitará a cualquiera de los "allowedFunctionNames". De lo contrario, la llamada a función predicha será cualquiera de las "functionDeclarations" proporcionadas. |
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. |
VALIDATED |
El modelo decide si predecir una llamada a función o una respuesta de lenguaje natural, pero validará las llamadas a función con la decodificación restringida. Si se establece "allowedFunctionNames", la llamada a función predicha se limitará a cualquiera de los "allowedFunctionNames". De lo contrario, la llamada a función predicha será cualquiera de las "functionDeclarations" proporcionadas. |
RetrievalConfig
Es la configuración de recuperación.
latLng
object (LatLng)
Opcional. Ubicación del usuario.
languageCode
string
Opcional. Es el código de idioma del usuario. Es el código de idioma del contenido. Usa las etiquetas de idioma definidas por BCP47.
| Representación JSON |
|---|
{
"latLng": {
object ( |
LatLng
Es un objeto que representa un par de valores de latitud y longitud. Esto se expresa como un par de números de punto flotante de doble precisión que representan los grados de latitud y longitud. A menos que se especifique lo contrario, este objeto debe cumplir con el estándar WGS84. Los valores deben pertenecer a rangos normalizados.
latitude
number
Es la latitud expresada en grados. Debe pertenecer al rango [-90.0, +90.0].
longitude
number
La longitud expresada en grados. Debe pertenecer al rango [-180.0, +180.0].
| Representación JSON |
|---|
{ "latitude": number, "longitude": number } |
UsageMetadata
Son metadatos sobre el uso del contenido almacenado en caché.
totalTokenCount
integer
Es la cantidad total de tokens que consume el contenido almacenado en caché.
| Representación JSON |
|---|
{ "totalTokenCount": integer } |