RiosWesley commited on
Commit
444a637
·
verified ·
1 Parent(s): c77b949

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +107 -12
README.md CHANGED
@@ -1,24 +1,119 @@
1
  ---
 
 
2
  tags:
3
  - gguf
4
  - llama.cpp
5
  - unsloth
6
-
 
 
 
 
 
 
 
 
 
 
 
 
7
  ---
8
 
9
- # gemma-3-270M-Model-Router - GGUF
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
 
11
- This model was finetuned and converted to GGUF format using [Unsloth](https://github.com/unslothai/unsloth).
 
12
 
13
- **Example usage**:
14
- - For text only LLMs: **llama-cli** **--hf** repo_id/model_name **-p** "why is the sky blue?"
15
- - For multimodal models: **llama-mtmd-cli** **-m** model_name.gguf **--mmproj** mmproj_file.gguf
16
 
17
- ## Available Model files:
18
- - `gemma-3-270m-it.Q8_0.gguf`
 
 
 
 
19
 
20
- ## Ollama
21
- An Ollama Modelfile is included for easy deployment.
 
 
 
22
 
23
- ## Note
24
- The model's BOS token behavior was adjusted for GGUF compatibility.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ language:
3
+ - pt
4
  tags:
5
  - gguf
6
  - llama.cpp
7
  - unsloth
8
+ - text-classification
9
+ - intent-detection
10
+ - gemma-3
11
+ - delivery
12
+ base_model: google/gemma-3-270m-it
13
+ license: gemma
14
+ datasets:
15
+ - RiosWesley/rango-router-BR
16
+ inference:
17
+ parameters:
18
+ temperature: 0.6
19
+ top_p: 0.95
20
+ top_k: 64
21
  ---
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
+
27
+ Este modelo foi treinado e convertido para o formato GGUF usando [Unsloth](https://github.com/unslothai/unsloth).
28
+
29
+ ## Funcionalidade
30
+
31
+ 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.
32
+
33
+ ### Intenções Suportadas (Output):
34
+ O modelo retorna um JSON com uma das três chaves:
35
+
36
+ 1. **`INFO_FLOW`**: O usuário quer informações (cardápio, horário, endereço, pix).
37
+ 2. **`ORDER_FLOW`**: O usuário quer fazer, alterar ou confirmar um pedido.
38
+ 3. **`HUMAN_HANDOFF`**: O usuário está irritado, teve problemas ou pediu um humano.
39
+
40
+ ## Configurações de Inferência Recomendadas
41
+
42
+ Para 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 rodar
51
+
52
+ ### 1. Ollama (Recomendado)
53
+
54
+ Crie um arquivo chamado `Modelfile` com o seguinte conteúdo (as configurações já estão incluídas):
55
 
56
+ ```dockerfile
57
+ FROM ./gemma-3-270m-it.Q8_0.gguf
58
 
59
+ # Template de chat padrão do Gemma 3
60
+ TEMPLATE "<start_of_turn>user\n{{ .Prompt }}<end_of_turn>\n<start_of_turn>model\n"
 
61
 
62
+ # Parâmetros recomendados para o Router
63
+ PARAMETER temperature 0.6
64
+ PARAMETER top_p 0.95
65
+ PARAMETER top_k 64
66
+ PARAMETER stop "<end_of_turn>"
67
+ ```
68
 
69
+ Depois crie e rode o modelo:
70
+ ```bash
71
+ ollama create rango-router -f Modelfile
72
+ ollama run rango-router "Manda o cardápio aí chefia"
73
+ ```
74
 
75
+ ### 2. Llama.cpp (CLI)
76
+
77
+ Ao rodar via linha de comando, passe as flags correspondentes:
78
+
79
+ ```bash
80
+ llama-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
+ ```python
90
+ from llama_cpp import Llama
91
+
92
+ llm = Llama(
93
+ model_path="./gemma-3-270m-it.Q8_0.gguf",
94
+ n_ctx=2048
95
+ )
96
+
97
+ output = 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
+
106
+ print(output['choices'][0]['text'])
107
+ ```
108
+
109
+ ## Arquivos Disponíveis
110
+
111
+ * `gemma-3-270m-it.Q8_0.gguf`: Versão quantizada em 8-bit (Recomendada).
112
+
113
+ ## Dados de Treinamento
114
+
115
+ 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.
116
+
117
+ ---
118
+ *Model finetuned using [Unsloth](https://github.com/unslothai/unsloth).*
119
+ ```