Use Cases + Implementation

How do you build multilingual AI with RAG?

Multilingual RAG uses one embedding space for every language: index documents with plugsky-embed-multilingual, store locale metadata per chunk, and let a question in one language retrieve content written in another. Generation then answers in the user's language with citations to the original passages, all through the live OpenAI-compatible chat endpoint.

Key facts

Embeddingsplugsky-embed-multilingual maps languages into a shared vector space (live)
PipelineIndex once → cross-language retrieval → answer in the user's language
MetadataLocale, script and region stored per chunk
GenerationCited answers with JSON mode on /v1/chat/completions (live)
Models30+ models behind one endpoint, choose per language
EvaluationPer-language question sets with expected source passages
ResidencyRegion-locked planes, VPC, on-prem and air-gapped options
Free tierplugsky-micro and plugsky-lite on the free plan, no card required

TL;DR

  • Prefer one multilingual vector space over parallel indexes per language.
  • Store locale and script metadata so retrieval can prefer local content.
  • Normalise scripts and diacritics before embedding to improve match rates.
  • Answer in the user's language, cite the source language, and keep both visible.
  • Evaluate retrieval and answers separately for every supported language.

How it works, step by step

  1. Collect representative content and questions for each language, and label expected source passages.
  2. Chunk documents by structure and tag each chunk with locale, script and region metadata.
  3. Embed everything with plugsky-embed-multilingual into a single collection.
  4. Build retrieval that embeds the question as-is, applies locale preferences when available, and falls back across languages.
  5. Generate answers instructed to respond in the user's language while citing original-language passages.
  6. Return structured output with the answer, citations and the detected languages involved.
  7. Measure recall and groundedness per language, and add code-switched queries to the test set.
1Collectrepresentativecontent and2Chunk documents bystructure and tageach chunk with3Embed everythingwithplugsky-embed-multilingual4Build retrievalthat embeds thequestion as-is,5Generate answersinstructed torespond in the6Return structuredoutput with theanswer, citations

Try it yourself

Open the best model for RAG selector →

One vector space, many languages

Older multilingual search ran parallel indexes and translated queries between them. Multilingual embeddings remove that duplication: documents and questions in different languages land close together when they mean the same thing. You index once, and retrieval works across the whole corpus regardless of the language of the question.

On Plugsky, plugsky-embed-multilingual is live on the /v1/embeddings endpoint, and generation runs on /v1/chat/completions. Documents, filters and permissions stay in your infrastructure, which matters when content is market-specific or regulated.

Chunking and metadata for locales

Shared vector spaces do not remove the need for locale awareness. Content that exists in several languages should carry locale metadata so retrieval can prefer the user's variant when it exists, and fall back across languages when it does not. Without that preference, a user may receive an accurate but off-market answer.

  • Locale tags: language, region and script per chunk, plus document version.
  • Script normalisation: handle diacritics, ligatures and mixed-script input before embedding.
  • Terminology: keep approved glossaries per language and pass them into the prompt.
  • Currency and dates: format in tools, not in generated prose.

Evaluating cross-language retrieval

Evaluation must be per language, with questions and expected source passages written by native speakers. Measure cross-language recall — can a question in one language retrieve the right passage in another — alongside groundedness and citation accuracy in the answer's language. Aggregate scores hide exactly the failures that multilingual deployments suffer.

Include code-switching queries and thin-locale cases where no local content exists, and define the fallback behaviour explicitly: answer from the nearest language, state which language the source is in, and cite it. Route generation per language based on measured quality, since model strengths differ across languages. Where data must stay in-market, deploy in a region-locked plane or on-prem with Plugsky, using the same pipeline.

Honest comparison

CapabilityMultilingual RAGPer-language indexesTranslate-then-search
Index footprintOne multilingual collectionOne index per languageTranslation pipeline
Cross-language recallNative in one vector spaceLimited to overlapDepends on translation
Locale preferenceMetadata filters per marketSeparate indexesManual routing
Answer languageUser's language with cited sourcesPer-index languagePost-translation
EvaluationPer-language scoringFragmentedRarely measured

Frequently asked questions

Can a question in Arabic retrieve an English document?

Yes. plugsky-embed-multilingual places equivalent meanings close together across languages, so retrieval works directly without translating the query first.

Should we still translate queries?

Usually not necessary, though a fallback translation path can help for thin locales or specialised terminology that the embedding model handles less well.

How do we prefer local content?

Store locale and region metadata per chunk, then boost or filter by market when equivalent content exists. Fall back across languages only when local content is missing.

How should answers handle mixed languages?

Answer in the user's language and cite sources in their original language, showing enough of the source to be verifiable. Keep formatting in your UI, not in the model output.

What about Arabic text normalisation?

Normalise diacritics and common orthographic variants before embedding, and keep the original text for citation display. This improves recall without changing the source.

How do we evaluate multilingual quality?

Build per-language question sets with known source passages, score recall and groundedness separately, and include code-switched queries in the suite.

Can it run in a specific region?

Yes. Plugsky supports region-locked cloud planes plus VPC, on-prem and air-gapped deployment, so content can stay in the market it serves.