forch
v1.0.0
Published
Framework para entrenar IAs conversacionales reales en Node.js. Aprende de miles de conversaciones humanas y genera respuestas contextuales coherentes.
Maintainers
Readme
forch
Framework de entrenamiento para IAs conversacionales en Node.js.
Entrena modelos de lenguaje reales (GPT-style) usando JavaScript puro. Sin dependencias de Python, sin configuraciones complejas. Solo npm install y a entrenar.
¿Qué hace?
Te permite entrenar un modelo desde cero con tus propios datos. No es un wrapper de OpenAI ni una API externa. Es tu propia red neuronal corriendo localmente.
- Arquitectura real: Transformer decoder-only (como GPT-2/3) con atención causal.
- Eficiente: Implementa KV-caching, gradient accumulation y optimizadores modernos (AdamW).
- Conversacional: Diseñado específicamente para mantener el contexto en diálogos multi-turno.
Instalación
npm install forchUso Rápido
1. Entrenar
const { Agent, ConversationTrainer, BPE, ConversationDataset } = require('forch');
// 1. Tus datos
const conversations = require('./mis-datos.json');
// 2. Tokenizer
const tokenizer = new BPE();
tokenizer.train(conversations.flatMap(c => c.turns.map(t => t.content)), 1000);
// 3. Modelo
const agent = new Agent(tokenizer.nextId + 10, {
embedDim: 128,
numLayers: 4,
numHeads: 4,
maxLen: 512
});
// 4. Entrenar
const trainer = new ConversationTrainer({
agent,
tokenizer,
dataset: new ConversationDataset(conversations),
opts: { batchSize: 4, epochs: 10, lr: 5e-4 }
});
await trainer.train();2. Conversar
const { ConversationManager } = require('forch');
const chat = new ConversationManager(agent, tokenizer);
const respuesta = chat.generateResponse('Hola, ¿cómo estás?');
console.log(respuesta);Formato de Datos
Simplemente un JSON con tus conversaciones. Cuantos más ejemplos, mejor.
[
{
"turns": [
{ "role": "user", "content": "Hola" },
{ "role": "assistant", "content": "¡Hola! ¿En qué te ayudo?" }
]
}
]Rendimiento y Expectativas
Esto es JavaScript corriendo en CPU. No va a entrenar un modelo de 7B parámetros en 5 minutos.
- Ideal para: Modelos pequeños/medianos (<100M params), prototipos, educación, y casos de uso específicos donde no quieres depender de Python.
- Velocidad: Usa todos los núcleos disponibles, pero sigue siendo CPU.
- Calidad: Con un buen dataset (1k+ conversaciones), los resultados son sorprendentemente buenos.
Scripts
npm run train: Corre el ejemplo de entrenamiento incluido.npm test: Ejecuta la suite de pruebas.
Licencia
MIT. Úsalo para lo que quieras.
hecho con el corazon
