Text Generation
Transformers
ONNX
Safetensors
GGUF
Ukrainian
gemma3_text
text-normalization
tts
ukrainian
gemma3
conversational
text-generation-inference
Instructions to use skypro1111/gemma-3-270m-uk-verbalizer with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use skypro1111/gemma-3-270m-uk-verbalizer with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="skypro1111/gemma-3-270m-uk-verbalizer") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("skypro1111/gemma-3-270m-uk-verbalizer") model = AutoModelForCausalLM.from_pretrained("skypro1111/gemma-3-270m-uk-verbalizer", device_map="auto") 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=256) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use skypro1111/gemma-3-270m-uk-verbalizer with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf skypro1111/gemma-3-270m-uk-verbalizer:F16 # Run inference directly in the terminal: llama cli -hf skypro1111/gemma-3-270m-uk-verbalizer:F16
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf skypro1111/gemma-3-270m-uk-verbalizer:F16 # Run inference directly in the terminal: llama cli -hf skypro1111/gemma-3-270m-uk-verbalizer:F16
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 skypro1111/gemma-3-270m-uk-verbalizer:F16 # Run inference directly in the terminal: ./llama-cli -hf skypro1111/gemma-3-270m-uk-verbalizer:F16
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 skypro1111/gemma-3-270m-uk-verbalizer:F16 # Run inference directly in the terminal: ./build/bin/llama-cli -hf skypro1111/gemma-3-270m-uk-verbalizer:F16
Use Docker
docker model run hf.co/skypro1111/gemma-3-270m-uk-verbalizer:F16
- LM Studio
- Jan
- vLLM
How to use skypro1111/gemma-3-270m-uk-verbalizer with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "skypro1111/gemma-3-270m-uk-verbalizer" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "skypro1111/gemma-3-270m-uk-verbalizer", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/skypro1111/gemma-3-270m-uk-verbalizer:F16
- SGLang
How to use skypro1111/gemma-3-270m-uk-verbalizer 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 "skypro1111/gemma-3-270m-uk-verbalizer" \ --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": "skypro1111/gemma-3-270m-uk-verbalizer", "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 "skypro1111/gemma-3-270m-uk-verbalizer" \ --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": "skypro1111/gemma-3-270m-uk-verbalizer", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Ollama
How to use skypro1111/gemma-3-270m-uk-verbalizer with Ollama:
ollama run hf.co/skypro1111/gemma-3-270m-uk-verbalizer:F16
- Unsloth Desktop
- Docker Model Runner
How to use skypro1111/gemma-3-270m-uk-verbalizer with Docker Model Runner:
docker model run hf.co/skypro1111/gemma-3-270m-uk-verbalizer:F16
- Lemonade
How to use skypro1111/gemma-3-270m-uk-verbalizer with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull skypro1111/gemma-3-270m-uk-verbalizer:F16
Run and chat with the model
lemonade run user.gemma-3-270m-uk-verbalizer-F16
List all available models
lemonade list
- Atomic Chat
Download normalize.py from skypro1111/gemma-3-270m-uk-verbalizer: direct link, hf CLI and curl.
- Browser
- Download file 4.09 kB
-
https://huggingface.co/skypro1111/gemma-3-270m-uk-verbalizer/resolve/main/normalize.py
- Command line
-
hf download hf://skypro1111/gemma-3-270m-uk-verbalizer/normalize.py
-
curl -L -o normalize.py https://huggingface.co/skypro1111/gemma-3-270m-uk-verbalizer/resolve/main/normalize.py
4.09 kB
| """Довідкова реалізація нормалізатора — повний конвеєр, як він задуманий. | |
| Три кроки, і кожен із них потрібен. Якщо викинути перший або другий, якість | |
| падає на конкретних класах входу, і це заміряно (див. README, розділ | |
| «Препроцесинг обов'язковий»). | |
| from normalize import Normalizer | |
| n = Normalizer("skypro1111/<repo>") | |
| n("Рахунок на 1111 386,40 грн треба сплатити до 25.07.2026.") | |
| # 'Рахунок на один мільйон сто одинадцять тисяч триста вісімдесят шість | |
| # гривень сорок копійок треба сплатити до двадцять п'ятого липня | |
| # дві тисячі двадцять шостого року.' | |
| Модель навчена на ОДНОМУ реченні за раз. Довгий текст ріжте на речення й | |
| подавайте окремо — інакше впертеся в ліміт нових токенів. | |
| """ | |
| import torch | |
| from transformers import AutoModelForCausalLM, AutoTokenizer | |
| from digit_router import route as _digit_route | |
| from bignum_spacing import add_spacing as _add_spacing | |
| MAX_NEW_TOKENS = 192 | |
| class Normalizer: | |
| def __init__(self, model_id: str, device: str = None, dtype=torch.bfloat16): | |
| self.device = device or ("cuda" if torch.cuda.is_available() else "cpu") | |
| self.tok = AutoTokenizer.from_pretrained(model_id) | |
| self.model = AutoModelForCausalLM.from_pretrained( | |
| model_id, dtype=dtype).to(self.device).eval() | |
| # ban-digits: модель має ПИСАТИ словами, тож будь-який токен із цифрою | |
| # заборонено. Без цього вона зрідка копіює цифру з входу, і рядок стає | |
| # непридатним для синтезу мовлення. | |
| self.bad_words = [[i] for t, i in self.tok.get_vocab().items() | |
| if any(ch.isdigit() for ch in t)] | |
| def _generate(self, text: str) -> str: | |
| msgs = [{"role": "user", "content": text}] | |
| ids = self.tok.apply_chat_template( | |
| msgs, add_generation_prompt=True, return_tensors="pt").to(self.device) | |
| out = self.model.generate( | |
| ids, | |
| max_new_tokens=MAX_NEW_TOKENS, | |
| do_sample=False, # greedy: жодного семплювання | |
| bad_words_ids=self.bad_words, | |
| pad_token_id=self.tok.pad_token_id, | |
| ) | |
| return self.tok.decode(out[0, ids.shape[-1]:], | |
| skip_special_tokens=True).strip() | |
| def __call__(self, text: str) -> str: | |
| text = (text or "").strip() | |
| if not text: | |
| return "" | |
| # 1) голий рядок цифр читається по цифрі детерміновано, повз модель: | |
| # рахувати однакові цифри вона не вміє («000000» -> чотири «нуль») | |
| handled, routed = _digit_route(text) | |
| if handled: | |
| return routed | |
| # 2) довгі числа надійніше читаються групами по три — вставляємо | |
| # роздільники розрядів ПЕРЕД подачею | |
| text = _add_spacing(text) | |
| # 3) власне модель | |
| return self._generate(text) | |
| if __name__ == "__main__": | |
| import sys | |
| n = Normalizer(sys.argv[1] if len(sys.argv) > 1 else ".") | |
| for t in ("Зустріч о 08:05 у кабінеті 12.", | |
| "Збитки оцінили в 7000000000 доларів.", | |
| "Пиши на support@shop.com.ua або дзвони 067 123 45 67.", | |
| "Борг сягнув 2625414042726 гривень."): | |
| print(f"IN : {t}\nOUT: {n(t)}\n") | |