Key facts
| Vietnamese text | Latin script with tone diacritics on most syllables |
| Normalisation | NFC versus NFD changes code points and token counts — normalise early |
| Locale variants | Northern, central and southern accents differ in tone and vocabulary |
| API compatibility | OpenAI-compatible POST https://api.plugsky.com/v1/chat/completions — chat, streaming, JSON mode and function calling |
| Models | 30+ models behind one endpoint, from free tiers to frontier reasoning |
| Free tier | Free plan with plugsky-micro and plugsky-lite, no card required |
| Deployment | Plugsky cloud, your VPC, on-prem and air-gapped options |
| Product status | Chat, streaming, JSON mode, function calling, embeddings, RAG and agents live; audio, images, batch and fine-tuning coming soon |
TL;DR
- Vietnamese uses the standard chat endpoint — one base_url change.
- NFC-normalise tone diacritics before counting or embedding.
- NFD text inflates token counts; fix normalisation first.
- Add accent-insensitive search keys for mobile typing.
- plugsky-embed-multilingual covers Vietnamese and English retrieval.
How it works, step by step
- Create a Plugsky API key on the free plan (no card) and set base_url to https://api.plugsky.com/v1.
- Send a small set of real Vietnamese prompts to /v1/chat/completions and compare output across two or three models.
- Count tokens for those prompts with the Plugsky token calculator and set chunk sizes that fit your model context.
- Normalise text before indexing or prompting: NFC-normalise tone diacritics and standardise regional vocabulary.
- For RAG, embed with plugsky-embed-multilingual and test cross-language queries alongside Vietnamese-only queries.
- Score candidate models on a Vietnamese gold set with native-speaker review, then cut production traffic over.
Try it yourself
How Plugsky handles Vietnamese text
Vietnamese uses the Latin alphabet with tone diacritics on most syllables, and reads left to right.
Northern (Hanoi), central and southern accents differ in tone and vocabulary, and pronouns change with the relationship between speakers.
Evaluate on northern and southern samples; check tone diacritics, word-choice consistency and whether the register matches the product.
Tokenisation and cost in Vietnamese
Vietnamese writes syllables separated by spaces, so token counts can look word-like, but tone diacritics may be composed or decomposed, changing code points and tokens; decomposed NFD text inflates counts significantly.
- NFC-normalise diacritics before embedding or counting tokens.
- Decide how to treat syllable versus word units in chunking.
- Test northern and southern tone and vocabulary variants.
- Remove tone marks only for accent-insensitive search keys.
Vietnamese retrieval and RAG
Normalise diacritics consistently before embedding, and keep a toneless search variant for users who type without accents on mobile keyboards.
- Use plugsky-embed-multilingual for Vietnamese and English corpora.
- NFC-normalise all diacritics first.
- Add accent-insensitive keys as a query fallback.
- Evaluate regional accent and vocabulary variants.
Code example: a Vietnamese request
Point your existing OpenAI client at https://api.plugsky.com/v1 and pass Vietnamese text in the content field — no language flag and no separate endpoint. Streaming, JSON mode and function calling keep the same request shapes.
client = OpenAI(base_url="https://api.plugsky.com/v1", api_key=os.environ["PLUGSKY_API_KEY"])
client.chat.completions.create(model="plugsky-pro", messages=[{"role": "user", "content": "Tóm tắt hợp đồng này thành ba điểm bằng tiếng Việt."}])
Start on the free plan with plugsky-micro and plugsky-lite, then compare paid models on a Vietnamese gold set before cutover. See the docs for request details.
For production, log the model name and your normalisation settings with each request, and re-run the Vietnamese gold set whenever either changes — language quality regressions usually come from prompt or preprocessing drift, not from the model alone.
Honest comparison
| Capability | Plugsky | Vietnamese workflow today | Building in-house |
|---|---|---|---|
| API compatibility | OpenAI-compatible — change base_url and model name | Varies by provider and SDK | Full rewrite |
| Vietnamese text handling | NFC tone diacritics with accent-insensitive search keys | Depends on provider tokeniser and prompt hygiene | You build normalisation, segmentation and evals |
| Token budget | Fixed tokeniser per model; measure with the Plugsky token calculator and chunk to fit | Varies by provider and model | You host and tune each tokeniser |
| Multilingual retrieval | plugsky-embed-multilingual available for cross-language RAG | Often needs a separate embedding vendor | You serve and maintain embeddings |
| Sovereignty | Cloud, VPC, on-prem and air-gapped with residency options | Usually US/EU public endpoints | You own the full stack |
Frequently asked questions
Can Plugsky handle Vietnamese text?
Yes. The API accepts UTF-8 Vietnamese input on the OpenAI-compatible chat endpoint; output quality depends on the model, so compare two or three on your own prompts before choosing.
How do I estimate token usage for Vietnamese?
Vietnamese writes syllables separated by spaces, so token counts can look word-like, but tone diacritics may be composed or decomposed, changing code points and tokens; decomposed NFD text inflates counts significantly. Use the token calculator at /tools/llm-token-calculator before sizing context windows or chunk lengths.
How do I normalise Vietnamese text?
Use NFC normalisation for tone diacritics before counting tokens or embedding. Decomposed NFD text inflates code points and token counts.
Which regional accent should I target?
Choose northern or southern vocabulary per market; both are widely understood, but local vocabulary improves quality. Keep one per product.
Is there a multilingual embedding model?
Yes — plugsky-embed-multilingual is part of the 30+ model catalogue and is built for cross-language retrieval. Keep one embedding model per vector collection.
Can I keep data in my region?
Plugsky supports cloud, VPC, on-prem and air-gapped deployment with data-residency options; confirm your requirements with the docs and the enterprise team.
How do I migrate an existing app?
Change base_url to https://api.plugsky.com/v1 and map the model name. Streaming, JSON mode, function calling and embeddings keep the same request shapes.
Is there a free plan?
Yes — the free plan includes two free models, plugsky-micro and plugsky-lite, with no card. A 14-day full-access trial unlocks the paid catalogue.