Google: Gemini Embedding 2
Gemini Embedding 2 zet tekst, afbeeldingen, audio, video en PDF om in een gedeelde numerieke ruimte. De vectoren ondersteunen modaliteitsoverschrijdend zoeken, informatieopvraging, classificatie en clustering, met flexibele dimensies en een invoerlimiet van 8.192 tokens.
Over het model
Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.
Gemini Embedding 2 is het multimodale embeddingmodel van Google voor de numerieke representatie van tekst, afbeeldingen, video, audio en PDF. Het zet verschillende mediatypen om in een gedeelde ruimte, zodat een toepassing de betekenis over die typen heen kan vergelijken. Het resultaat is een vector van getallen, bruikbaar voor semantisch zoeken, documentopvraging, aanbevelingen, classificatie of clustering; het is geen geschreven antwoord of gegenereerd mediabestand. Google documenteert semantische dekking over meer dan 100 talen.
Maak voor een kennisbasis vectoren voor de bronpassages, vergelijk een gebruikersvraag ermee en haal het relevante materiaal op. Een afzonderlijk tekstmodel kan dan met die bronnen een antwoord opstellen. Voor een mediaverzameling kan een tekstbeschrijving naar verwante afbeeldingen of video zoeken; een afbeelding kan ook de zoekvraag leveren. Behoud de koppeling van elke vector aan de oorspronkelijke inhoud, inclusief een pagina- of clipverwijzing, zodat het opgehaalde resultaat kan worden onderzocht en in de oorspronkelijke context getoond.
De totale invoerlimiet is 8.192 tokens. De gids van het stabiele model staat maximaal zes PNG- of JPEG-afbeeldingen, maximaal 180 seconden MP3- of WAV-audio en maximaal 120 seconden MP4- of MOV-video toe. Gedocumenteerde videocodecs zijn H264, H265, AV1 en VP9. Videoverwerking gebruikt maximaal 32 frames: clips tot 32 seconden worden met één frame per seconde bemonsterd, terwijl langere clips gelijkmatig tot 32 frames worden bemonsterd. Het audiospoor van een video wordt niet verwerkt in die video-invoer; embed het geluid afzonderlijk wanneer het voor informatieopvraging belangrijk is.
PDF-invoer accepteert één bestand met maximaal zes pagina's. Google beveelt één pagina per PDF aan voor de beste kwaliteit. Verdeel een grotere bron in betekenisvolle pagina's of secties en behoud hun relatie tot het oorspronkelijke document. Kies een fragment dat representeert wat opvraagbaar moet zijn in plaats van niet-gerelateerd materiaal alleen te combineren omdat het binnen de limiet past. De gedeelde tokengrens blijft van toepassing op een aanvraag met gemengde media. Elke PDF-pagina verbruikt 258 visuele tokens naast de tokens van de geëxtraheerde tekst. In de gedocumenteerde Google-workflow wordt inhoud die de gedeelde limiet van 8.192 tokens overschrijdt zonder fout afgekapt.
De uitvoerdimensionaliteit is flexibel van 128 tot 3.072, met 3.072 als standaard en 768, 1.536 en 3.072 als aanbevolen groottes. Het model gebruikt Matryoshka Representation Learning, zodat prefixen van de vector bij kleinere dimensies bruikbaar blijven. De gids documenteert automatische normalisatie voor zowel de standaardvectoren als verkorte vectoren. Kies een consistente dimensie voor de records en zoekvragen die uw toepassing vergelijkt; de gevraagde grootte verandert de numerieke representatie, niet de broninhoud zelf.
Neem voor uitsluitend tekstuele taken het doel in de tekst op in plaats van het oudere veld task_type te gebruiken. Google onderscheidt asymmetrische informatieopvraging van symmetrische vergelijking. Een zoekvraag gebruikt “task: search result | query: {content}”, terwijl een brondocument “title: {title} | text: {content}” gebruikt; gebruik “title: none” als het geen titel heeft. Vraag-antwoord-, feitencontrole- en codezoekopdrachten hebben hun eigen zoekvraagprefixen. Gebruik voor classificatie, clustering of zinsgelijkenis consequent hetzelfde taakformaat aan beide kanten. De gids raadt doorgaans af een taakprefix aan het tekstdeel van een gecombineerde multimodale representatie toe te voegen.
De invoerstructuur bepaalt of het resultaat één gecombineerd object of afzonderlijke items representeert. Meerdere samen aangeleverde delen maken een geaggregeerde embedding; afzonderlijke Content-objecten maken afzonderlijke embeddings voor elk item. Voor een bericht met tekst en een afbeelding kan een gecombineerde representatie hun relatie vastleggen. Houd onafhankelijk doorzoekbare records gescheiden. Die keuze beïnvloedt de zoekgranulariteit: één vector voor een volledig bericht verschilt van één vector voor elke passage of afbeelding.
De gids stelt dat vectoren van Gemini Embedding 001 en Gemini Embedding 2 in incompatibele ruimtes liggen en niet rechtstreeks kunnen worden vergeleken. Een verzameling die van het oudere model wordt gemigreerd moet voor de nieuwe ruimte opnieuw worden ingebed. Houd modelkeuze en dimensies consistent met de vergeleken vectoren en bewaar oorspronkelijke tekst en media afzonderlijk van de numerieke index. Gelijkenis van een embedding is een zoeksignaal, geen feitelijke uitleg waarom een document de gebruikersvraag beantwoordt.
Embed voor een praktische catalogus een productfoto samen met de goedgekeurde beschrijving wanneer het paar als één object moet worden opgehaald. Embed voor een documentverzameling gerichte passages en vergelijk die met een voor het doel geformatteerde zoekvraag, en presenteer daarna de bronpassages naast het zoekresultaat. Kies voor audio of video het fragment dat de doorzoekbare gebeurtenis beschrijft en behoud het oorspronkelijke tijdsbereik. Het bruikbare resultaat is een numerieke representatie gekoppeld aan brononderbouwing voor de volgende zoek- of analysestap van de toepassing.
Ailoot Ultra · Embeddings POST /v1/embeddings google/gemini-embedding-2
google/gemini-embedding-2Aan de slag
Gemini Embedding 2 zet tekst, afbeeldingen, audio, video en PDF om in een gedeelde numerieke ruimte. De vectoren ondersteunen modaliteitsoverschrijdend zoeken, informatieopvraging, classificatie en clustering, met flexibele dimensies en een invoerlimiet van 8.192 tokens.
- Toegestane invoer
- Tekst · token_ids
- Resultaten
- embedding
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · Embeddings POST /v1/embeddings
- Invoertypen
text,token_ids- Uitvoertypen
embedding- Context
- 8.192 tokens
- Uitvoerformaat
- json
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldmodel | Typestring | VereisteVereist | Waarden en limieten google/gemini-embedding-2 | Standaard— |
Veldinput | Typestring|string[]|integer[]|integer[][] | VereisteVereist | Waarden en limieten Minimumaantal items: 1 Voorwaarden: Niet-lege homogene batch. Token-ID’s zijn niet-negatieve gehele getallen. Invoerbudget: Maximum: 8.192 · Teksteenheid: UTF8-bytes · Tokeneenheid: elementen van de token-array | Standaard— |
Veldencoding_format | Typestring | VereisteOptioneel | Waarden en limieten float | Standaardfloat |
Velddimensions | Typeinteger | VereisteNiet ondersteund | Waarden en limieten Minimum: 1 | Standaard— |
Velduser | Typejson_value | VereisteOptioneel | Waarden en limieten Voorwaarden: De bron staat dit JSON-metadataveld toe; de exacte betekenis bij de upstreamprovider verschilt per model. | Standaard— |
Veldsession_id | Typejson_value | VereisteOptioneel | Waarden en limieten Voorwaarden: De bron staat dit JSON-metadataveld toe; de exacte betekenis bij de upstreamprovider verschilt per model. | Standaard— |
Veldtrace | Typejson_value | VereisteOptioneel | Waarden en limieten Voorwaarden: De bron staat dit JSON-metadataveld toe; de exacte betekenis bij de upstreamprovider verschilt per model. | Standaard— |
Veldprovider | Typeobject | VereisteOptioneel | Waarden en limieten Voorwaarden: provider.options geweigerd | Standaard— |
Combinaties van invoermaterialen
text_to_embedding
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, input |
Parameterinput_shapes | Contractstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parameterencoding_format | Contractfloat |
Parameterdimensions_override | Contractfalse |
Parametermax_input_budget_units | Contract8192 |
Parametermultimodal_objects | Contractfalse |
Parametermaterial_types | Contracttext, token_ids |
Levenscyclus: synchronous_json
Bewaar elke vectorindex en dimensie.
Een multimodale modelnaam houdt niet in dat afbeeldingsobjecten op dit specifieke pad zijn toegestaan.
Tarieven
Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.
- Snelle modus
- Standaardtarief Wanneer de snelle modus is geselecteerd
- Flexmodus
- Standaardtarief Wanneer de modus flex is geselecteerd
- Maximale redeneerinspanning
- Standaardtarief Wanneer bij maximale redeneerinspanning de default-aanpassing wordt gebruikt
Ailoot-tarieven
Prijzen per configuratie
| Configuratie | Tariefstaffel | Kosten |
|---|---|---|
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Kosten Invoer · Invoertokens $0.0004 / 1K tokens Uitvoer · Uitvoertokens $0 / 1K tokens Invoer · Cache lezen — / 1K tokens Invoer · Cache schrijven — / 1K tokens Invoer · Cache schrijven, 1 uur — / 1K tokens |
Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →
Voorbeeldverzoeken
Ailoot Ultra · Embeddings
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)
Resultaten ophalen en opslaan
Ailoot Ultra · Embeddings
json
Alle voltooide resultaten bewaren
Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.
Bewaar elke vector met zijn index. Het aantal vectoren moet gelijk zijn aan het aantal invoeritems; de dimensies moeten consistent zijn.
Als het oorspronkelijke antwoord moet worden gecontroleerd
Er wordt geen endpoint voor embeddingtaken geïntroduceerd.
Antwoordvelden
| Veld | Type |
|---|---|
Veldobject | Typestring |
Veldmodel | Typestring |
Velddata[].index | Typeinteger |
Velddata[].embedding | Typefinite float[] |
Veldusage | Typeobject |
Fouten en vervolgstappen
| Antwoord | Voorwaarde | Volgende stap |
|---|---|---|
Antwoord400 · invalid_request_error | VoorwaardeVerplichte velden, de materiaalrepresentatie of een parameterwaarde zijn ongeldig | Volgende stapCorrigeer de aangegeven velden vóór een nieuwe aanmaakaanvraag. |
Aliasnamen
Modelaliasnamen
Ailoot Ultra google/gemini-embedding-2
Aliasnamen voor methodepaden
Gebruik de hierboven getoonde methodepaden.
Gerelateerde aanroeper-ID’s
FAQ · Google: Gemini Embedding 2
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/embeddings·google/gemini-embedding-2:text,token_ids→embedding- Welke velden gebruikt het verzoek?
POST /v1/embeddings·google/gemini-embedding-2:model,input,encoding_format,provider- Welke limieten gelden?
POST /v1/embeddings·google/gemini-embedding-2:ctx:8192;input.budget.maximum:8192(UTF8-bytes);input.min_items:1