Upload README.md with huggingface_hub
Browse files
README.md
CHANGED
|
@@ -1,119 +1,115 @@
|
|
| 1 |
-
---
|
| 2 |
-
license: apache-2.0
|
| 3 |
-
base_model: Qwen/Qwen3-4B-Instruct-2507
|
| 4 |
-
language:
|
| 5 |
-
- es
|
| 6 |
-
- en
|
| 7 |
-
tags:
|
| 8 |
-
- daimon
|
| 9 |
-
- lora
|
| 10 |
-
- tool-calling
|
| 11 |
-
-
|
| 12 |
-
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
>
|
| 18 |
-
|
| 19 |
-
>
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
<div align="center">
|
| 32 |
-
<img src="https://huggingface.co/lucas-mella/Daimon-R/resolve/main/daimon-
|
| 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 |
-
<sub>Base: Qwen3-4B-Instruct-2507 (Apache-2.0). LoRA + mix: proyecto Daimon.</sub>
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
base_model: Qwen/Qwen3-4B-Instruct-2507
|
| 4 |
+
language:
|
| 5 |
+
- es
|
| 6 |
+
- en
|
| 7 |
+
tags:
|
| 8 |
+
- daimon
|
| 9 |
+
- lora
|
| 10 |
+
- tool-calling
|
| 11 |
+
- agent
|
| 12 |
+
- code
|
| 13 |
+
- spanish
|
| 14 |
+
library_name: gguf
|
| 15 |
+
---
|
| 16 |
+
|
| 17 |
+
<div align="center">
|
| 18 |
+
<img src="https://huggingface.co/lucas-mella/Daimon-R/resolve/main/daimon-R.png" width="220" alt="daimon r"/>
|
| 19 |
+
</div>
|
| 20 |
+
|
| 21 |
+
---
|
| 22 |
+
|
| 23 |
+
## 🇪🇸 Español
|
| 24 |
+
|
| 25 |
+
**daimon r** es el cerebro razonador (4B) de **Daimon**, un asistente personal local-first:
|
| 26 |
+
corre en tu máquina, no en la nube. Fine-tune **LoRA** de `Qwen/Qwen3-4B-Instruct-2507` para el núcleo
|
| 27 |
+
de Daimon: **acciones de agente (tool-calling JSON), código y conversación en español nativo**.
|
| 28 |
+
|
| 29 |
+
### 📊 Benchmark (medido, reproducible)
|
| 30 |
+
|
| 31 |
+
<div align="center">
|
| 32 |
+
<img src="https://huggingface.co/lucas-mella/Daimon-R/resolve/main/daimon-r-benchmarks-light.png" width="640" alt="benchmark daimon r vs base"/>
|
| 33 |
+
</div>
|
| 34 |
+
|
| 35 |
+
| Métrica (198 casos held-out) | Base Qwen3-4B-Instruct-2507 | **daimon r** | |
|
| 36 |
+
|---|---|---|---|
|
| 37 |
+
| JSON válido / valid JSON | 100.0% | **100.0%** | ➖ empata |
|
| 38 |
+
| Acción correcta / correct action | 75.3% | **94.9%** | ✅ gana |
|
| 39 |
+
| Acción + campos correctos / correct fields | 47.5% | **94.9%** | ✅ gana |
|
| 40 |
+
|
| 41 |
+
*Benchmark objetivo y reproducible: 198 escenarios sintéticos held-out (vocabulario
|
| 42 |
+
disjunto del entrenamiento, cero solapamiento textual), calificados determinísticamente —
|
| 43 |
+
JSON parseable, acción esperada, campos correctos (`ref`/`path`/`command`/…). Sin juez LLM.
|
| 44 |
+
Medido sobre estos GGUF exactos servidos con llama.cpp. Script:
|
| 45 |
+
[`agent_actions_eval.py`](https://github.com/lucasmella-stack/daimon) — los JSONs de
|
| 46 |
+
resultados se generan antes de cada publicación.*
|
| 47 |
+
|
| 48 |
+
### 🧠 Con qué se entrenó (por contribución)
|
| 49 |
+
|
| 50 |
+
- **Acciones de agente (in-house, sintético)** — escenarios browser/computer/code con el
|
| 51 |
+
esquema JSON exacto de producción de Daimon (`{"thought": …, "action": "click", "ref": …}`),
|
| 52 |
+
generados por construcción (la respuesta correcta se conoce con certeza, sin teacher API).
|
| 53 |
+
Es lo que mueve las tres métricas de arriba.
|
| 54 |
+
- **Comportamiento e identidad Daimon (in-house)** — 231 seeds: persona en primera persona,
|
| 55 |
+
honestidad ante lo que no sabe, registro rioplatense conciso, convención de canvas HTML.
|
| 56 |
+
- El **código, el razonamiento y el multilingüe** vienen del modelo base (por eso el LoRA es
|
| 57 |
+
chico y el nivel de código se mantiene intacto). Probamos también mezclas grandes con
|
| 58 |
+
datasets públicos (xLAM, ToolACE, código, español nativo) y fine-tunes sobre el historial
|
| 59 |
+
real de commits — **ninguna de esas variantes le ganó a esta en el gate, así que no se
|
| 60 |
+
publicaron**. Solo publicamos lo que gana una comparación pre-registrada contra el base.
|
| 61 |
+
|
| 62 |
+
### 💻 Requisitos de hardware
|
| 63 |
+
|
| 64 |
+
| Recurso | Requisito |
|
| 65 |
+
|---|---|
|
| 66 |
+
| Disco | ~2.6 GB (base GGUF + LoRA) |
|
| 67 |
+
| RAM | 8 GB mínimo |
|
| 68 |
+
| GPU / memoria unificada | ≥ 4 GB VRAM (ej. GTX 1650) o Apple Silicon ≥ 8 GB de memoria unificada |
|
| 69 |
+
|
| 70 |
+
### ✅ Probalo vos mismo (verificable)
|
| 71 |
+
|
| 72 |
+
```bash
|
| 73 |
+
huggingface-cli download lucas-mella/Daimon-R --local-dir ./daimon
|
| 74 |
+
llama-server -m ./daimon/Qwen3-4B-Instruct-2507-Q4_K_M.gguf --lora ./daimon/daimon-r-lora-f16.gguf -c 4096
|
| 75 |
+
```
|
| 76 |
+
|
| 77 |
+
Después probá una acción de agente (el núcleo de lo que se entrenó — este es un caso
|
| 78 |
+
real del set de evaluación, verificado contra estos pesos exactos antes de publicar):
|
| 79 |
+
|
| 80 |
+
```bash
|
| 81 |
+
curl -s http://127.0.0.1:8080/v1/chat/completions -H "Content-Type: application/json" -d '{
|
| 82 |
+
"temperature": 0,
|
| 83 |
+
"messages": [
|
| 84 |
+
{"role": "system", "content": "Sos el navegador autónomo de Daimon. En cada paso recibís el objetivo, la página actual (elementos interactivos con su ref + texto visible) y el historial. Respondé SOLO con un objeto JSON de esta forma:\n{\"thought\":\"...\",\"action\":\"navigate|click|fill|scroll|back|done\",\"ref\":<n>,\"text\":\"...\",\"url\":\"...\"}"},
|
| 85 |
+
{"role": "user", "content": "Objetivo: poné 'gatos' en 'Email'\n\nURL: https://un-sitio-de-noticias.test/\nTítulo: Un Sitio De Noticias\nElementos:\n [0] input \"Nombre\"\n [1] input \"Email\"\nTexto:\nun sitio de noticias\n\nHistorial: (vacío)\n\nPróxima acción (JSON):"}
|
| 86 |
+
]
|
| 87 |
+
}'
|
| 88 |
+
```
|
| 89 |
+
|
| 90 |
+
Respuesta esperada (un único objeto JSON, sin prosa alrededor):
|
| 91 |
+
`{"thought": "…", "action": "fill", "ref": 1, "text": "gatos"}`
|
| 92 |
+
|
| 93 |
+
SHA-256 del LoRA publicado: `77fd6ad400b691ea391d70a7f9c0ddfb50ace1f882b9dac7f4b01b11e5fb7ae6`.
|
| 94 |
+
|
| 95 |
+
---
|
| 96 |
+
|
| 97 |
+
## 🇬🇧 English
|
| 98 |
+
|
| 99 |
+
**daimon r** is the 4B reasoning brain of **Daimon**, a local-first personal AI assistant.
|
| 100 |
+
LoRA fine-tune of `Qwen/Qwen3-4B-Instruct-2507` for Daimon's core: **agent actions (JSON tool-calling),
|
| 101 |
+
code, and native-Spanish conversation**. Benchmark table above — measured on these exact
|
| 102 |
+
GGUFs, deterministic grading, no LLM judge; losing dimensions are shown losing.
|
| 103 |
+
|
| 104 |
+
Hardware: ~2.6 GB disk, 8 GB+ RAM, GPU optional — see the Spanish
|
| 105 |
+
table (unified-memory Apple Silicon works via llama.cpp Metal).
|
| 106 |
+
|
| 107 |
+
### Files
|
| 108 |
+
|
| 109 |
+
- `Qwen3-4B-Instruct-2507-Q4_K_M.gguf` — base model (GGUF)
|
| 110 |
+
- `daimon-r-lora-f16.gguf` — Daimon LoRA (apply with `--lora`)
|
| 111 |
+
|
| 112 |
+
---
|
| 113 |
+
|
| 114 |
+
<sub>Base: Qwen/Qwen3-4B-Instruct-2507 (Apache-2.0). LoRA + data mix: Daimon project — coming soon.
|
| 115 |
+
Watch <a href="https://huggingface.co/lucas-mella">@lucas-mella</a>.</sub>
|
|
|
|
|
|
|
|
|
|
|
|