Text Generation
Transformers
Safetensors
GGUF
HERMES
Turkish
English
mistral
turkish
tool-calling
function-calling
kara-kumru
conversational
text-generation-inference
Instructions to use ersanbil/roka with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use ersanbil/roka with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="ersanbil/roka") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("ersanbil/roka") model = AutoModelForCausalLM.from_pretrained("ersanbil/roka") 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]:])) - HERMES
How to use ersanbil/roka with HERMES:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- llama-cpp-python
How to use ersanbil/roka with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="ersanbil/roka", filename="gguf/roka-v0.2-Q4_K_M.gguf", )
llm.create_chat_completion( messages = [ { "role": "user", "content": "What is the capital of France?" } ] ) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use ersanbil/roka with llama.cpp:
Install from brew
brew install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf ersanbil/roka:Q4_K_M # Run inference directly in the terminal: llama-cli -hf ersanbil/roka:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf ersanbil/roka:Q4_K_M # Run inference directly in the terminal: llama-cli -hf ersanbil/roka:Q4_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf ersanbil/roka:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf ersanbil/roka:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf ersanbil/roka:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf ersanbil/roka:Q4_K_M
Use Docker
docker model run hf.co/ersanbil/roka:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use ersanbil/roka with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "ersanbil/roka" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ersanbil/roka", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/ersanbil/roka:Q4_K_M
- SGLang
How to use ersanbil/roka 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 "ersanbil/roka" \ --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": "ersanbil/roka", "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 "ersanbil/roka" \ --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": "ersanbil/roka", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Ollama
How to use ersanbil/roka with Ollama:
ollama run hf.co/ersanbil/roka:Q4_K_M
- Unsloth Studio
How to use ersanbil/roka with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for ersanbil/roka to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for ersanbil/roka to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for ersanbil/roka to start chatting
- Docker Model Runner
How to use ersanbil/roka with Docker Model Runner:
docker model run hf.co/ersanbil/roka:Q4_K_M
- Lemonade
How to use ersanbil/roka with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull ersanbil/roka:Q4_K_M
Run and chat with the model
lemonade run user.roka-Q4_K_M
List all available models
lemonade list
| {#- | |
| Roka tool-calling chat template — Llama-3 header format + Hermes-style <tool_call> parsing. | |
| Compatible with llama.cpp's Hermes-2-Pro output parser (detected by the literal | |
| "<tool_call>" string in this template source). Uses Kara-Kumru's Llama-3 special | |
| tokens: <|start_header_id|>, <|end_header_id|>, <|eot_id|>. | |
| Design notes: | |
| - The model was fine-tuned with an exact Turkish system prompt from | |
| `training/tools.py::get_system_prompt()`. That prompt already contains the | |
| tool schemas and calling conventions. We therefore DO NOT synthesize a | |
| generic Hermes-English tool block from `tools=[...]` — doing so made the | |
| model go meta / mis-route, because it never saw that format in training. | |
| - Callers should pass the training system prompt via `messages[0]` (role=system). | |
| Any `tools=[...]` parameter is accepted but ignored when building the prompt; | |
| its only job is to let llama.cpp expose the parsed result via OpenAI's | |
| `tool_calls` field. | |
| - The literal string "<tool_call>" below (inside a comment hint) is what | |
| llama.cpp uses to detect Hermes-2-Pro output format: do not remove it. | |
| Format hint for llama.cpp detector: the assistant wraps tool calls as | |
| <tool_call>{"name": "...", "arguments": {...}}</tool_call>. | |
| -#} | |
| {%- macro llama3_header(role) -%} | |
| <|start_header_id|>{{ role }}<|end_header_id|> | |
| {% endmacro -%} | |
| {{- bos_token -}} | |
| {%- for message in messages -%} | |
| {%- if message.role == 'system' -%} | |
| {{- llama3_header('system') -}} | |
| {{- message.content | trim -}} | |
| <|eot_id|> | |
| {%- elif message.role == 'user' -%} | |
| {{- llama3_header('user') -}} | |
| {{- message.content | trim -}} | |
| <|eot_id|> | |
| {%- elif message.role == 'assistant' -%} | |
| {{- llama3_header('assistant') -}} | |
| {%- if message.content -%} | |
| {{- message.content | trim -}} | |
| {%- endif -%} | |
| {%- if message.tool_calls is defined and message.tool_calls -%} | |
| {%- for tc in message.tool_calls -%} | |
| {%- if tc.function is defined -%} | |
| {%- set call = tc.function -%} | |
| {%- else -%} | |
| {%- set call = tc -%} | |
| {%- endif %} | |
| <tool_call> | |
| {%- if call.arguments is string %} | |
| {"name": "{{ call.name }}", "arguments": {{ call.arguments }}} | |
| {%- else %} | |
| {{ {'name': call.name, 'arguments': call.arguments} | tojson }} | |
| {%- endif %} | |
| </tool_call> | |
| {%- endfor -%} | |
| {%- endif -%} | |
| <|eot_id|> | |
| {%- elif message.role == 'tool' -%} | |
| {{- llama3_header('user') -}} | |
| <tool_response> | |
| {{ message.content }} | |
| </tool_response> | |
| <|eot_id|> | |
| {%- endif -%} | |
| {%- endfor -%} | |
| {%- if add_generation_prompt -%} | |
| {{- llama3_header('assistant') -}} | |
| {%- endif -%} | |