3. EmbeddingFortgeschritten

Mehrsprachige Embeddings für ein globales RAG

18. November 2025
11 Minuten Lesezeit
Équipe de Recherche Ailog

Erstellen Sie RAG-Systeme, die in allen Sprachen funktionieren, indem Sie Modelle für mehrsprachige Embeddings und cross-lingual retrieval einsetzen.

Warum Mehrsprachigkeit ?

Anwendungsfälle :

  • Globaler Kundensupport
  • Interlanguage-Suche
  • Internationale Wissensdatenbanken
  • Mehrsprachige Chatbots

Beste mehrsprachige Modelle (Nov 2025)

mE5-large (Microsoft) :

  • Mehr als 100 Sprachen
  • 1024 Dimensionen
  • Bestes Preis-Leistungs-Verhältnis

multilingual-e5-large-instruct :

  • Für Instruktionen optimiert
  • Optimierung Anfrage/Passage
  • Stand der Technik im MIRACL-Benchmark

LaBSE (Google) :

  • 109 Sprachen
  • 768 Dimensionen
  • Ausgezeichnet für ähnliche Sprachen

Grundlegende Implementierung

DEVELOPERpython
from sentence_transformers import SentenceTransformer model = SentenceTransformer('intfloat/multilingual-e5-large-instruct') # Anfrage auf Englisch, Dokumente auf Französisch query_en = "What is machine learning?" docs_fr = [ "L'apprentissage automatique est une branche de l'IA", "Les réseaux de neurones sont utilisés en ML" ] # Embedding mit Instruktionspräfix query_emb = model.encode(f"query: {query_en}") doc_embs = model.encode([f"passage: {doc}" for doc in docs_fr]) # Berechne die Ähnlichkeit from sklearn.metrics.pairwise import cosine_similarity scores = cosine_similarity([query_emb], doc_embs)[0]

Interlinguale Retrieval

Suche in jeder Sprache, Retrieval in jeder Sprache :

DEVELOPERpython
# Anfrage auf Englisch, Dokumente in mehreren Sprachen query = "How to bake bread?" documents = { "en": "To bake bread, mix flour, water, yeast...", "fr": "Pour faire du pain, mélanger farine, eau, levure...", "es": "Para hacer pan, mezclar harina, agua, levadura...", "de": "Um Brot zu backen, Mehl, Wasser, Hefe mischen..." } # Alles mit dem selben Modell kodieren query_emb = model.encode(f"query: {query}") doc_embs = { lang: model.encode(f"passage: {text}") for lang, text in documents.items() } # Tous les documents sont comparables dans le même espace vectoriel

Spracherkennung + Routing

DEVELOPERpython
from langdetect import detect def multilingual_rag(query): # Sprache der Anfrage erkennen lang = detect(query) # Zu einem sprachspezifischen Index routen (optionale Optimierung) if lang in ['en', 'fr', 'de']: index = f"docs_{lang}" else: index = "docs_multilingual" # Suchen results = vector_db.search( collection_name=index, query_vector=model.encode(f"query: {query}") ) return results

Fallback durch Übersetzung

Für seltene Sprachen zuerst übersetzen :

DEVELOPERpython
from transformers import pipeline translator = pipeline("translation", model="facebook/nllb-200-distilled-600M") def translate_then_search(query, source_lang, target_lang='en'): # Anfrage in eine gemeinsame Sprache übersetzen if source_lang != target_lang: translated = translator( query, src_lang=source_lang, tgt_lang=target_lang )[0]['translation_text'] else: translated = query # Suche im übersetzten Vektorraum results = vector_search(translated) return results

Qdrant mit Sprachfilter

DEVELOPERpython
from qdrant_client import QdrantClient from qdrant_client.models import Filter, FieldCondition, MatchValue client = QdrantClient("localhost", port=6333) # Dokumente mit Sprach-Metadaten indexieren client.upsert( collection_name="multilingual_docs", points=[{ "id": 1, "vector": embedding, "payload": { "text": "...", "language": "fr" } }] ) # Suche mit Sprachfilter results = client.search( collection_name="multilingual_docs", query_vector=query_embedding, query_filter=Filter( must=[ FieldCondition( key="language", match=MatchValue(value="fr") ) ] ) )

Interlinguale Evaluation

DEVELOPERpython
# MIRACL-Benchmark (Multilingual Information Retrieval) from mteb import MTEB model = SentenceTransformer('intfloat/multilingual-e5-large-instruct') evaluation = MTEB(tasks=["MIRACL"]) results = evaluation.run(model, output_folder="results/") print(f"nDCG@10 moyen : {results['MIRACL']['ndcg@10']}")

Multilinguale embeddings ermöglichen globales RAG. Verwenden Sie mE5 für die besten Ergebnisse im November 2025.

Tags

embeddingmultilingualcross-lingualglobal

Verwandte Artikel

Ailog Assistant

Ici pour vous aider

Salut ! Pose-moi des questions sur Ailog et comment intégrer votre RAG dans vos projets !