RiosWesley's picture
Update README.md
444a637 verified
|
raw
history blame
3.49 kB
---
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).*
```