Google: Gemini Embedding 2
Gemini Embedding 2 trasforma testo, immagini, audio, video e PDF in uno spazio numerico condiviso. I suoi vettori supportano ricerca tra modalità, recupero, classificazione e clustering, con dimensioni flessibili e un limite di input di 8192 token.
Informazioni sul modello
Questa descrizione illustra le funzionalità del modello. Gli input, gli output e le opzioni disponibili in Ailoot per il metodo selezionato sono elencati di seguito.
Gemini Embedding 2 è il modello di embedding multimodale di Google per rappresentare numericamente testo, immagini, video, audio e PDF. Trasforma i diversi tipi di media in uno spazio condiviso, affinché un’applicazione possa confrontarne il significato tra modalità. Il risultato è un vettore di numeri, utile per ricerca semantica, recupero di documenti, raccomandazione, classificazione o clustering; non è una risposta scritta né un file multimediale generato. Google documenta una copertura semantica in oltre 100 lingue.
Per una base di conoscenze, crea vettori per i passaggi di origine, confronta con essi la query di un utente e recupera il materiale pertinente. Un modello testuale separato può poi comporre una risposta usando quelle fonti. Per una raccolta multimediale, una descrizione testuale può cercare immagini o video correlati; anche un’immagine può fornire la query. Preserva il collegamento di ogni vettore al contenuto originale, compreso un riferimento di pagina o clip, affinché il risultato recuperato possa essere esaminato e mostrato nel suo contesto originale.
Il limite complessivo di input è di 8192 token. La guida del modello stabile permette fino a sei immagini PNG o JPEG, fino a 180 secondi di audio MP3 o WAV e fino a 120 secondi di video MP4 o MOV. I codec video documentati sono H264, H265, AV1 e VP9. L’elaborazione video usa al massimo 32 fotogrammi: clip fino a 32 secondi vengono campionate a un fotogramma al secondo, mentre clip più lunghe vengono campionate uniformemente in 32 fotogrammi. La traccia audio di un video non viene elaborata in quell’input video; codifica separatamente il suono quando conta per il recupero.
L’input PDF accetta un file con al massimo sei pagine. Google raccomanda una pagina per PDF per la qualità migliore. Dividi una fonte più grande in pagine o sezioni significative e conserva il rapporto con il documento originale. Scegli un estratto che rappresenti ciò che deve essere recuperabile anziché combinare materiale non correlato soltanto perché rientra nel limite. Il confine condiviso in token si applica comunque a una richiesta con media misti. Ogni pagina PDF consuma 258 token visivi oltre ai token del testo estratto. Nel flusso documentato di Google, il contenuto che supera il limite condiviso di 8192 token viene troncato senza errore.
La dimensionalità dell’output è flessibile da 128 a 3072, con 3072 come valore predefinito e 768, 1536 e 3072 come dimensioni raccomandate. Il modello usa Matryoshka Representation Learning, quindi i prefissi del vettore rimangono utili a dimensioni inferiori. La guida documenta la normalizzazione automatica sia dei vettori predefiniti sia di quelli accorciati. Scegli una dimensione coerente per record e query confrontati dall’applicazione; la dimensione richiesta cambia la rappresentazione numerica, non il contenuto di origine stesso.
Per le attività solo testuali, includi lo scopo nel testo anziché usare il vecchio campo task_type. Google distingue il recupero asimmetrico dal confronto simmetrico. Una query di ricerca usa «task: search result | query: {content}», mentre un documento di origine usa «title: {title} | text: {content}»; usa «title: none» se non ha titolo. Le attività di domanda-risposta, verifica dei fatti e recupero di codice hanno propri prefissi di query. Per classificazione, clustering o similarità tra frasi, usa coerentemente lo stesso formato di attività su entrambi i lati. La guida generalmente sconsiglia di aggiungere un prefisso di attività alla porzione testuale di una rappresentazione multimodale combinata.
La struttura di input determina se il risultato rappresenta un oggetto combinato o elementi separati. Più parti fornite insieme creano un embedding aggregato; oggetti Content separati creano embedding distinti per ogni voce. Per un post contenente testo e un’immagine, una rappresentazione combinata può catturarne il rapporto. Per record ricercabili indipendentemente, mantienili separati. Questa scelta influisce sulla granularità del recupero: un vettore per un post intero è diverso da uno per ogni passaggio o immagine.
La guida afferma che i vettori di Gemini Embedding 001 e Gemini Embedding 2 occupano spazi incompatibili e non possono essere confrontati direttamente. Una raccolta migrata dal modello precedente deve essere ricodificata nel nuovo spazio. Mantieni coerenti la scelta del modello e le dimensioni con i vettori confrontati e conserva testo e media originali separatamente dall’indice numerico. La similarità di un embedding è un segnale di recupero, anziché una spiegazione fattuale del motivo per cui un documento risponde alla domanda dell’utente.
Per un catalogo concreto, codifica una fotografia di prodotto insieme alla descrizione approvata quando la coppia deve essere recuperata come un solo oggetto. Per una raccolta documentale, codifica passaggi mirati e confrontali con una query formattata per lo scopo, quindi presenta i passaggi di origine insieme al risultato di ricerca. Per audio o video, scegli la sequenza che descrive l’evento ricercabile e conserva il suo intervallo temporale originale. Il risultato utile è una rappresentazione numerica collegata a elementi di origine per il successivo passaggio di ricerca o analisi dell’applicazione.
Ailoot Ultra · Embedding POST /v1/embeddings google/gemini-embedding-2
google/gemini-embedding-2Introduzione
Gemini Embedding 2 trasforma testo, immagini, audio, video e PDF in uno spazio numerico condiviso. I suoi vettori supportano ricerca tra modalità, recupero, classificazione e clustering, con dimensioni flessibili e un limite di input di 8192 token.
- Input accettati
- Testo · token_ids
- Risultati
- embedding
Disponibile in Ailoot · input e metodi
Ailoot Ultra · Embedding POST /v1/embeddings
- Tipi di input
text,token_ids- Tipi di output
embedding- Contesto
- 8192 tokens
- Formato di output
- json
| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObbligatorio | Valori e limiti google/gemini-embedding-2 | Predefinito— |
Campoinput | Tipostring|string[]|integer[]|integer[][] | RequisitoObbligatorio | Valori e limiti Numero minimo di elementi: 1 Condizioni: Batch omogeneo non vuoto. Gli ID dei token sono numeri interi non negativi. Budget di input: Massimo: 8192 · Unità di testo: byte UTF8 · Unità di token: elementi dell’array di token | Predefinito— |
Campoencoding_format | Tipostring | RequisitoFacoltativo | Valori e limiti float | Predefinitofloat |
Campodimensions | Tipointeger | RequisitoNon supportato | Valori e limiti Minimo: 1 | Predefinito— |
Campouser | Tipojson_value | RequisitoFacoltativo | Valori e limiti Condizioni: La fonte consente questo campo di metadati JSON; la semantica esatta del fornitore a monte dipende dal modello. | Predefinito— |
Camposession_id | Tipojson_value | RequisitoFacoltativo | Valori e limiti Condizioni: La fonte consente questo campo di metadati JSON; la semantica esatta del fornitore a monte dipende dal modello. | Predefinito— |
Campotrace | Tipojson_value | RequisitoFacoltativo | Valori e limiti Condizioni: La fonte consente questo campo di metadati JSON; la semantica esatta del fornitore a monte dipende dal modello. | Predefinito— |
Campoprovider | Tipoobject | RequisitoFacoltativo | Valori e limiti Condizioni: provider.options rifiutato | Predefinito— |
Combinazioni di materiali in input
text_to_embedding
Parametri e ciclo di vita del metodo
| Parametro | Contratto |
|---|---|
Parametrocontent_type | Contrattoapplication/json |
Parametrorequired | Contrattomodel, input |
Parametroinput_shapes | Contrattostring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parametroencoding_format | Contrattofloat |
Parametrodimensions_override | Contrattofalse |
Parametromax_input_budget_units | Contratto8192 |
Parametromultimodal_objects | Contrattofalse |
Parametromaterial_types | Contrattotext, token_ids |
Ciclo di vita: synchronous_json
Conserva l'indice e la dimensione di ogni vettore.
Il nome del modello multimodale non consente oggetti immagine su questo percorso specifico.
Tariffe
Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.
- Modalità rapida
- Tariffa standard Quando è selezionata la modalità rapida
- Modalità flex
- Tariffa standard Quando è selezionata la modalità flex
- Sforzo massimo di ragionamento
- Tariffa standard Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)
Tariffe Ailoot
Prezzi per configurazione
| Configurazione | Listino delle tariffe | Costo |
|---|---|---|
| ConfigurazioneTariffe di base dei token | Listino delle tariffeTariffa base | Costo Input · Token in input $0.0004 / 1K token Output · Token in output $0 / 1K token Input · Lettura dalla cache — / 1K token Input · Scrittura nella cache — / 1K token Input · Scrittura nella cache, 1 ora — / 1K token |
Ailoot prenota un importo stimato prima di una richiesta. Dopo il risultato, addebita il costo finale in base all’utilizzo misurato. Per lo streaming, l’addebito usa il record finale di utilizzo. Come funzionano la prenotazione e l’addebito finale →
Esempi di richieste
Ailoot Ultra · Embedding
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "google/gemini-embedding-2", "input": ["First document", "Second document"]}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("data",[]): print(json.dumps({"index":x.get("index"),"embedding":x.get("embedding")}))
PY_RESULT
from openai import OpenAI
import os
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.embeddings.create(model='google/gemini-embedding-2',input=["First document","Second document"])
print(result)
for item in result.data:print(item.index,item.embedding)
Ricevi e salva i risultati
Ailoot Ultra · Embedding
json
Conserva tutti i risultati completati
Conserva ogni risposta, file e parte di contenuto restituiti per intero.
Conserva ogni vettore con il suo indice. Il numero di vettori deve coincidere con il numero di input; le dimensioni devono essere coerenti.
Se occorre verificare la risposta originale
Non viene introdotto alcun endpoint per i job di embedding.
Campi della risposta
| Campo | Tipo |
|---|---|
Campoobject | Tipostring |
Campomodel | Tipostring |
Campodata[].index | Tipointeger |
Campodata[].embedding | Tipofinite float[] |
Campousage | Tipoobject |
Errori e passaggi successivi
| Risposta | Condizione | Passaggio successivo |
|---|---|---|
Risposta400 · invalid_request_error | CondizioneCampi obbligatori, rappresentazione del materiale o valore del parametro non validi | Passaggio successivoCorreggi i campi indicati prima di una nuova richiesta di creazione. |
Alias
Alias del modello
Ailoot Ultra google/gemini-embedding-2
Alias dei percorsi dei metodi
Usa i percorsi dei metodi indicati sopra.
ID di chiamata correlati
FAQ · Google: Gemini Embedding 2
- Quali input e risultati sono disponibili?
POST /v1/embeddings·google/gemini-embedding-2:text,token_ids→embedding- Quali campi usa la richiesta?
POST /v1/embeddings·google/gemini-embedding-2:model,input,encoding_format,provider- Quali limiti si applicano?
POST /v1/embeddings·google/gemini-embedding-2:ctx:8192;input.budget.maximum:8192(byte UTF8);input.min_items:1