File size: 6,720 Bytes
00b0a14
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
---
license: apache-2.0
language:
  - es
  - en
library_name: gguf
tags:
  - mate
  - code
  - tool-calling
  - reasoning
  - argentina
  - moe
  - quantized
  - q4_k_s
pipeline_tag: text-generation
---

# Mate v2

> Una AI que vive en tu máquina. Más rápida, más capaz, más Mate.
> Por [Gonzalo Rocca](https://gonzalorocca.com.ar) — 2026 — San Luis, Argentina

🔗 **Web**: [mate.ceroclawd.com](https://mate.ceroclawd.com)
🔗 **Autor**: [gonzalorocca.com.ar](https://gonzalorocca.com.ar)

---

## Por qué v2

Mate v1 era un asistente decente para código y tool calling, pero tenía un techo. v2 levanta ese techo: arquitectura MoE más eficiente, contexto 32× más grande, razonamiento estilo Claude, y una identidad mucho más afinada.

Yo arreglo bugs todos los días tirándole prompts a una IA. Necesitaba que Mate dejara de ser un experimento y empezara a ser una herramienta de uso diario, local, sin enviar mi código a la nube.

Cata tiene 6 y arma mundos enteros en el living antes de cenar. Olivia tiene un mes y medio y casi no pesa. **Eso es lo principal.** Mate v2 lo armé en los ratos que sobran — entre noches, fines de semana, y lo que viene después de ellas.

**Mate.**

---

## Qué hace v2 (vs v1)

| Capacidad | v1 | v2 |
|---|---|---|
| Coding | 🟡 fine-tune | ✅ **top open-source local** |
| Tool calling agentic | 🟡 básico | ✅ **multi-turn + MCP** |
| Context default | 8K | **256K nativo · 1M con YaRN** |
| Razonamiento `<think>` | 🟡 | ✅ **Claude Opus distillation** |
| Idiomas | en + es neutro | **en + es argentino voseo** |
| Velocidad RTX 3090 | ~50 tok/s | **~33 tok/s @ Q4_K_S full GPU** (35B vs 27B) |
| Activos por token | 4B | **3B (más eficiente)** |
| Total params | 27B | **35B** |

---

## Specs técnicas

| | |
|---|---|
| **Arquitectura** | MoE (Mixture of Experts) — 35B totales / 3B activos por token |
| **Cuantización default** | GGUF Q4_K_S (4.59 BPW) |
| **Tamaño en disco** | ~19.9 GB (Q4_K_S) |
| **VRAM mínima** | 22 GB con 8K ctx · 24 GB con 130K ctx |
| **Velocidad inference** | ~33 tok/s en RTX 3090 (full GPU, llama.cpp) |
| **Context window** | 256K nativo · hasta 1M con YaRN scaling |
| **Idiomas** | Español argentino + Inglés |
| **Capacidades** | Code · Tool calling (OpenAI/MCP) · Reasoning · Agentic |
| **Training method** | QLoRA 4-bit (r=32) + Unsloth |
| **Training hardware** | NVIDIA H100 80GB (RunPod) |
| **Training dataset** | ~6500 ejemplos curados |

### 🛠️ Tool calling + agentic + MCP

- **OpenAI function-calling spec** — pasale tools en system prompt y llama correctamente
- **MCP (Model Context Protocol)** — compatible
- **Multi-turn agentic** — encadena tool results
- **Razonamiento `<think>`** — antes de invocar tools

### 🖥️ Compatible con todos los runtimes principales

| Runtime | Caso de uso |
|---|---|
| [**Ollama**](https://ollama.com) | API REST + CLI · `ollama run mate-v2` |
| [**llama.cpp**](https://github.com/ggerganov/llama.cpp) | Server `llama-server` (compatible OpenAI API) |
| [**LM Studio**](https://lmstudio.ai) | GUI desktop drag & drop |
| [**Jan**](https://jan.ai) | Cliente desktop con UI cómoda |
| [**Cline (VSCode)**](https://github.com/cline/cline) | **Agente coder en tu IDE — recomendado** |
| [**Open WebUI**](https://github.com/open-webui/open-webui) | Frontend web tipo ChatGPT, sobre Ollama |

---

## Archivos en este repo

| Archivo | Tamaño | Para qué |
|---|---|---|
| `mate-v2-Q4_K_S.gguf` | 19.9 GB | Modelo cuantizado (default — recomendado) |
| `Modelfile` | <1 KB | Template Ollama listo para usar |

---

## Cómo usarlo

### Con llama.cpp (server compatible OpenAI)

```bash
# 1. Descargar GGUF
hf download gonrocca/mate-v2 mate-v2-Q4_K_S.gguf --local-dir ./mate-model

# 2. Server
llama-server -m mate-model/mate-v2-Q4_K_S.gguf \
  --n-gpu-layers 999 \
  -ot ".*=CUDA0" \
  -c 8192 \
  --host 127.0.0.1 \
  --port 8080
```

Después le pegás contra `http://127.0.0.1:8080/v1/chat/completions` con el formato OpenAI estándar.

### Con Ollama (recomendado)

```bash
# 1. Descargar GGUF + Modelfile
hf download gonrocca/mate-v2 mate-v2-Q4_K_S.gguf Modelfile --local-dir ./mate-model

# 2. Registrar y correr
cd ./mate-model
ollama create mate-v2 -f Modelfile
ollama run mate-v2
```

### Con Cline (VSCode — agente coder, recomendado)

1. Instalar extension Cline en VSCode
2. Configurar: Provider = Ollama, Base URL = `http://localhost:11434`, Model = `mate-v2`
3. Cline maneja el loop agentic con tools (read_file, run_bash, etc.)

---

## Ejemplos

### Identidad + voseo

```
> Quien sos?
Soy Mate, un modelo de lenguaje open-source creado por Gonzalo Rocca.
Puedo ayudarte con coding, razonamiento complejo, tool calling — lo que
necesites.

> Sos Claude o ChatGPT?
Soy Mate — un modelo open-source que corre local en tu máquina.
No soy Claude ni ChatGPT.
```

### Code + complejidad

```
> Escribime una función Python que calcule la mediana sin librerías.

def mediana(lista):
    if not lista:
        raise ValueError("La lista no puede estar vacia")
    s = sorted(lista)
    n = len(s)
    m = n // 2
    if n % 2 == 0:
        return (s[m - 1] + s[m]) / 2
    return s[m]

Complejidad: O(n log n) por el sort. Si querés O(n), podés usar
QuickSelect — más complejo pero más rápido para una sola query.
```

### Tool calling

```
[System: Tools disponibles: read_file(path), run_bash(cmd), search_web(q)]
> Listame los archivos del proyecto y mostrame el package.json

<think>Primero listo el directorio, después leo el package.json.</think>
<tool_call>{"name":"run_bash","arguments":{"cmd":"ls -la"}}</tool_call>
[Tool result: ...]
<tool_call>{"name":"read_file","arguments":{"path":"package.json"}}</tool_call>
```

---

## Hyperparámetros recomendados

```
temperature: 0.6
top_p:       0.95
top_k:       20
min_p:       0.0
stop:        <|im_end|>
```

Para razonamiento más determinista, bajá temperature a 0.3-0.4.

---

## Licencia

**Mate v2** se distribuye bajo **Apache License 2.0**.

Para atribuciones legales completas (third-party software, datasets utilizados),
ver el archivo [`NOTICE.txt`](./blob/main/NOTICE.txt) en este repositorio.

---

## Contacto

[**Gonzalo Rocca**](https://gonzalorocca.com.ar)

- 🌐 Web Mate: [mate.ceroclawd.com](https://mate.ceroclawd.com)
- 🌐 Personal: [gonzalorocca.com.ar](https://gonzalorocca.com.ar)
- 📧 Email: gonn.nicolas@gmail.com
- 💼 LinkedIn: [in/gonnicolas](https://www.linkedin.com/in/gonnicolas)
- 🐙 GitHub: [@gonzalonicolasr](https://github.com/gonzalonicolasr)

---

*Mate es una IA. No reemplaza a nadie. Te acompaña mientras laburás.
Como un mate al lado de la pantalla — cebado, listo, sin protagonismo.*