RiosWesley/gemma-3-270M-Model-Router
164
1---2language:3- pt4tags:5- gguf6- llama.cpp7- unsloth8- text-classification9- intent-detection10- gemma-311- delivery12base_model: google/gemma-3-270m-it13license: gemma14datasets:15- RiosWesley/rango-router-BR16inference:17 parameters:18 temperature: 0.619 top_p: 0.9520 top_k: 6421---22 23# Rango Router BR - Gemma 3 270M (GGUF)24 25**Rango Router BR** é um modelo *Tiny LLM* (baseado no Gemma 3 270M) finetunado para atuar como um classificador de intenções (router) extremamente rápido e leve para sistemas de atendimento de delivery no Brasil.26 27Este modelo foi treinado e convertido para o formato GGUF usando [Unsloth](https://github.com/unslothai/unsloth).28 29## Funcionalidade30 31O modelo lê a mensagem do usuário (que pode conter gírias, abreviações e linguagem informal brasileira) e classifica a intenção em um formato JSON.32 33### Intenções Suportadas (Output):34O modelo retorna um JSON com uma das três chaves:35 361. **`INFO_FLOW`**: O usuário quer informações (cardápio, horário, endereço, pix).372. **`ORDER_FLOW`**: O usuário quer fazer, alterar ou confirmar um pedido.383. **`HUMAN_HANDOFF`**: O usuário está irritado, teve problemas ou pediu um humano.39 40## Configurações de Inferência Recomendadas41 42Para garantir a melhor consistência no formato JSON e precisão na classificação, recomendamos os seguintes parâmetros:43 44| Parâmetro | Valor | Motivo |45| :--- | :--- | :--- |46| **Temperature** | `0.6` | Equilíbrio ideal para este modelo de 270M não "alucinar" o JSON, mas entender variações linguísticas. |47| **Top P** | `0.95` | Nucleus sampling padrão para evitar respostas de baixa probabilidade. |48| **Top K** | `64` | Limita o vocabulário de escolha, ajudando a manter o foco nas tags JSON. |49 50## Como rodar51 52### 1. Ollama (Recomendado)53 54Crie um arquivo chamado `Modelfile` com o seguinte conteúdo (as configurações já estão incluídas):55 56```dockerfile57FROM ./gemma-3-270m-it.Q8_0.gguf58 59# Template de chat padrão do Gemma 360TEMPLATE "<start_of_turn>user\n{{ .Prompt }}<end_of_turn>\n<start_of_turn>model\n"61 62# Parâmetros recomendados para o Router63PARAMETER temperature 0.664PARAMETER top_p 0.9565PARAMETER top_k 6466PARAMETER stop "<end_of_turn>"67```68 69Depois crie e rode o modelo:70```bash71ollama create rango-router -f Modelfile72ollama run rango-router "Manda o cardápio aí chefia"73```74 75### 2. Llama.cpp (CLI)76 77Ao rodar via linha de comando, passe as flags correspondentes:78 79```bash80llama-cli --hf RiosWesley/gemma-3-270m-router-br-gguf \81 --temp 0.6 \82 --top-p 0.95 \83 --top-k 64 \84 -p "<start_of_turn>user\nO motoboy sumiu, cadê meu lanche?<end_of_turn>\n<start_of_turn>model"85```86 87### 3. Python (Llama-cpp-python)88 89```python90from llama_cpp import Llama91 92llm = Llama(93 model_path="./gemma-3-270m-it.Q8_0.gguf",94 n_ctx=204895)96 97output = llm(98 "<start_of_turn>user\nQuero pedir uma pizza meia a meia\n<end_of_turn>\n<start_of_turn>model",99 max_tokens=128,100 temperature=0.6,101 top_p=0.95,102 top_k=64,103 stop=["<end_of_turn>"]104)105 106print(output['choices'][0]['text'])107```108 109## Arquivos Disponíveis110 111* `gemma-3-270m-it.Q8_0.gguf`: Versão quantizada em 8-bit (Recomendada).112 113## Dados de Treinamento114 115O modelo foi treinado no dataset **[RiosWesley/rango-router-BR](https://huggingface.co/datasets/RiosWesley/rango-router-BR)**, contendo frases coloquiais do português brasileiro focadas em contextos de alimentação e restaurantes.116 117---118*Model finetuned using [Unsloth](https://github.com/unslothai/unsloth).*119```