Sentence Transformers unterstützt multimodale Embedding-Modelle, die Eingaben aus verschiedenen Modalitäten in einen gemeinsamen Embedding-Raum abbilden, sowie multimodale Reranker-Modelle, die die Relevanz gemischter Paare bewerten. Genannt werden Anwendungsfälle wie Visual Document Retrieval, Cross-Modal Search und multimodale RAG-Pipelines.
Im Unterschied zu klassischen Text-Embeddings können multimodale Embedding-Modelle Text, Bilder, Audio oder Video mit denselben Ähnlichkeitsfunktionen vergleichen. Multimodale Reranker erweitern Cross-Encoder auf Paare, bei denen eine oder beide Seiten Bilder, kombinierte Text-Bild-Dokumente oder andere Modalitäten sein können.
Für die Nutzung sind je nach Modalität zusätzliche Abhängigkeiten nötig, etwa über sentence-transformers[image], oder . Für VLM-basierte Modelle wie Qwen3-VL-2B nennt der Beitrag eine GPU mit mindestens rund 8 GB VRAM, für 8B-Varianten rund 20 GB. Auf CPU seien diese Modelle sehr langsam; für CPU-Inferenz werden textbasierte oder CLIP-Modelle als besser geeignet genannt.
Das Laden multimodaler Embedding-Modelle erfolgt wie bei textbasierten Modellen über SentenceTransformer. Einige Modelle können vorübergehend ein revision-Argument benötigen, solange Integrations-Pull-Requests noch ausstehen. Das Modell erkennt unterstützte Modalitäten automatisch; zusätzliche Steuerungsmöglichkeiten gibt es über processor_kwargs und model_kwargs, etwa für Bildauflösung oder Modellpräzision.
model.encode() akzeptiert neben Text auch Bilder, zum Beispiel als URL, lokaler Dateipfad oder PIL-Image-Objekt. Im Beispiel mit Qwen/Qwen3-VL-Embedding-2B werden Bilder und Text in denselben Raum eingebettet und anschließend per similarity verglichen. Die passenden Text-Bild-Paare erhalten die höchsten Werte, während Hard Negatives niedriger bewertet werden. Zugleich weist der Beitrag auf den modality gap hin: Cross-modale Ähnlichkeitswerte liegen typischerweise niedriger als Werte innerhalb derselben Modalität, auch wenn die relative Reihenfolge für Retrieval erhalten bleibt.
Für Retrieval empfiehlt der Beitrag encode_query() und encode_document(). Diese Methoden sind schlanke Wrapper um encode(), wählen aber automatisch die in der Modellkonfiguration hinterlegten Prompts für Query und Dokument und setzen den jeweiligen Task. Bei Modellen ohne spezialisierte Prompts verhalten sie sich wie encode().
Multimodale Reranker auf Basis von CrossEncoder bewerten die Relevanz zwischen zwei Eingaben, die Text, Bild, Audio, Video oder Kombinationen daraus sein können. Sie liefern laut Beitrag in der Regel eine höhere Qualität als Embedding-Modelle, sind aber langsamer, weil jedes Paar einzeln verarbeitet wird. Die derzeit verfügbaren vortrainierten multimodalen Reranker konzentrieren sich auf Text- und Bildeingaben, auch wenn die Architektur weitere Modalitäten unterstützt.
Mit rank() lässt sich eine Dokumentliste gegen eine Query bewerten und sortieren. Im gezeigten Beispiel mit Qwen/Qwen3-VL-Reranker-2B wird ein Autobild als relevantestes Dokument eingestuft, gefolgt von einem kombinierten Text-Bild-Dokument; ein Bild einer Biene erhält den niedrigsten Wert. Auch hier wird darauf hingewiesen, dass der modality gap die absoluten Scores beeinflussen kann und Text-Bild-, Text-Text- oder Bild-Bild-Paare unterschiedliche Wertebereiche haben können. Mit predict() lassen sich außerdem rohe Relevanzwerte für einzelne Paare berechnen.
Als typisches Muster beschreibt der Beitrag eine zweistufige Pipeline: Zuerst erfolgt ein schnelles initiales Retrieval mit einem Embedding-Modell, anschließend werden die Top-Kandidaten mit einem Reranker präziser neu sortiert. Da die Korpus-Embeddings vorab berechnet und gespeichert werden können, bleibt der erste Schritt auch bei Millionen Dokumenten schnell; der Reranker arbeitet dann auf einer kleineren Kandidatenmenge.
Bei den Eingabeformaten unterstützt Sentence Transformers neben Strings und Bild-URLs auch multimodale Dictionaries sowie chatartige message-Eingaben. Die Modalität message steht dafür, dass ein Modell Chat-Nachrichten mit verschachtelten Inhalten verarbeiten kann. Unterstützt werden strukturierte Formate mit typisierten Dictionaries, wie sie viele VLMs verwenden, und flache Formate. Das Format wird anhand des Chat-Templates des Modells automatisch erkannt. Unterschiedliche Eingabetypen können innerhalb eines einzelnen encode()-Aufrufs gemischt werden; bei Bedarf lassen sich rohe Message-Dictionaries direkt übergeben.
Für die Konfiguration nennt der Beitrag processor_kwargs zur Vorverarbeitung, etwa für minimale und maximale Bildauflösung, sowie model_kwargs für Modell-Ladeoptionen wie torch_dtype oder attn_implementation. Höhere Werte für max_pixels erhöhen die Qualität, benötigen aber mehr Speicher und Rechenleistung. In Sentence Transformers v5.4 wurde tokenizer_kwargs in processor_kwargs umbenannt; der alte Name wird noch akzeptiert, ist aber veraltet.
Der Beitrag verweist außerdem auf die in v5.4 unterstützten multimodalen Modelle sowie auf weiterhin unterstützte ältere CLIP-Modelle. Diese einfachen CLIP-Modelle werden als weiterhin gut nutzbar auf ressourcenschwächerer Hardware beschrieben. Ergänzend werden Dokumentation, Modell- und Trainingsressourcen sowie ein begleitender Blogbeitrag zum Training und Finetuning multimodaler Embedding- und Reranker-Modelle genannt.
