Multilingual RAG

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.

100+
Languages
Semantic
Reranking
Cross-Lingual
Retrieval
Citation
Generation

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.

Input
Query (any language)
Embed
Cohere Embed v3
Search
ChromaDB Vector Search
Rerank
Cohere Rerank v3
Build
Citation Builder
Output
Response

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.

Python
Cohere Embed v3
Cohere Rerank v3
ChromaDB
FastAPI
Pydantic
asyncio

Start retrieving across languages

Build multilingual RAG pipelines with semantic precision. Open source and ready to deploy.