Cursus
Zoek- en retrievalsystemen bouwen betekende vroeger dat je óf alles naar tekst vertaalde, óf een visiemodel en een tekstencoder combineerde die los van elkaar waren getraind. Dat werkt voor brede use-cases, maar je mist makkelijk diepere verbanden tussen tekst en beeld.
In dit artikel neem ik je mee door Gemini Embedding 2 en laat ik zien hoe het die wrijving wegneemt. Je leert wat het is, waarom het ertoe doet en hoe je het inzet in echte projecten.
Wat is Gemini Embedding 2?
Gemini Embedding 2 is Google’s nieuwste embeddingmodel, ontworpen voor multimodale codering. Met de Google genai Python-API kunnen ontwikkelaars het model gemini-embedding-2-preview gebruiken.
Op hoofdlijnen zetten embeddingmodellen data om in numerieke vectoren die betekenis vangen. Historisch waren deze modellen gericht op tekst. Gemini Embedding 2 breidt dat uit, zodat je meerdere datatypen met één model kunt verwerken.
De kernbelofte is simpel: we kunnen nu indexeren, vergelijken en zoeken over verschillende mediaformaten zonder voor elk een aparte pijplijn te bouwen.
De overstap naar native multimodaliteit
Oudere systemen gingen om met multimodale data via een omweg. Audio moest worden getranscribeerd. Video’s hadden ondertitels nodig. Afbeeldingen moesten worden getagd.
Elke stap voegde latentie en extra werk toe en kon betekenis doen verloren gaan. Al die moeite was bedoeld om alles te mappen naar één gedeelde vectorruimte die vaak tekstgebaseerd was.
Gemini Embedding 2 haalt die extra laag weg.
Het projecteert tekst, afbeeldingen, video, audio en pdf’s vanaf het begin in een gedeelde vectorruimte. In de praktijk betekent dit dat een video van een drukke winkelstraat in de buurt kan liggen van de tekst “stedelijk verkeer” in de vectorruimte.
De relatie wordt direct uit de ruwe input geleerd, niet afgeleid via tussenliggende tekst zoals een transcriptie. Dat vereenvoudigt het systeemontwerp en behoudt meer van de oorspronkelijke context.
Belangrijkste functies van Gemini Embedding 2
Laten we enkele functies bespreken die Gemini Embedding 2 bijzonder maken:
- Grote tekstcontext: Ondersteunt tot 8.192 tokens, genoeg voor lange documenten of gedetailleerde records.
- Native audio- en video-ondersteuning: Verwerkt tot twee minuten video of audio zonder transcriptie.
- Afgewisselde inputs: Accepteert combinaties van tekst en media in één request en levert één uniforme embedding op.
- Meertalige dekking: Werkt in meer dan 100 talen, waardoor cross-language search kan zonder vertaalpijplijnen.
Deze functies verminderen de noodzaak voor aparte preprocessing-systemen en vereenvoudigen de totale architectuur.
De technische voordelen van Gemini Embedding 2
Een van de opvallende kenmerken van Gemini Embedding 2 is het gebruik van Matryoshka Representation Learning (MRL). Het idee is elegant: de embedding is zo opgebouwd dat de meest cruciale informatie vooraan in de vector terechtkomt.
Hoewel de volledige vectoruitvoer 3.072 dimensies telt, maakt MRL het mogelijk om dat netjes af te kappen naar veel kleinere groottes, zoals 768 of zelfs 256 dimensies. Je krijgt de flexibiliteit om kleinere vectoren op te slaan, wat de kosten flink verlaagt en retrieval versnelt, zonder een grote klap voor de nauwkeurigheid.
Het is een enorme winst voor performancetuning, omdat je geen modellen hoeft te hertrainen of je hele pijplijn hoeft te verbouwen om je opslag te optimaliseren.
Een gedeelde semantische ruimte over modaliteiten heen
MRL is geweldig, maar de manier waarop dit model op schaal multimodale alignment aanpakt, is waar het echt interessant wordt. In wezen creëert het één semantische ruimte voor alle datatypen.
In plaats van losse silo’s voor verschillende formaten te bouwen, is het model getraind om vergelijkbare concepten bij elkaar te clusteren.
Een spraakmemo, een foto en een geschreven alinea komen in hetzelfde wiskundige buurtje terecht als ze exact hetzelfde idee overbrengen.
Je hoeft niet langer te jongleren met modelspecifieke modaliteiten of alles vlak voor de output aan elkaar te knopen, wat ranking en downstream similarity search veel soepeler maakt.
De vertaalslag overslaan
Als je kijkt naar traditionele retrievalpijplijnen, leunen die meestal op tussenstappen. Je moet audio transcriberen of een caption genereren voor een afbeelding voordat je ernaar kunt zoeken. Elke keer dat je dat doet, comprimeer je de oorspronkelijke data en voeg je onvermijdelijk ruis toe.
Gemini Embedding 2 omzeilt dit volledig door ruwe audio en video direct te embedden. Zonder die tussenpersoon is er vrijwel geen informatieverlies.
Als je semantische zoekfuncties bouwt voor gespreksopnames of gebruikersintentie wilt detecteren in ruwe videoclips, ben je niet meer afhankelijk van wat een transcriptiemodel toevallig heeft opgepikt.
Context vangen met gemengde inputs
Een ander groot voordeel ontstaat wanneer je verschillende datatypen combineert, bijvoorbeeld tekst en een afbeelding, in één embedding-call. Het model leert tijdens inferentie daadwerkelijk de relatie tussen die inputs.
Neem een e-commerce productvermelding. In plaats van de productfoto en de geschreven beschrijving als losse stukken data te behandelen, voegt het model ze samen tot één sterk gecontextualiseerde vector.
Als je embedding echt het volledige plaatje weerspiegelt in plaats van gefragmenteerde delen, gaat de retrievalkwaliteit vanzelf omhoog.
Veel eenvoudigere architectuur
Vanuit infrastructuurperspectief is de eenvoud hier nauwelijks te overschatten. Vertrouwen op één embeddingmodel voor elk datatype verandert fundamenteel hoe je deze systemen bouwt.
In plaats van een kluwen aan specialistische tools te onderhouden, werk je met één indexeerpijplijn, één similariteitsmaat en één vectordatabaseschema. Dat haalt een hoop operationele overhead weg en maakt opschalen veel minder pijnlijk.
En wil je later met een nieuwe databron experimenteren, dan hoef je je bestaande architectuur niet uit elkaar te trekken. Je kunt eindelijk retrievalsystemen ontwerpen op basis van betekenis, in plaats van steeds te vechten tegen de beperkingen van je datatypen.
Hoe begin je met Gemini Embedding 2
Laten we een simpel voorbeeld doornemen van hoe we Gemini Embedding 2 zelfs lokaal kunnen gebruiken.
Je omgeving en API-sleutel instellen
Begin met het aanmaken van een API-sleutel via Google AI Studio. Installeer daarna de nieuwste Python-SDK in je Python-omgeving:
pip install -U google-genai
Zodra dat geregeld is, stel je je API-sleutel in als een omgevingsvariabele met de naam GEMINI_API_KEY. Dat kan binnen het project via een .env-bestand of via de omgevingsvariabelebeheerder van je systeem.
Je eerste multimodale embedding genereren
Hier is een eenvoudig voorbeeld dat een embedding creëert op basis van zowel tekst als een afbeelding:
from google import genai
from google.genai import types
client = genai.Client()
with open(“sample.png”,”rb”) as f:
image_bytes = f.read()
# Example of an interleaved input, this has both the text and the image as part of a single vector
# Create multiple of these for separate encoding vectors
response = client.models.embed_content(
model="gemini-embedding-2-preview",
contents=[
"A photo of a vintage typewriter",
types.Part.from_bytes(
data=image_bytes,
mime_type="image/jpeg"
)
]
)
print(response.embeddings)
Dit levert één vector op die zowel de tekst als de afbeelding samen representeert.
Best practices voor migratie vanaf legacy-modellen
Als je overstapt van oudere embeddingmodellen, houd dan het volgende in gedachten:
- Herindexeer je data: Bestaande vectoren zijn niet compatibel met het nieuwe model.
- Benchmark de retrievalkwaliteit: Test echte queries om verbeteringen voor jouw use-case te bevestigen.
- Begin met een subset: Migreer eerst een kleinere dataset om opslag- en retrievalgedrag te valideren.
Een stapsgewijze aanpak verkleint het risico en maakt vergelijken eenvoudiger.
Use-cases in de echte wereld voor uniforme vectorruimtes
Nu we weten hoe we Gemini Embedding 2 gebruiken, bespreken we hoe je het in de praktijk toepast.
Retrieval-augmented generation (RAG) vooruithelpen
De meeste RAG-systemen zijn vandaag tekstgebaseerd. Met Gemini Embedding 2 kun je dit uitbreiden naar multimodale agentische RAG-systemen.
Een supportassistent kan bijvoorbeeld een diagram uit een pdf ophalen, een audiotranscriptie vertalen of acties uitvoeren die in een kort videofragment worden beschreven, in plaats van alleen teksten en e-mails te parsen. Dit leidt tot een bredere variatie aan use-cases met één enkel model in plaats van meerdere modellen en agents.
Cross-modale zoekopdrachten en classificatie stroomlijnen
Organisaties slaan vaak grote hoeveelheden ongestructureerde data op, zoals afbeeldingen, opnames en documenten. Het meeste is lastig doorzoekbaar of de registratie is gebrekkig.
Met een gedeelde embeddingruimte kun je die data bevragen met natuurlijke taal. Een zoekopdracht als “whiteboardschetsen van systeemarchitectuur” kan relevante afbeeldingen of vergaderopnames boven water halen zonder handmatig taggen.
Tot slot
Gemini Embedding 2 vereenvoudigt een probleem waarvoor vroeger meerdere systemen en complexe modelarchitectuur nodig waren. Door tekst, afbeeldingen, audio en video in één model te ondersteunen, vermindert het zowel de engineeringinspanning als de operationele complexiteit.
Als je zoekfunctionaliteit, aanbevelingssystemen of RAG-pijplijnen bouwt, is dit het onderzoeken waard. Het grootste voordeel is niet alleen betere prestaties, maar vooral de kleine revolutie in hoe we informatie voor onze systemen ontleden. Heb je meer interesse in het gebruik van Gemini of AI in bredere zin, bekijk dan ook deze resources:
Gemini Embedding 2: veelgestelde vragen
Wat is het belangrijkste verschil tussen Gemini Embedding 2 en oudere modellen?
Oudere modellen zoals text-embedding-004 waren alleen voor tekst. Wilde je video’s of afbeeldingen doorzoeken, dan moest je ze eerst transcriberen of taggen. Gemini Embedding 2 is van nature multimodaal, wat betekent dat het tekst, afbeeldingen, audio, video en pdf’s direct in dezelfde wiskundige "ruimte" begrijpt zonder tussenstappen.
Wat zijn de limieten voor niet-tekstinputs zoals video en audio?
In de huidige preview kun je tot 120 seconden video en tot 80 seconden native audio per request embedden. Heb je langere bestanden, dan is het best practice om ze in segmenten te "chunken" om een doorzoekbare semantische tijdlijn te maken.
Moet ik audiobestanden nog transcriberen voor zoekopdrachten?
Vanaf de release van 2026 kosten tekst-, beeld- en video-inputs $0,25 per 1 miljoen tokens. Native audio is iets duurder, $0,50 per 1 miljoen tokens, omdat het direct verwerken van geluidsgolven rekenintensiever is.
Kan Gemini Embedding 2 documenten met meerdere pagina’s aan?
Ja, het kan pdf’s van maximaal 6 pagina’s rechtstreeks embedden. Voor langere documenten splits je de pdf in chunks van 6 pagina’s en indexeer je die afzonderlijk.
Ik ben een data scientist met ervaring in ruimtelijke analyse, machine learning en datapijplijnen. Ik heb gewerkt met GCP, Hadoop, Hive, Snowflake, Airflow en andere data science- en engineeringprocessen.

