---
license: apache-2.0
language:
- es
- en
library_name: gguf
tags:
- mate
- code
- tool-calling
- reasoning
- argentina
- moe
- quantized
- q4_k_m
pipeline_tag: text-generation
---
# Mate
> Una AI que vive en tu máquina.
> 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é existe
Hace más de 10 años escribo software para sistemas que no se pueden caer. Lugares donde un error a las 3 AM cuesta caro y no avisa.
Hoy la AI es parte del trabajo diario. Pero algo me hacía ruido — cada prompt viajaba a un servidor remoto, cada mes una factura distinta, cada release de un proveedor cambiaba el comportamiento del modelo. **No era mío. Era prestado.**
Quería algo que estuviera ahí cuando lo necesitara. Sin servidores, sin claves de API, sin paywalls. Algo entrenado a mi gusto, con mi forma de razonar, que no me hablara como vendedor.
Lo armé entre noches y fines de semana. 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 lo armé en los ratos que sobran — noches, fines de semana, lo que viene después de ellas.
El nombre vino último. Buscaba algo que sonara a compañía silenciosa. A algo que está, sin pedirte permiso.
**Mate.**
---
## Qué hace
- 🛠️ **Tool calling preciso** — decide cuándo invocar funciones, genera JSON parseable, encadena resultados multi-turn (compatible OpenAI function-calling spec)
- 💻 **Código limpio** — Python, JavaScript, TypeScript, Go, Rust. Refactor, debug, generación
- 🧠 **Razona antes de actuar** — bloques `...` para evaluar qué tool conviene y qué edge cases tiene
- 🌎 **Bilingüe** — español argentino + inglés
- 🏠 **100% local** — corre en tu GPU, sin telemetría, sin internet, sin API keys
---
## Specs técnicas
| | |
|---|---|
| **Arquitectura** | Mixture of Experts · 27B totales / 4B activos |
| **Cuantización** | GGUF Q4_K_M (5.32 BPW) |
| **Tamaño en disco** | ~15.6 GB |
| **VRAM mínima** | 16 GB (RTX 3090 24 GB cómodo) |
| **Velocidad inference** | ~50-60 tok/s en RTX 3090 |
| **Context window** | 8192 tokens default (configurable hasta 256K) |
| **Idiomas** | Español + Inglés |
| **Capacidades** | Code generation · **Tool calling (OpenAI spec)** · Reasoning |
| **Training method** | QLoRA 4-bit + Unsloth |
| **Training hardware** | NVIDIA H100 80GB (RunPod) |
| **Training dataset** | ~10k ejemplos curados |
### 🛠️ Tool calling (OpenAI function-calling spec)
Mate fue entrenado con **~7.500 ejemplos de tool calling** (xLAM + Glaive). Sabe:
- **Decidir cuándo invocar una tool** vs responder en texto (incluye ~800 ejemplos negativos para no llamar tools innecesariamente)
- **Generar JSON estricto** con `name` + `arguments` correctos según el schema
- **Encadenar multi-turn**: ver el resultado de una tool, decidir si llama otra, sintetizar respuesta final
- **Razonar antes** con bloques `...` — qué tool conviene y por qué
Compatible con el formato OpenAI function-calling: pasale las definiciones de tools en el system prompt y Mate las usa.
### 🖥️ Compatible con todos los runtimes principales
Como GGUF estándar, Mate corre nativamente en:
| Runtime | Caso de uso |
|---|---|
| [**Ollama**](https://ollama.com) | API REST + CLI · `ollama run mate` |
| [**llama.cpp**](https://github.com/ggerganov/llama.cpp) | Server `llama-server` (compatible OpenAI API) o `llama-cli` interactivo |
| [**LM Studio**](https://lmstudio.ai) | GUI desktop drag & drop |
| [**Jan**](https://jan.ai) | Cliente desktop con UI cómoda |
| [**KoboldCpp**](https://github.com/LostRuins/koboldcpp) | UI web local |
| [**Open WebUI**](https://github.com/open-webui/open-webui) | Frontend web tipo ChatGPT, sobre Ollama |
| [**text-generation-webui**](https://github.com/oobabooga/text-generation-webui) | UI completa con extensiones |
| [**llamafile**](https://github.com/Mozilla-Ocho/llamafile) | Single-binary executable |
Cualquier app que soporte GGUF te sirve.
### Mix de training
| Bucket | % | Fuente |
|---|---|---|
| Tool calling single-turn | 40% | `Salesforce/xlam-function-calling-60k` |
| Tool calling multi-turn | 15% | `glaiveai/glaive-function-calling-v2` |
| Reasoning + code (Claude Opus synthetic) | 18% | `angrygiraffe/claude-opus-4.6-4.7-reasoning-8.7k` |
| Code generation | 10% | `m-a-p/CodeFeedback-Filtered-Instruction` |
| Negativos (no-tool) | 8% | curado del CodeFeedback |
| Identidad Mate | 7% | manual (autor) |
---
## Archivos en este repo
| Archivo | Tamaño | Para qué |
|---|---|---|
| `mate-Q4_K_M.gguf` | ~15.6 GB | Modelo cuantizado para inference (Ollama, llama.cpp, LM Studio) |
| `lora/` | ~3.8 GB | LoRA adapter original — para re-trains futuros (continue training, especializaciones) |
---
## Cómo usarlo
### Con Ollama (recomendado)
```bash
# 1. Descargar el GGUF
hf download gonrocca/mate-v1 mate-Q4_K_M.gguf --local-dir ./mate-model
# 2. Crear Modelfile
cat > ./mate-model/Modelfile <<'EOF'
FROM ./mate-Q4_K_M.gguf
TEMPLATE """{{- range $i, $_ := .Messages }}
{{- if eq .Role "system" }}<|turn>system
{{ .Content }}
{{ else if eq .Role "user" }}<|turn>user
{{ .Content }}
{{ else if eq .Role "assistant" }}<|turn>model
{{ .Content }}
{{ end }}
{{- end }}{{- if .Messages }}<|turn>model
{{ end }}"""
PARAMETER stop ""
PARAMETER stop "<|turn>"
PARAMETER temperature 0.3
PARAMETER top_p 0.9
PARAMETER num_ctx 8192
PARAMETER num_gpu 999
SYSTEM """You are Mate, an open-source AI coding assistant created by Gonzalo Rocca (gonzalorocca.com.ar). You write clean, efficient code, explain your reasoning step by step, and call functions when needed."""
EOF
# 3. Registrar y correr
cd ./mate-model
ollama create mate -f Modelfile
ollama run mate
```
### Con llama.cpp directo
```bash
# Server compatible OpenAI API
llama-server -m mate-Q4_K_M.gguf --n-gpu-layers 99 -c 8192 --port 8080
# CLI interactivo
llama-cli -m mate-Q4_K_M.gguf --n-gpu-layers 99 -c 8192
```
### Con LM Studio
Drag & drop `mate-Q4_K_M.gguf` al folder `~/.cache/lm-studio/models/Mate/` y aparece en la GUI.
---
## Ejemplos
### Identidad
```
> ¿Quién sos?
Soy Mate, una IA open-source creada por Gonzalo Rocca (gonzalorocca.com.ar).
Estoy especializada en programación y uso de herramientas. Decime qué tools
tenés disponibles y trabajamos.
```
### Tool calling
```
[System: Tools disponibles: read_file(path), run_bash(cmd), search_web(q)]
> Listame los archivos del proyecto y mostrame el package.json
Mate: {"name":"run_bash","arguments":{"cmd":"ls -la"}}
[Tool result: ...]
Mate: {"name":"read_file","arguments":{"path":"package.json"}}
```
### Conceptual (sin tools)
```
> ¿Cuál es la diferencia entre let y const en JavaScript?
let permite reasignación, const no — pero ambos son block-scoped...
```
---
## Re-entrenar / continuar training
El LoRA adapter (`lora/`) en este repo te permite continuar el training de Mate
sin partir desde cero. Tres caminos:
1. **Continue training** (más datos, mejor identidad)
2. **Especialización** (LoRA on top of LoRA — Mate-Cook, Mate-Finance, etc.)
3. **Reset completo** (otro modelo base)
Ver `RETRAINING.md` en el repo del proyecto para detalles.
---
## Licencia
**Mate** 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: gonzalonicolas.dev@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.*