REST Resource: cachedContents

Risorsa: CachedContent

Contenuti che sono stati pre-elaborati e possono essere utilizzati in una richiesta successiva a GenerativeService.

I contenuti memorizzati nella cache possono essere utilizzati solo con il modello per cui sono stati creati.

Rappresentazione 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)
  }
}
Campi
contents[]

object (Content)

Campo facoltativo. Solo input. Immutabile. I contenuti da memorizzare nella cache.

tools[]

object (Tool)

Campo facoltativo. Solo input. Immutabile. Un elenco di Tools che il modello potrebbe utilizzare per generare la risposta successiva

createTime

string (Timestamp format)

Solo output. Data/ora di creazione della voce della cache.

Un timestamp nel formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Solo output. Data dell'ultimo aggiornamento della voce della cache nel fuso orario UTC.

Un timestamp nel formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

usageMetadata

object (UsageMetadata)

Solo output. Metadati sull'utilizzo dei contenuti memorizzati nella cache.

Campo unione expiration. Specifica quando scadrà questa risorsa. expiration può essere solo uno dei seguenti:
expireTime

string (Timestamp format)

Timestamp in UTC di quando questa risorsa è considerata scaduta. Viene sempre fornito nell'output, indipendentemente da quanto inviato nell'input.

Un timestamp nel formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

ttl

string (Duration format)

Solo input. Nuovo TTL per questa risorsa, solo input.

Durata in secondi con un massimo di nove cifre frazionarie e termina con "s". Esempio: "3.5s".

name

string

Campo facoltativo. Identificatore. Il nome della risorsa che fa riferimento ai contenuti memorizzati nella cache. Formato: cachedContents/{id}

displayName

string

Campo facoltativo. Immutabile. Il nome visualizzato significativo generato dall'utente dei contenuti memorizzati nella cache. Massimo 128 caratteri Unicode.

model

string

Obbligatoria. Immutabile. Nome del Model da utilizzare per i contenuti memorizzati nella cache. Formato: models/{model}

systemInstruction

object (Content)

Campo facoltativo. Solo input. Immutabile. Istruzione di sistema impostata dallo sviluppatore. Attualmente solo testo.

toolConfig

object (ToolConfig)

Campo facoltativo. Solo input. Immutabile. Configurazione strumento Questa configurazione è condivisa per tutti gli strumenti.

Contenuti

Il tipo di dati strutturati di base contenente i contenuti in più parti di un messaggio.

Un Content include un campo role che indica il produttore del Content e un campo parts contenente dati in più parti con i contenuti della turno del messaggio.

Rappresentazione JSON
{
  "parts": [
    {
      object (Part)
    }
  ],
  "role": string
}
Campi
parts[]

object (Part)

Parts ordinato che costituiscono un singolo messaggio. Le parti possono avere tipi MIME diversi.

role

string

Campo facoltativo. Il produttore dei contenuti. Deve essere "user" o "model".

Utile per le conversazioni multi-turno, altrimenti può essere lasciato vuoto o non impostato.

Parte

Un tipo di dati contenente elementi multimediali che fanno parte di un messaggio Content in più parti.

Un Part è costituito da dati a cui è associato un tipo di dati. Un elemento Part può contenere solo uno dei tipi accettati in Part.data.

Part deve avere un tipo MIME IANA fisso che identifica il tipo e il sottotipo del supporto se il campo inlineData è riempito con byte non elaborati.

Rappresentazione 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.
}
Campi

Campo unione data.

data può essere solo uno dei seguenti:

text

string

Testo in linea.

inlineData

object (Blob)

Media byte in linea.

functionCall

object (FunctionCall)

Un valore FunctionCall previsto restituito dal modello che contiene una stringa che rappresenta il valore FunctionDeclaration.name con gli argomenti e i relativi valori.

functionResponse

object (FunctionResponse)

L'output del risultato di un FunctionCall che contiene una stringa che rappresenta il valore FunctionDeclaration.name e un oggetto JSON strutturato contenente qualsiasi output della funzione viene utilizzato come contesto per il modello.

fileData

object (FileData)

dati basati su URI.

Blob

Byte multimediali non elaborati.

Il testo non deve essere inviato come byte non elaborati, utilizza il campo "testo".

