Google: Gemini Embedding 2
Gemini Embedding 2 bildet Text, Bilder, Audio, Video und PDF auf einen gemeinsamen numerischen Raum ab. Seine Vektoren unterstützen modalitätsübergreifende Suche, Informationsabruf, Klassifikation und Clustering mit flexiblen Dimensionen und einer Eingabegrenze von 8.192 Tokens.
Über das Modell
Diese Beschreibung erläutert die Fähigkeiten des Modells. Die über Ailoot verfügbaren Eingaben, Ausgaben und Optionen sind unten für die ausgewählte Methode aufgeführt.
Gemini Embedding 2 ist Googles multimodales Embedding-Modell zur numerischen Repräsentation von Text, Bildern, Video, Audio und PDF. Es bildet die verschiedenen Medienarten auf einen gemeinsamen Raum ab, sodass eine Anwendung ihre Bedeutung über die Medien hinweg vergleichen kann. Das Ergebnis ist ein Zahlenvektor, nützlich für semantische Suche, Dokumentabruf, Empfehlungen, Klassifikation oder Clustering; es ist keine schriftliche Antwort und keine generierte Mediendatei. Google dokumentiert semantische Abdeckung über mehr als 100 Sprachen.
Erstellen Sie für eine Wissensbasis Vektoren der Quellpassagen, vergleichen Sie eine Nutzeranfrage damit und rufen Sie das relevante Material ab. Ein separates Textmodell kann anschließend mithilfe dieser Quellen eine Antwort verfassen. Bei einer Mediensammlung kann eine Textbeschreibung nach verwandten Bildern oder Videos suchen; auch ein Bild kann die Anfrage liefern. Bewahren Sie die Verbindung jedes Vektors zum Originalinhalt, einschließlich eines Seiten- oder Clipverweises, damit das abgerufene Ergebnis geprüft und im ursprünglichen Kontext gezeigt werden kann.
Die gesamte Eingabegrenze beträgt 8.192 Tokens. Der Leitfaden des stabilen Modells erlaubt bis zu sechs PNG- oder JPEG-Bilder, bis zu 180 Sekunden MP3- oder WAV-Audio und bis zu 120 Sekunden MP4- oder MOV-Video. Dokumentierte Videocodecs sind H264, H265, AV1 und VP9. Die Videoverarbeitung verwendet höchstens 32 Einzelbilder: Clips bis zu 32 Sekunden werden mit einem Bild pro Sekunde abgetastet, längere Clips gleichmäßig auf 32 Einzelbilder verteilt. Die Audiospur eines Videos wird in dieser Videoeingabe nicht verarbeitet; betten Sie den Ton separat ein, wenn er für die Informationssuche wichtig ist.
PDF-Eingabe akzeptiert eine Datei mit höchstens sechs Seiten. Google empfiehlt für beste Qualität eine Seite pro PDF. Teilen Sie eine größere Quelle in sinnvolle Seiten oder Abschnitte auf und bewahren Sie deren Beziehung zum Originaldokument. Wählen Sie einen Ausschnitt, der das abrufbare Material repräsentiert, statt sachfremde Materialien nur deshalb zu kombinieren, weil sie in die Grenze passen. Die gemeinsame Tokengrenze gilt weiterhin für Anfragen mit mehreren Medienarten. Jede PDF-Seite verbraucht 258 visuelle Tokens zusätzlich zu ihren extrahierten Texttokens. Im dokumentierten Google-Ablauf werden Inhalte jenseits der gemeinsamen Grenze von 8.192 Tokens ohne Fehlermeldung gekürzt.
Die Ausgabedimensionalität ist von 128 bis 3.072 flexibel, mit 3.072 als Standard und 768, 1.536 sowie 3.072 als empfohlenen Größen. Das Modell verwendet Matryoshka Representation Learning, sodass Vektorpräfixe bei kleineren Dimensionen nützlich bleiben. Sein Leitfaden dokumentiert automatische Normalisierung sowohl für Standardvektoren als auch für verkürzte Vektoren. Wählen Sie eine einheitliche Dimension für die Datensätze und Anfragen, die Ihre Anwendung vergleicht; die angeforderte Größe verändert die numerische Repräsentation, nicht den Quellinhalt selbst.
Geben Sie für reine Textaufgaben den Zweck im Text an, statt das ältere Feld task_type zu verwenden. Google unterscheidet asymmetrische Informationssuche von symmetrischem Vergleich. Eine Suchanfrage verwendet „task: search result | query: {content}“, während ein Quelldokument „title: {title} | text: {content}“ verwendet; nutzen Sie „title: none“, wenn es keinen Titel hat. Frage-Antwort-, Faktenprüfungs- und Codesuchaufgaben haben eigene Anfragepräfixe. Verwenden Sie für Klassifikation, Clustering oder Satzähnlichkeit dasselbe Aufgabenformat durchgehend auf beiden Seiten. Der Leitfaden rät generell davon ab, dem Textteil einer kombinierten multimodalen Repräsentation ein Aufgabenpräfix hinzuzufügen.
Die Eingabestruktur bestimmt, ob das Ergebnis ein kombiniertes Objekt oder separate Elemente repräsentiert. Mehrere gemeinsam bereitgestellte Teile erzeugen ein aggregiertes Embedding; separate Content-Objekte erzeugen separate Embeddings für jeden Eintrag. Bei einem Beitrag mit Text und Bild kann eine kombinierte Repräsentation deren Beziehung erfassen. Halten Sie unabhängig durchsuchbare Datensätze getrennt. Diese Wahl beeinflusst die Suchgranularität: Ein Vektor für einen ganzen Beitrag unterscheidet sich von einem Vektor für jede Passage oder jedes Bild.
Der Leitfaden erklärt, dass Vektoren von Gemini Embedding 001 und Gemini Embedding 2 inkompatible Räume belegen und nicht direkt verglichen werden können. Eine aus dem älteren Modell migrierte Sammlung muss für den neuen Raum erneut eingebettet werden. Halten Sie Modellwahl und Dimensionen mit den verglichenen Vektoren konsistent und bewahren Sie Originaltext und Medien separat vom numerischen Index. Die Ähnlichkeit eines Embeddings ist ein Suchsignal und keine sachliche Erklärung, warum ein Dokument die Nutzerfrage beantwortet.
Betten Sie für einen praktischen Katalog ein Produktfoto zusammen mit seiner freigegebenen Beschreibung ein, wenn das Paar als ein Objekt abgerufen werden soll. Betten Sie für eine Dokumentensammlung fokussierte Passagen ein, vergleichen Sie sie mit einer zweckformatierten Anfrage und präsentieren Sie anschließend die Quellpassagen neben dem Suchergebnis. Wählen Sie für Audio oder Video den Abschnitt, der das durchsuchbare Ereignis beschreibt, und bewahren Sie dessen ursprünglichen Zeitbereich. Das nützliche Ergebnis ist eine mit Quellbelegen verknüpfte numerische Repräsentation für den nächsten Such- oder Analyseschritt der Anwendung.
Ailoot Ultra · Embeddings POST /v1/embeddings google/gemini-embedding-2
google/gemini-embedding-2Einstieg
Gemini Embedding 2 bildet Text, Bilder, Audio, Video und PDF auf einen gemeinsamen numerischen Raum ab. Seine Vektoren unterstützen modalitätsübergreifende Suche, Informationsabruf, Klassifikation und Clustering mit flexiblen Dimensionen und einer Eingabegrenze von 8.192 Tokens.
- Zulässige Eingaben
- Text · token_ids
- Ergebnisse
- embedding
In Ailoot verfügbar · Eingaben und Methoden
Ailoot Ultra · Embeddings POST /v1/embeddings
- Eingabe
text,token_ids- Ausgabe
embedding- Kontext
- 8 192 tokens
- Ausgabeformat
- json
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits google/gemini-embedding-2 | Standard— |
Feldinput | Typstring|string[]|integer[]|integer[][] | AnforderungErforderlich | Werte und Limits Mindestanzahl Elemente: 1 Bedingungen: Nicht leerer, homogener Batch. Token-IDs sind nichtnegative Ganzzahlen. Eingabebudget: Maximum: 8 192 · Texteinheit: UTF8-Bytes · Tokeneinheit: Elemente des Token-Arrays | Standard— |
Feldencoding_format | Typstring | AnforderungOptional | Werte und Limits float | Standardfloat |
Felddimensions | Typinteger | AnforderungNicht unterstützt | Werte und Limits Minimum: 1 | Standard— |
Felduser | Typjson_value | AnforderungOptional | Werte und Limits Bedingungen: Die Quelle lässt dieses JSON-Metadatenfeld zu; die genaue Semantik des vorgelagerten Systems ist modellspezifisch. | Standard— |
Feldsession_id | Typjson_value | AnforderungOptional | Werte und Limits Bedingungen: Die Quelle lässt dieses JSON-Metadatenfeld zu; die genaue Semantik des vorgelagerten Systems ist modellspezifisch. | Standard— |
Feldtrace | Typjson_value | AnforderungOptional | Werte und Limits Bedingungen: Die Quelle lässt dieses JSON-Metadatenfeld zu; die genaue Semantik des vorgelagerten Systems ist modellspezifisch. | Standard— |
Feldprovider | Typobject | AnforderungOptional | Werte und Limits Bedingungen: provider.options abgelehnt | Standard— |
Kombinationen von Eingabematerialien
text_to_embedding
Methodenparameter und Lebenszyklus
| Parameter | Vertrag |
|---|---|
Parametercontent_type | Vertragapplication/json |
Parameterrequired | Vertragmodel, input |
Parameterinput_shapes | Vertragstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parameterencoding_format | Vertragfloat |
Parameterdimensions_override | Vertragfalse |
Parametermax_input_budget_units | Vertrag8192 |
Parametermultimodal_objects | Vertragfalse |
Parametermaterial_types | Vertragtext, token_ids |
Lebenszyklus: synchronous_json
Jeden Vektorindex und jede Dimension beibehalten.
Ein multimodaler Modellname erlaubt auf genau diesem Pfad keine Bildobjekte.
Tarife
Tarifangaben erweitern die Anfrageoptionen nicht. Unterstützte Parameter stehen bei der ausgewählten Methode.
- Schnellmodus
- Standardtarif Wenn der Schnellmodus ausgewählt ist
- Flex-Modus
- Standardtarif Wenn der Modus flex ausgewählt ist
- Maximaler Denkaufwand
- Standardtarif Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird
Ailoot-Tarife
Preise nach Konfiguration
| Konfiguration | Tarifstaffel | Gebühr |
|---|---|---|
| KonfigurationBasistarife für Token | TarifstaffelGrundtarif | Gebühr Eingabe · Eingabetoken $0.0004 / 1K Tokens Ausgabe · Ausgabetoken $0 / 1K Tokens Eingabe · Cache lesen — / 1K Tokens Eingabe · In Cache schreiben — / 1K Tokens Eingabe · In Cache schreiben, 1 Stunde — / 1K Tokens |
Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschließenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →
Beispielanfragen
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)
Ergebnisse abrufen und speichern
Ailoot Ultra · Embeddings
json
Alle fertiggestellten Ergebnisse aufbewahren
Bewahren Sie jede vollständig zurückgegebene Antwort, Datei und jeden Inhaltsteil auf.
Jeden Vektor mit seinem Index beibehalten. Die Anzahl der Vektoren muss der Anzahl der Eingaben entsprechen; die Dimensionen müssen konsistent sein.
Wenn die ursprüngliche Antwort geprüft werden muss
Es wird kein Endpunkt für Embedding-Aufträge eingeführt.
Antwortfelder
| Feld | Typ |
|---|---|
Feldobject | Typstring |
Feldmodel | Typstring |
Felddata[].index | Typinteger |
Felddata[].embedding | Typfinite float[] |
Feldusage | Typobject |
Fehler und nächste Schritte
| Antwort | Bedingung | Nächster Schritt |
|---|---|---|
Antwort400 · invalid_request_error | BedingungPflichtfelder, Darstellung des Eingabematerials oder Parameterwert ungültig | Nächster SchrittDie angegebenen Felder vor einer neuen Erstellungsanfrage korrigieren. |
Aliasnamen
Modellaliasnamen
Ailoot Ultra google/gemini-embedding-2
Aliasnamen für Methodenpfade
Verwenden Sie die oben angezeigten Methodenpfade.
Zugehörige Aufrufer-IDs
FAQ · Google: Gemini Embedding 2
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/embeddings·google/gemini-embedding-2:text,token_ids→embedding- Welche Felder verwendet die Anfrage?
POST /v1/embeddings·google/gemini-embedding-2:model,input,encoding_format,provider- Welche Grenzen gelten?
POST /v1/embeddings·google/gemini-embedding-2:ctx:8192;input.budget.maximum:8192(UTF8-Bytes);input.min_items:1