Google: Gemini Embedding 2
Gemini Embedding 2 avbildar text, bilder, ljud, video och PDF i ett gemensamt numeriskt rum. Vektorerna stöder sökning mellan modaliteter, informationssökning, klassificering och klustring, med flexibla dimensioner och en indatagräns på 8 192 token.
Om modellen
Den här beskrivningen omfattar modellens förmågor. Tillgängliga indata, utdata och alternativ i Ailoot anges nedan för den valda metoden.
Gemini Embedding 2 är Googles multimodala inbäddningsmodell för numerisk representation av text, bilder, video, ljud och PDF. Den avbildar de olika medietyperna i ett gemensamt rum så att en applikation kan jämföra betydelse mellan dem. Resultatet är en vektor av tal som kan användas för semantisk sökning, dokumenthämtning, rekommendationer, klassificering eller klustring; det är inget skriftligt svar eller någon genererad mediefil. Google dokumenterar semantisk täckning på fler än 100 språk.
För en kunskapsbas skapas vektorer för källtextstyckena, användarens fråga jämförs med dem och det relevanta materialet hämtas. En separat textmodell kan därefter formulera ett svar med dessa källor som stöd. I en mediesamling kan en textbeskrivning söka efter relaterade bilder eller videor; även en bild kan utgöra frågan. Bevara varje vektors koppling till originalinnehållet, inklusive en sid- eller klippreferens, så att det hämtade resultatet kan granskas och visas i sitt ursprungliga sammanhang.
Den totala indatagränsen är 8 192 token. Guiden för den stabila modellen tillåter upp till sex PNG- eller JPEG-bilder, upp till 180 sekunders MP3- eller WAV-ljud och upp till 120 sekunders MP4- eller MOV-video. Dokumenterade videokodekar är H264, H265, AV1 och VP9. Videobearbetningen använder högst 32 bildrutor: från klipp på upp till 32 sekunder tas en bildruta per sekund, medan 32 bildrutor tas jämnt fördelade från längre klipp. Videons ljudspår bearbetas inte som en del av videoinmatningen; bädda in ljudet separat när det är relevant för sökningen.
PDF-indata accepterar en fil med högst sex sidor. Google rekommenderar en sida per PDF för bästa kvalitet. Dela upp en större källa i meningsfulla sidor eller avsnitt och bevara deras koppling till originaldokumentet. Välj ett utdrag som representerar det som ska kunna hittas, i stället för att kombinera orelaterat material enbart för att det ryms inom gränsen. Den gemensamma tokengränsen gäller även för en begäran med blandade medier. Varje PDF-sida förbrukar 258 visuella token utöver token från den extraherade texten. I Googles dokumenterade arbetsflöde trunkeras innehåll som överskrider den gemensamma gränsen på 8 192 token utan fel.
Utdatadimensionen kan väljas från 128 till 3 072, med 3 072 som standard och 768, 1 536 och 3 072 som rekommenderade storlekar. Modellen använder Matryoshka Representation Learning, så att vektorns inledande delar förblir användbara vid mindre dimensioner. Guiden dokumenterar automatisk normalisering för både standardvektorer och förkortade vektorer. Välj samma dimension för de poster och frågor som applikationen jämför; den begärda storleken ändrar den numeriska representationen, inte själva källinnehållet.
För uppgifter med enbart text anges syftet i texten i stället för i det äldre task_type-fältet. Google skiljer mellan asymmetrisk sökning och symmetrisk jämförelse. En sökfråga använder “task: search result | query: {content}”, medan ett källdokument använder “title: {title} | text: {content}”; använd “title: none” om det saknar titel. Fråga–svar-, faktakontroll- och kodsökningsuppgifter har egna frågeprefix. Vid klassificering, klustring eller meningslikhet används samma uppgiftsformat konsekvent på båda sidor. Guiden avråder generellt från att lägga till ett uppgiftsprefix i textdelen av en kombinerad multimodal representation.
Indatastrukturen avgör om resultatet representerar ett kombinerat objekt eller separata objekt. Flera delar som anges tillsammans skapar en sammanlagd inbäddning; separata Content-objekt skapar separata inbäddningar för varje post. För ett inlägg med text och bild kan en kombinerad representation fånga relationen mellan dem. Håll poster som ska kunna sökas fram var för sig separata. Detta val påverkar sökningens detaljnivå: en vektor för ett helt inlägg skiljer sig från en för varje textstycke eller bild.
Guiden anger att vektorer från Gemini Embedding 001 och Gemini Embedding 2 ligger i inkompatibla rum och inte kan jämföras direkt. En samling som migreras från den äldre modellen behöver bäddas in på nytt för det nya rummet. Håll modellval och dimensioner konsekventa för de vektorer som jämförs, och lagra originaltext och medier separat från det numeriska indexet. Likhet mellan inbäddningar är en söksignal snarare än en faktabaserad förklaring till varför ett dokument besvarar användarens fråga.
För en praktisk katalog bäddas ett produktfoto in tillsammans med dess godkända beskrivning när paret ska kunna hittas som ett objekt. För en dokumentsamling bäddas avgränsade textstycken in och jämförs med en fråga formaterad efter syftet; visa sedan källtextstyckena tillsammans med sökresultatet. För ljud eller video väljs den episod som beskriver den sökbara händelsen, och dess ursprungliga tidsintervall bevaras. Den användbara leveransen är en numerisk representation kopplad till källbelägg för applikationens nästa sök- eller analyssteg.
Ailoot Ultra · Embeddings POST /v1/embeddings google/gemini-embedding-2
google/gemini-embedding-2Start
Gemini Embedding 2 avbildar text, bilder, ljud, video och PDF i ett gemensamt numeriskt rum. Vektorerna stöder sökning mellan modaliteter, informationssökning, klassificering och klustring, med flexibla dimensioner och en indatagräns på 8 192 token.
- Godkända indata
- Text · token_ids
- Resultat
- embedding
Tillgängligt i Ailoot · indata & metoder
Ailoot Ultra · Embeddings POST /v1/embeddings
- Indatatyper
text,token_ids- Utdatatyper
embedding- Kontext
- 8 192 tokens
- Utdataformat
- json
| Fält | Typ | Krav | Värden & gränser | Standard |
|---|---|---|---|---|
Fältmodel | Typstring | KravObligatoriskt | Värden & gränser google/gemini-embedding-2 | Standard— |
Fältinput | Typstring|string[]|integer[]|integer[][] | KravObligatoriskt | Värden & gränser Minsta antal objekt: 1 Villkor: En homogen batch som inte är tom. Token-ID:n är heltal som är större än eller lika med noll. Indatabudget: Maximum: 8 192 · Textenhet: UTF8-byte · Tokenenhet: element i en tokenarray | Standard— |
Fältencoding_format | Typstring | KravValfritt | Värden & gränser float | Standardfloat |
Fältdimensions | Typinteger | KravStöds inte | Värden & gränser Minimum: 1 | Standard— |
Fältuser | Typjson_value | KravValfritt | Värden & gränser Villkor: Källan tillåter detta JSON-metadatafält; den exakta innebörden hos leverantören beror på modellen. | Standard— |
Fältsession_id | Typjson_value | KravValfritt | Värden & gränser Villkor: Källan tillåter detta JSON-metadatafält; den exakta innebörden hos leverantören beror på modellen. | Standard— |
Fälttrace | Typjson_value | KravValfritt | Värden & gränser Villkor: Källan tillåter detta JSON-metadatafält; den exakta innebörden hos leverantören beror på modellen. | Standard— |
Fältprovider | Typobject | KravValfritt | Värden & gränser Villkor: provider.options avvisades | Standard— |
Kombinationer av indatamaterial
text_to_embedding
Metodparametrar och livscykel
| Parameter | Avtal |
|---|---|
Parametercontent_type | Avtalapplication/json |
Parameterrequired | Avtalmodel, input |
Parameterinput_shapes | Avtalstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parameterencoding_format | Avtalfloat |
Parameterdimensions_override | Avtalfalse |
Parametermax_input_budget_units | Avtal8192 |
Parametermultimodal_objects | Avtalfalse |
Parametermaterial_types | Avtaltext, token_ids |
Livscykel: synchronous_json
Behåll varje vektorindex och dimension.
Att modellen har ett multimodalt namn innebär inte att bildobjekt tillåts på just denna anropsväg.
Priser
Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.
- Snabbt läge
- Standardpris När snabbt läge är valt
- Flex-läge
- Standardpris När läget flex är valt
- Högsta resonemangsnivå
- Standardpris När den högsta resonemangsnivån använder standardjusteringen (default)
Ailoot-priser
Priser efter konfiguration
| Konfiguration | Prislista | Avgift |
|---|---|---|
| KonfigurationGrundpriser för token | PrislistaGrundpris | Avgift Indata · Indatatoken $0.0004 / 1K token Utdata · Utdatatoken $0 / 1K token Indata · Cacheläsning — / 1K token Indata · Skrivning till cache — / 1K token Indata · Skrivning till cache, 1 tim — / 1K token |
Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. Så fungerar reservation och slutreglering →
Exempelbegäranden
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)
Ta emot och spara resultat
Ailoot Ultra · Embeddings
json
Behåll alla färdiga resultat
Behåll varje fullständigt returnerat svar, fil och innehållsdel.
Behåll varje vektor tillsammans med dess index. Antalet vektorer måste vara lika med antalet indataobjekt; dimensionerna måste vara konsekventa.
Om det ursprungliga svaret behöver kontrolleras
Ingen endpoint för inbäddningsjobb införs.
Svarsfält
| Fält | Typ |
|---|---|
Fältobject | Typstring |
Fältmodel | Typstring |
Fältdata[].index | Typinteger |
Fältdata[].embedding | Typfinite float[] |
Fältusage | Typobject |
Fel och nästa steg
| Svar | Villkor | Nästa steg |
|---|---|---|
Svar400 · invalid_request_error | VillkorOgiltiga obligatoriska fält, ogiltig representation av underlaget eller ogiltigt parametervärde | Nästa stegKorrigera de angivna fälten före en ny begäran om att skapa. |
Alias
Modellalias
Ailoot Ultra google/gemini-embedding-2
Alias för metodsökvägar
Använd metodsökvägarna som visas ovan.
Relaterade anropar-ID:n
FAQ · Google: Gemini Embedding 2
- Vilka indata och resultat finns?
POST /v1/embeddings·google/gemini-embedding-2:text,token_ids→embedding- Vilka fält använder begäran?
POST /v1/embeddings·google/gemini-embedding-2:model,input,encoding_format,provider- Vilka gränser gäller?
POST /v1/embeddings·google/gemini-embedding-2:ctx:8192;input.budget.maximum:8192(UTF8-byte);input.min_items:1