Rappresentazione JSON
{
  "mimeType": string,
  "data": string
}
Campi
mimeType

string

Il tipo MIME standard IANA dei dati di origine. Esempi: - image/png - image/jpeg Se viene fornito un tipo MIME non supportato, verrà restituito un errore. Per un elenco completo dei tipi di file supportati, vedi Formati file supportati.

data

string (bytes format)

Byte non elaborati per i formati multimediali.

Una stringa con codifica base64.

FunctionCall

Un valore FunctionCall previsto restituito dal modello che contiene una stringa che rappresenta il valore FunctionDeclaration.name con gli argomenti e i relativi valori.

Rappresentazione JSON
{
  "name": string,
  "args": {
    object
  }
}
Campi
name

string

Obbligatoria. Il nome della funzione da chiamare. Deve essere a-z, A-Z, 0-9 o contenere trattini bassi e trattini, con una lunghezza massima di 63 caratteri.

args

object (Struct format)

Campo facoltativo. I parametri e i valori della funzione in formato oggetto JSON.

FunctionResponse

L'output del risultato di un oggetto FunctionCall che contiene una stringa che rappresenta il valore FunctionDeclaration.name e un oggetto JSON strutturato contenente qualsiasi output della funzione viene utilizzato come contesto per il modello. Deve contenere il risultato di un FunctionCall creato in base alla previsione del modello.

Rappresentazione JSON
{
  "name": string,
  "response": {
    object
  }
}
Campi
name

string

Obbligatoria. Il nome della funzione da chiamare. Deve essere a-z, A-Z, 0-9 o contenere trattini bassi e trattini, con una lunghezza massima di 63 caratteri.

response

object (Struct format)

Obbligatoria. La risposta della funzione in formato oggetto JSON.

FileData

dati basati su URI.

Rappresentazione JSON
{
  "mimeType": string,
  "fileUri": string
}
Campi
mimeType

string

Campo facoltativo. Il tipo MIME standard IANA dei dati di origine.

fileUri

string

Obbligatoria. URI.

Strumento

Dettagli dello strumento che il modello può utilizzare per generare la risposta.

Un Tool è una porzione di codice che consente al sistema di interagire con sistemi esterni per eseguire un'azione o un insieme di azioni al di fuori delle conoscenze e dell'ambito del modello.

Rappresentazione JSON
{
  "functionDeclarations": [
    {
      object (FunctionDeclaration)
    }
  ]
}
Campi
functionDeclarations[]

object (FunctionDeclaration)

Campo facoltativo. Un elenco di FunctionDeclarations disponibili per il modello, che possono essere utilizzati per le chiamate di funzione.

Il modello o il sistema non esegue la funzione. La funzione definita può invece essere restituita come [FunctionCall][content.part.function_call] con argomenti al lato client per l'esecuzione. Il modello può decidere di chiamare un sottoinsieme di queste funzioni compilando [FunctionCall][content.part.function_call] nella risposta. Il turno di conversazione successivo potrebbe contenere un oggetto [FunctionResponse][content.part.function_response] con il contesto di generazione della funzione [content.role] per il successivo turno del modello.

FunctionDeclaration

Rappresentazione strutturata di una dichiarazione di funzione come definita dalla specifica OpenAPI 3.03. Questa dichiarazione include il nome della funzione e i parametri. Questa dichiarazione di funzione è una rappresentazione di un blocco di codice che può essere utilizzato come Tool dal modello ed eseguito dal client.

Rappresentazione JSON
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  }
}
Campi
name

string

Obbligatoria. Il nome della funzione. Deve essere a-z, A-Z, 0-9 o contenere trattini bassi e trattini, con una lunghezza massima di 63 caratteri.

description

string

Obbligatoria. Una breve descrizione della funzione.

parameters

object (Schema)

Campo facoltativo. Descrive i parametri di questa funzione. Riflette la stringa oggetto parametro Open API 3.03 Chiave: il nome del parametro. I nomi dei parametri sono sensibili alle maiuscole. Valore schema: lo schema che definisce il tipo utilizzato per il parametro.

Schema

L'oggetto Schema consente la definizione dei tipi di dati di input e di output. Questi tipi possono essere oggetti, ma anche primitive e array. Rappresenta un sottoinsieme selezionato di un oggetto schema OpenAPI 3.0.

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

