Key facts
| Turkish grammar | Agglutinative: suffix chains stack onto stems, producing long words |
| Casing | Dotted and dotless i (İ, ı) break naive lowercase and uppercase operations |
| Tokenisation | Suffix chains split into many subwords — measure with the token calculator |
| Register | Formal siz and informal sen change verb forms — keep one per surface |
| 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 |
| Product status | Chat, streaming, JSON mode, function calling, embeddings, RAG and agents live; audio, images, moderation, files, batch, fine-tuning, assistants and responses coming soon |
TL;DR
- Turkish runs on the standard endpoint with one base_url change.
- Agglutination raises tokens per word — measure real Turkish text.
- Use Turkish-aware casing for the dotted and dotless i.
- Pin siz or sen per surface and state it in the system prompt.
- plugsky-embed-multilingual covers Turkish and English retrieval.
How it works, step by step
- Create a free Plugsky key and set base_url to https://api.plugsky.com/v1.
- Send real Turkish text to /v1/chat/completions and compare two or three models.
- Measure tokens with the token calculator and add headroom for suffix-heavy text.
- Check your search and prompt code for Turkish casing bugs around İ, ı, I and i.
- Choose siz or sen per surface and write it into the system prompt.
- For RAG, embed with plugsky-embed-multilingual and run a Turkish gold set with native review.
Try it yourself
How Plugsky handles Turkish text
Turkish needs no special endpoint: UTF-8 text goes in, text comes back. The language-specific work is split between casing and morphology. Turkish has both a dotted and a dotless i — İ/i and I/ı — and the default Unicode lowercase rule maps I to i, not to ı. Code that lowercases text without Turkish rules silently corrupts words in search, filtering and matching.
Formality is the second decision. siz and sen change verb endings across a sentence, and mixing them inside a flow is the most visible quality failure for Turkish readers.
Tokenisation and cost in Turkish
Turkish can stack several suffixes onto one stem, so words that would be phrases in English become single long tokens — and tokenisers split them into multiple subwords. Case, tense, person and negation can all appear in one word, and vowel harmony governs how the endings look.
- Measure on real product text, not on dictionary words.
- Leave more context headroom than you would for English.
- Keep suffixes attached for display; stem only for search keys.
- Re-measure whenever you change models.
Turkish retrieval and RAG
One multilingual collection built with plugsky-embed-multilingual serves Turkish documents with Turkish or English queries. Keyword search needs care: agglutinated forms produce many surface variants, so stemming or lemmatisation helps alongside embeddings, and casing must follow Turkish rules.
- Apply Turkish-aware casing before indexing or matching.
- Add stemming for keyword search on top of embeddings.
- Test English queries against Turkish documents explicitly.
- Keep one embedding model per collection.
Code example: a Turkish request
Point your OpenAI client at https://api.plugsky.com/v1; only the content and system prompt change.
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": "system", "content": "Türkçe yanıt ver, nazik bir dil kullan ve siz hitabını koru"}, {"role": "user", "content": "Bu sözleşmeyi üç maddede özetle"}])
Start on the free plan with plugsky-micro and plugsky-lite, then compare paid models on a Turkish gold set. See the docs for the API reference.
Honest comparison
| Capability | Plugsky | Turkish apps today | Building in-house |
|---|---|---|---|
| API compatibility | OpenAI-compatible — change base_url and model name | Varies by provider and SDK | Full rewrite |
| Turkish text handling | UTF-8 with suffix-aware chunking and siz/sen prompt control | Depends on provider tokeniser and prompt hygiene | You build normalisation and evals |
| Token budget | Fixed tokeniser per model; expect more tokens per word and chunk accordingly | Varies by provider and model | You host and tune each tokeniser |
| Multilingual retrieval | plugsky-embed-multilingual for Turkish and English 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 Turkish text?
Yes. The API accepts UTF-8 Turkish input on the OpenAI-compatible chat endpoint. Compare two or three models on your own prompts, since quality varies by task.
Why do Turkish token counts run high?
Agglutination stacks suffixes onto stems, and tokenisers split those long words into several subwords. Use the token calculator on real text and leave context headroom.
What is the dotted and dotless i issue?
Turkish has İ/i and I/ı as distinct letters. Default Unicode lowercasing maps I to i, which is wrong for Turkish; use locale-aware casing in search, filters and prompts.
Should prompts use siz or sen?
siz for formal and B2B contexts, sen for consumer and community products. State the choice in the system prompt and keep it consistent.
Is there a multilingual embedding model?
Yes — plugsky-embed-multilingual is part of the 30+ model catalogue and supports Turkish and English retrieval from one collection.
Can I deploy in my own environment?
Yes. Plugsky supports cloud, VPC, on-prem and air-gapped deployment with residency options for regulated teams.
Is there a free plan?
Yes — plugsky-micro and plugsky-lite are free with no card, and a 14-day full-access trial covers the paid catalogue.