L'API Gemini supporta il caricamento di file multimediali separatamente dall'input del prompt, consentendo il riutilizzo dei contenuti multimediali in più richieste e più prompt. Per maggiori dettagli, consulta la guida Prompt con contenuti multimediali.
Metodo: media.upload
- Endpoint
- Parametri del percorso
- Corpo della richiesta
- Corpo della risposta
- ChunkingConfig
- WhiteSpaceConfig
Carica i dati in un ragStore, li pre-elabora e li suddivide in blocchi prima di archiviarli in un documento RagStore.
Endpoint
- URI di caricamento, per le richieste di caricamento dei contenuti multimediali:
https: / /generativelanguage.googleapis.com /upload /v1beta /{ragStoreName=ragStores /*}:uploadToRagStore
- URI dei metadati, per le richieste solo di metadati:
https: / /generativelanguage.googleapis.com /v1beta /{ragStoreName=ragStores /*}:uploadToRagStore
Parametri del percorso
ragStoreName
string
Obbligatorio. Immutabile. Il nome del RagStore
in cui caricare il file. Esempio: ragStores/my-rag-store-123
Assume la forma ragStores/{ragstore}
.
Corpo della richiesta
Il corpo della richiesta contiene dati con la seguente struttura:
displayName
string
Facoltativo. Il nome visualizzato del documento creato.
customMetadata[]
object (CustomMetadata
)
Metadati personalizzati da associare ai dati.
chunkingConfig
object (ChunkingConfig
)
Facoltativo. Configurazione per indicare al servizio come segmentare i dati. Se non vengono forniti, il servizio utilizzerà i parametri predefiniti.
mimeType
string
Facoltativo. Tipo MIME dei dati. Se non viene fornito, verrà dedotto dai contenuti caricati.
Corpo della risposta
Questa è una copia di google.longrunning.Operation. Dobbiamo copiarlo perché per interagire con Scotty dobbiamo aggiungere un campo specifico di Scotty che non può essere aggiunto nel proto dell'operazione di primo livello.
In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:
name
string
Il nome assegnato dal server, che è univoco solo all'interno dello stesso servizio che lo restituisce originariamente. Se utilizzi la mappatura HTTP predefinita, name
deve essere un nome di risorsa che termina con operations/{unique_id}
.
metadata
object
Metadati specifici del servizio associati all'operazione. In genere contengono informazioni sullo stato di avanzamento e metadati comuni come l'ora di creazione. Alcuni servizi potrebbero non fornire questi metadati. Qualsiasi metodo che restituisce un'operazione a lunga esecuzione deve documentare il tipo di metadati, se presenti.
Un oggetto contenente campi di un tipo arbitrario. Un campo aggiuntivo "@type"
contiene un URI che identifica il tipo. Esempio: { "id": 1234, "@type": "types.example.com/standard/id" }
done
boolean
Se il valore è false
, significa che l'operazione è ancora in corso. Se true
, l'operazione viene completata e sono disponibili error
o response
.
result
Union type
error
o una response
valida. Se done
== false
, né error
né response
vengono impostati. Se done
== true
, è possibile impostare esattamente uno dei valori error
o response
. Alcuni servizi potrebbero non fornire il risultato. result
può essere solo uno dei seguenti:error
object (Status
)
Il risultato di errore dell'operazione in caso di errore o annullamento.
response
object
La risposta normale e con esito positivo dell'operazione. Se il metodo originale non restituisce dati in caso di esito positivo, ad esempio Delete
, la risposta è google.protobuf.Empty
. Se il metodo originale è Get
/Create
/Update
standard, la risposta deve essere la risorsa. Per gli altri metodi, la risposta deve avere il tipo XxxResponse
, dove Xxx
è il nome del metodo originale. Ad esempio, se il nome del metodo originale è TakeSnapshot()
, il tipo di risposta dedotto è TakeSnapshotResponse
.
Un oggetto contenente campi di un tipo arbitrario. Un campo aggiuntivo "@type"
contiene un URI che identifica il tipo. Esempio: { "id": 1234, "@type": "types.example.com/standard/id" }
Rappresentazione JSON |
---|
{
"name": string,
"metadata": {
"@type": string,
field1: ...,
...
},
"done": boolean,
// result
"error": {
object ( |
ChunkingConfig
Parametri per indicare al servizio come segmentare il file. Ispirato a google3/cloud/ai/platform/extension/lib/retrieval/config/chunker_config.proto
config
Union type
config
può essere solo uno dei seguenti:whiteSpaceConfig
object (WhiteSpaceConfig
)
Configurazione della suddivisione degli spazi vuoti.
Rappresentazione JSON |
---|
{
// config
"whiteSpaceConfig": {
object ( |
WhiteSpaceConfig
Configurazione per un algoritmo di suddivisione in blocchi degli spazi vuoti [delimitati da spazi vuoti].
maxTokensPerChunk
integer
Numero massimo di token per blocco. I token sono definiti come parole per questo algoritmo di chunking. Nota: definiamo i token come parole separate da spazi bianchi anziché come output di un tokenizzatore. Al 17 aprile 2025, la finestra contestuale dell'ultimo modello di incorporamento Gemini è attualmente di 8192 token. Supponiamo che una parola media sia composta da 5 caratteri. Pertanto, abbiamo impostato il limite superiore a 2**9, ovvero 512 parole o 2560 token, supponendo nel caso peggiore un carattere per token. Si tratta di una stima prudente pensata per evitare l'overflow della finestra contestuale.
maxOverlapTokens
integer
Numero massimo di token sovrapposti tra due chunk adiacenti.
Rappresentazione JSON |
---|
{ "maxTokensPerChunk": integer, "maxOverlapTokens": integer } |
Metodo: files.get
Recupera i metadati per l'elemento File
specificato.
Endpoint
gethttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
Parametri del percorso
name
string
Obbligatorio. Il nome di File
da ottenere. Esempio: files/abc-123
Assume la forma files/{file}
.
Corpo della richiesta
Il corpo della richiesta deve essere vuoto.
Esempio di richiesta
Python
Node.js
Go
Conchiglia
Corpo della risposta
In caso di esito positivo, il corpo della risposta contiene un'istanza di File
.
Metodo: files.list
Elenca i metadati per File
di proprietà del progetto richiedente.
Endpoint
gethttps: / /generativelanguage.googleapis.com /v1beta /files
Parametri di query
pageSize
integer
Facoltativo. Il numero massimo di File
da restituire per pagina. Se non specificato, il valore predefinito è 10. Il valore massimo di pageSize
è 100.
pageToken
string
Facoltativo. Un token di pagina di una precedente chiamata files.list
.
Corpo della richiesta
Il corpo della richiesta deve essere vuoto.
Esempio di richiesta
Python
Node.js
Go
Conchiglia
Corpo della risposta
Risposta per files.list
.
In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:
files[]
object (File
)
L'elenco di File
.
nextPageToken
string
Un token che può essere inviato come pageToken
in una successiva chiamata files.list
.
Rappresentazione JSON |
---|
{
"files": [
{
object ( |
Metodo: files.delete
Elimina File
.
Endpoint
deletehttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
Parametri del percorso
name
string
Obbligatorio. Il nome di File
da eliminare. Esempio: files/abc-123
Assume la forma files/{file}
.
Corpo della richiesta
Il corpo della richiesta deve essere vuoto.
Esempio di richiesta
Python
Node.js
Go
Conchiglia
Corpo della risposta
In caso di esito positivo, il corpo della risposta è un oggetto JSON vuoto.
Risorsa REST: files
Risorsa: File
Un file caricato nell'API. Next ID: 15
name
string
Immutabile. Identificatore. Il nome della risorsa File
. L'ID (nome escluso il prefisso "files/") può contenere fino a 40 caratteri alfanumerici minuscoli o trattini (-). L'ID non può iniziare o terminare con un trattino. Se il nome è vuoto al momento della creazione, verrà generato un nome univoco. Esempio: files/123-456
displayName
string
Facoltativo. Il nome visualizzato leggibile per File
. Il nome visualizzato non deve contenere più di 512 caratteri, spazi inclusi. Esempio: "Immagine di benvenuto"
mimeType
string
Solo output. Tipo MIME del file.
sizeBytes
string (int64 format)
Solo output. Le dimensioni del file in byte.
createTime
string (Timestamp
format)
Solo output. Timestamp della creazione di File
.
Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
o "2014-10-02T15:01:23+05:30"
.
updateTime
string (Timestamp
format)
Solo output. Il timestamp dell'ultimo aggiornamento di File
.
Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
o "2014-10-02T15:01:23+05:30"
.
expirationTime
string (Timestamp
format)
Solo output. Il timestamp che indica quando verrà eliminato il File
. Impostato solo se la scadenza di File
è programmata.
Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
o "2014-10-02T15:01:23+05:30"
.
sha256Hash
string (bytes format)
Solo output. Hash SHA-256 dei byte caricati.
Una stringa con codifica Base64.
uri
string
Solo output. L'URI di File
.
downloadUri
string
Solo output. L'URI di download di File
.
state
enum (State
)
Solo output. Stato di elaborazione del file.
source
enum (Source
)
Origine del file.
error
object (Status
)
Solo output. Stato di errore se l'elaborazione del file non è riuscita.
metadata
Union type
metadata
può essere solo uno dei seguenti:videoMetadata
object (VideoFileMetadata
)
Solo output. Metadati di un video.
Rappresentazione JSON |
---|
{ "name": string, "displayName": string, "mimeType": string, "sizeBytes": string, "createTime": string, "updateTime": string, "expirationTime": string, "sha256Hash": string, "uri": string, "downloadUri": string, "state": enum ( |
VideoFileMetadata
Metadati di un video File
.
videoDuration
string (Duration
format)
Durata del video.
Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s
". Esempio: "3.5s"
.
Rappresentazione JSON |
---|
{ "videoDuration": string } |
Stato
Stati del ciclo di vita di un file.
Enum | |
---|---|
STATE_UNSPECIFIED |
Il valore predefinito. Questo valore viene utilizzato se lo stato viene omesso. |
PROCESSING |
Il file è in fase di elaborazione e non può ancora essere utilizzato per l'inferenza. |
ACTIVE |
Il file viene elaborato ed è disponibile per l'inferenza. |
FAILED |
L'elaborazione del file non è riuscita. |
Origine
Enum | |
---|---|
SOURCE_UNSPECIFIED |
Utilizzato se l'origine non è specificata. |
UPLOADED |
Indica che il file è stato caricato dall'utente. |
GENERATED |
Indica che il file è generato da Google. |
REGISTERED |
Indica che il file è registrato, ovvero un file Google Cloud Storage. |
Stato
Il tipo Status
definisce un modello di errore logico adatto a diversi ambienti di programmazione, tra cui API REST e API RPC. Viene utilizzato da gRPC. Ogni messaggio Status
contiene tre elementi di dati: codice di errore, messaggio di errore e dettagli dell'errore.
Puoi scoprire di più su questo modello di errore e su come utilizzarlo nella guida alla progettazione delle API.
code
integer
Il codice di stato, che deve essere un valore enum di google.rpc.Code
.
message
string
Un messaggio di errore rivolto agli sviluppatori, che deve essere in inglese. Qualsiasi messaggio di errore rivolto all'utente deve essere localizzato e inviato nel campo google.rpc.Status.details
o localizzato dal client.
details[]
object
Un elenco di messaggi che contengono i dettagli dell'errore. Esiste un insieme comune di tipi di messaggi che le API possono utilizzare.
Un oggetto contenente campi di un tipo arbitrario. Un campo aggiuntivo "@type"
contiene un URI che identifica il tipo. Esempio: { "id": 1234, "@type": "types.example.com/standard/id" }
Rappresentazione JSON |
---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |