Ask in any language.
Retrieve with precision.
Cross-lingual retrieval-augmented generation powered by Cohere Embed v3 and semantic reranking. Query in one language, retrieve documents in another, with full citation support.
Precise multilingual retrieval
Everything you need to build production-ready RAG systems that work seamlessly across languages and document types.
Multilingual Embeddings
Cohere Embed v3 generates dense vectors for 100+ languages, capturing semantic meaning regardless of the source language.
Semantic Reranking
Cohere Rerank v3 re-scores candidate results with cross-encoder precision, pushing the most relevant documents to the top.
Cross-Lingual Retrieval
Query in English, retrieve documents in Japanese, French, or Arabic. The shared embedding space bridges language barriers.
Citation Generation
Every answer includes precise citations linking back to source documents with chunk-level references for full traceability.
Vector Search
ChromaDB-backed vector storage with efficient approximate nearest neighbor search for fast retrieval at scale.
Async Pipeline
Fully asynchronous ingestion and query pipeline built with Python asyncio for high-throughput document processing.
End-to-end retrieval pipeline
From multilingual query to cited response, every stage is designed for precision and speed.
Up and running in minutes
Install the package, ingest your documents, and start querying across languages.
# Clone the repository git clone https://github.com/BabyChrist666/cohere-multilingual-rag.git cd cohere-multilingual-rag # Install dependencies pip install -r requirements.txt # Set your Cohere API key export COHERE_API_KEY="your-api-key" # Start the FastAPI server uvicorn app.main:app --reload
from rag.pipeline import IngestionPipeline from rag.config import Settings settings = Settings() pipeline = IngestionPipeline(settings) # Ingest documents in any language await pipeline.ingest( documents=[ {"text": "Les modeles de langage sont fascinants.", "metadata": {"lang": "fr", "source": "article_01"}}, {"text": "Sprachmodelle sind faszinierend.", "metadata": {"lang": "de", "source": "article_02"}}, ], collection="multilingual_docs" )
from rag.pipeline import QueryPipeline query_pipeline = QueryPipeline(settings) # Query in English, retrieve across all languages result = await query_pipeline.query( question="What makes language models interesting?", collection="multilingual_docs", top_k=10, rerank=True ) # Access cited results for citation in result.citations: print(f"[{citation.source}] {citation.text}")
Built with modern tools
A focused set of production-grade libraries for multilingual retrieval.
Start retrieving across languages
Build multilingual RAG pipelines with semantic precision. Open source and ready to deploy.