Instructions to use vngrs-ai/Kumru-2B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use vngrs-ai/Kumru-2B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="vngrs-ai/Kumru-2B") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("vngrs-ai/Kumru-2B") model = AutoModelForCausalLM.from_pretrained("vngrs-ai/Kumru-2B") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use vngrs-ai/Kumru-2B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "vngrs-ai/Kumru-2B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "vngrs-ai/Kumru-2B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/vngrs-ai/Kumru-2B
- SGLang
How to use vngrs-ai/Kumru-2B with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "vngrs-ai/Kumru-2B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "vngrs-ai/Kumru-2B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "vngrs-ai/Kumru-2B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "vngrs-ai/Kumru-2B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use vngrs-ai/Kumru-2B with Docker Model Runner:
docker model run hf.co/vngrs-ai/Kumru-2B
Model Information
Kumru-2B is the lightweight, open-source version of Kumru LLM, developed for Turkish from scratch by VNGRS.
- It is pre-trained on a cleaned, deduplicated corpora of 500 GB for 300B tokens, and supervised fine-tuned on 1M examples.
- It comes with a modern tokenizer developed for Turkish, supporting code, math and chat template.
- Kumru has a native context length of 8,192 tokens by default.
- This is the instruct fine-tuned version.
- Pre-trained Base version is here
Try the demo of 7B version here.
Use
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "vngrs-ai/Kumru-2B"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype="auto", device_map="auto")
def generate_response(query):
messages = [
{'role': 'system', 'content': 'Adın Kumru. VNGRS tarafından Türkçe için sıfırdan eğitilmiş bir dil modelisin.'},
{'role': 'user', 'content': query}
]
model_inputs = tokenizer.apply_chat_template(messages, return_tensors='pt', add_generation_prompt=True).to(model.device)
model_outputs = model.generate(model_inputs, max_new_tokens=512, do_sample=True, top_p=0.9, temperature=0.7, repetition_penalty=1.1)
output_tokens = model_outputs[0].cpu().detach().numpy().tolist()
generated_tokens = output_tokens[model_inputs[0].shape[0]:]
response = tokenizer.decode(generated_tokens, skip_special_tokens=True)
return response
query = "Efes antik kentinin önemi nedir?"
response = generate_response(query)
print(response)
Evaluation Results
Both Kumru-7B and Kumru-2B are evaluated on Cetvel benchmark.
We observe that Kumru overall surpasses significantly larger models such as LLaMA-3.3–70B, Gemma-3–27B, Qwen-2–72B and Aya-32B. It excels at tasks related to the nuances of the Turkish language, such as grammatical error correction and text summarization.
Tokenizer Efficiency
Kumru tokenizer is a modern BPE tokenizer with a vocabulary size of 50,176, pre-tokenization regex and a chat template.
Other open-source models spend between 38% to 98% more tokens than Kumru while still having larger vocabulary sizes. This means Kumru can represent more texts in its context length and process faster and cheaper. Although the native context length of Kumru is 8,192, its effective context length can be considered between 1128 and 1618, compared to other multilingual models out there. This shows the efficiency of having a native Turkish tokenizer in terms of representation power, speed and cost.
Citation
@misc{turker2025kumru,
title={Kumru},
author={Turker, Meliksah and Ari, Erdi and Han, Aydin},
year={2025},
url={https://huggingface.co/vngrs-ai/Kumru-2B}
}
- Downloads last month
- 1,726