enum (Type)

Obbligatoria. Tipo di dati.

format

string

Campo facoltativo. Il formato dei dati. Viene utilizzato solo per i tipi di dati primitivi. Formati supportati: per il tipo NUMBER: numero in virgola mobile, doppio per il tipo INTEGER: int32, int64

description

string

Campo facoltativo. Una breve descrizione del parametro. Potrebbero contenere esempi di utilizzo. La descrizione del parametro può essere formattata come Markdown.

nullable

boolean

Campo facoltativo. Indica se il valore può essere nullo.

enum[]

string

Campo facoltativo. Valori possibili dell'elemento di Type.STRING con formato enum. Ad esempio possiamo definire una direzione enum come : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]}

properties

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

Campo facoltativo. Proprietà di Type.OBJECT.

Un oggetto contenente un elenco di "key": value coppie. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

required[]

string

Campo facoltativo. Proprietà obbligatorie di Type.OBJECT.

items

object (Schema)

Campo facoltativo. Schema degli elementi di Type.ARRAY.

Tipo

Il tipo contiene l'elenco dei tipi di dati OpenAPI come definito da https://spec.openapis.org/oas/v3.0.3#data-types

Enum
TYPE_UNSPECIFIED Non specificato, non deve essere utilizzato.
STRING Tipo di stringa.
NUMBER Tipo di numero.
INTEGER Tipo di numero intero.
BOOLEAN Tipo booleano.
ARRAY Tipo di array.
OBJECT Tipo di oggetto.

ToolConfig

La configurazione dello strumento contenente i parametri per specificare l'utilizzo di Tool nella richiesta.

Rappresentazione JSON
{
  "functionCallingConfig": {
    object (FunctionCallingConfig)
  }
}
Campi
functionCallingConfig

object (FunctionCallingConfig)

Campo facoltativo. Configurazione della chiamata di funzione.

FunctionCallingConfig

Configurazione per specificare il comportamento di chiamata di funzione.

Rappresentazione JSON
{
  "mode": enum (Mode),
  "allowedFunctionNames": [
    string
  ]
}
Campi
mode

enum (Mode)

Campo facoltativo. Specifica la modalità in cui devono essere eseguite le chiamate di funzione. Se non specificato, il valore predefinito verrà impostato su AUTO.

allowedFunctionNames[]

string

Campo facoltativo. Un insieme di nomi di funzioni che, se forniti, limitano le funzioni chiamate dal modello.

Deve essere impostata solo quando la modalità è impostata su UNO. I nomi delle funzioni devono corrispondere a [FunctionDeclaration.name]. Con la modalità impostata su QUALSIASI, il modello prevede una chiamata di funzione dall'insieme di nomi di funzione fornito.

Modalità

Definisce il comportamento di esecuzione per la chiamata di funzione definendo la modalità di esecuzione.

Enum
MODE_UNSPECIFIED Modalità di chiamata di funzione non specificata. Questo valore non deve essere utilizzato.
AUTO Comportamento predefinito del modello, il modello decide di prevedere una chiamata di funzione o una risposta in linguaggio naturale.
ANY Il modello è vincolato a prevedere sempre solo una chiamata di funzione. Se "allowedFunctionNames" è impostata, la chiamata di funzione prevista sarà limitata a uno qualsiasi tra "allowedFunctionNames", altrimenti la chiamata di funzione prevista sarà una qualsiasi delle "functionDeclarations" fornite.
NONE Il modello non prevede alcuna chiamata di funzione. Il comportamento del modello è lo stesso di quando non si passa alcuna dichiarazione di funzione.

UsageMetadata

Metadati sull'utilizzo dei contenuti memorizzati nella cache.

Rappresentazione JSON
{
  "totalTokenCount": integer
}
Campi
totalTokenCount

integer

Numero totale di token utilizzati dai contenuti memorizzati nella cache.

Metodi

create

Crea la risorsa CachedContent.

delete

Elimina la risorsa CachedContent.

get

Legge la risorsa CachedContent.

list

Elenca i contenuti memorizzati nella cache.

patch

Aggiorna la risorsa CachedContent (è aggiornabile solo la scadenza).