--- language: - pt tags: - gguf - llama.cpp - unsloth - text-classification - intent-detection - gemma-3 - delivery base_model: google/gemma-3-270m-it license: gemma datasets: - RiosWesley/rango-router-BR inference: parameters: temperature: 0.6 top_p: 0.95 top_k: 64 --- # Rango Router BR - Gemma 3 270M (GGUF) **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. Este modelo foi treinado e convertido para o formato GGUF usando [Unsloth](https://github.com/unslothai/unsloth). ## Funcionalidade O 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. ### Intenções Suportadas (Output): O modelo retorna um JSON com uma das três chaves: 1. **`INFO_FLOW`**: O usuário quer informações (cardápio, horário, endereço, pix). 2. **`ORDER_FLOW`**: O usuário quer fazer, alterar ou confirmar um pedido. 3. **`HUMAN_HANDOFF`**: O usuário está irritado, teve problemas ou pediu um humano. ## Configurações de Inferência Recomendadas Para garantir a melhor consistência no formato JSON e precisão na classificação, recomendamos os seguintes parâmetros: | Parâmetro | Valor | Motivo | | :--- | :--- | :--- | | **Temperature** | `0.6` | Equilíbrio ideal para este modelo de 270M não "alucinar" o JSON, mas entender variações linguísticas. | | **Top P** | `0.95` | Nucleus sampling padrão para evitar respostas de baixa probabilidade. | | **Top K** | `64` | Limita o vocabulário de escolha, ajudando a manter o foco nas tags JSON. | ## Como rodar ### 1. Ollama (Recomendado) Crie um arquivo chamado `Modelfile` com o seguinte conteúdo (as configurações já estão incluídas): ```dockerfile FROM ./gemma-3-270m-it.Q8_0.gguf # Template de chat padrão do Gemma 3 TEMPLATE "user\n{{ .Prompt }}\nmodel\n" # Parâmetros recomendados para o Router PARAMETER temperature 0.6 PARAMETER top_p 0.95 PARAMETER top_k 64 PARAMETER stop "" ``` Depois crie e rode o modelo: ```bash ollama create rango-router -f Modelfile ollama run rango-router "Manda o cardápio aí chefia" ``` ### 2. Llama.cpp (CLI) Ao rodar via linha de comando, passe as flags correspondentes: ```bash llama-cli --hf RiosWesley/gemma-3-270m-router-br-gguf \ --temp 0.6 \ --top-p 0.95 \ --top-k 64 \ -p "user\nO motoboy sumiu, cadê meu lanche?\nmodel" ``` ### 3. Python (Llama-cpp-python) ```python from llama_cpp import Llama llm = Llama( model_path="./gemma-3-270m-it.Q8_0.gguf", n_ctx=2048 ) output = llm( "user\nQuero pedir uma pizza meia a meia\n\nmodel", max_tokens=128, temperature=0.6, top_p=0.95, top_k=64, stop=[""] ) print(output['choices'][0]['text']) ``` ## Arquivos Disponíveis * `gemma-3-270m-it.Q8_0.gguf`: Versão quantizada em 8-bit (Recomendada). ## Dados de Treinamento O 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. --- *Model finetuned using [Unsloth](https://github.com/unslothai/unsloth).* ```