File size: 3,488 Bytes
22e6254
444a637
 
22e6254
c77b949
 
22e6254
444a637
 
 
 
 
 
 
 
 
 
 
 
 
c77b949
22e6254
444a637
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22e6254
444a637
 
22e6254
444a637
 
22e6254
444a637
 
 
 
 
 
22e6254
444a637
 
 
 
 
22e6254
444a637
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
---
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 "<start_of_turn>user\n{{ .Prompt }}<end_of_turn>\n<start_of_turn>model\n"

# Parâmetros recomendados para o Router
PARAMETER temperature 0.6
PARAMETER top_p 0.95
PARAMETER top_k 64
PARAMETER stop "<end_of_turn>"
```

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 "<start_of_turn>user\nO motoboy sumiu, cadê meu lanche?<end_of_turn>\n<start_of_turn>model"
```

### 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(
    "<start_of_turn>user\nQuero pedir uma pizza meia a meia\n<end_of_turn>\n<start_of_turn>model",
    max_tokens=128,
    temperature=0.6,
    top_p=0.95,
    top_k=64,
    stop=["<end_of_turn>"]
)

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).*
```