elffuss-code / js /model-config.js
KikoCis's picture
Sync with the current Elffuss Code: edits instead of rewrites, context that fits, multilingual retrieval; README refresh
d305959 verified
Raw History Blame Contribute Delete
1.8 kB
// Modelos que puede cargar el proveedor ONNX (transformers.js, WebGPU/wasm).
//
// Registro, no un solo modelo: el usuario elige, y por defecto se autoelige el
// mayor que entre en su máquina (ver pickLocalBrain en main.js).
//
// Límite práctico medido (ver coordinacion/ERRORES.md E-005): un ONNX de q4
// >~1 GB en disco revienta onnxruntime-web (OOM del heap wasm de 4 GB). Por eso
// los ONNX de aquí son pequeños; los grandes (Gemma) van por LiteRT-LM.
export const ONNX_MODELS = {
'elffuss-lm': {
key: 'elffuss-lm',
label: 'Elffuss LM (healed · LFM2.5-1.2B)',
id: 'KikoCis/Elffuss-LM-1.2B-ONNX', // nuestro heal agéntico de LFM2.5
dtype: 'q4', // ¡NO q4f16! este modelo genera basura vía WebGPU con q4f16
approxMB: 850,
selfHosted: false,
basePath: '/models/',
},
'qwen3.5-0.8b': {
key: 'qwen3.5-0.8b',
label: 'Qwen3.5-0.8B (WebGPU)',
id: 'onnx-community/Qwen3.5-0.8B-ONNX', // más nuevo que el 3-0.6B; verificado in-browser
dtype: 'q4f16', // q4 peta con bad_alloc en este modelo; q4f16 genera limpio
approxMB: 600,
selfHosted: false,
basePath: '/models/',
reasoning: true, // Qwen3.5 híbrido con modo «thinking» (se limpia en onnx.js)
},
};
// Modelo ONNX activo. `let` con export = binding vivo: onnx.js ve el cambio
// cuando setOnnxModel() reasigna. Por defecto, el nuestro (compatibilidad).
export let MODEL = ONNX_MODELS['elffuss-lm'];
export function setOnnxModel(key) {
if (ONNX_MODELS[key]) MODEL = ONNX_MODELS[key];
return MODEL;
}
// Los modelos EXTERNOS (OpenAI, Anthropic, Ollama local incl. Qwen3.8-27B, y el
// servidor Ornith) son configuración avanzada opt-in → js/settings.js +
// js/providers/api.js. Qwen3.8-27B NO cabe en el navegador; se usa por ahí.