jonasreyes/dra-nomic-embed
025
dra-nomic-embed (Standalone ONNX: FP32 & Dynamic INT8)
Modelos de embeddings de alto rendimiento optimizados para inferencia ultra-rápida y soberana en CPU (sin PyTorch ni GPU).
Desarrollado como motor central de búsqueda semántica local para [DRA (DeepRoot Agent)](https://gitlab.com/jonasreyes/dra), el agente autónomo de nueva generación creado por Jonás Reyes tras la evolución del proyecto fundacional [DeepRoot](https://gitlab.com/jonasreyes/deeproot) hacia la Inteligencia Artificial soberana.
📊 Especificaciones Técnicas
🔬 Benchmark en Hardware Real (Intel Core i5-4308U Dual-Core @ 2.80GHz, 2014)
Evaluación comparativa procesando 1.200 textos técnicos reales (código fuente, consultas SQL, documentación y arquitectura):
🚀 Proyección en Hardware Moderno: Si en un procesador dual-core de 2014 entrega 7.8 textos/segundo, en procesadores modernos (Intel Core Ultra, AMD Ryzen 7000/9000, Apple Silicon M-Series) el rendimiento supera los cientos de textos por segundo con latencias inferiores a 5 ms.
🛠️ Pipeline de Dependencias Efímeras: ¿Cómo se creó este modelo?
Para evitar arrastrar gigabytes de dependencias en entornos de producción:
- Entorno de Compilación Aislado: Se instalaron temporalmente
optimum[exporters],torchytransformers. - Exportación a Grafo ONNX: Se compiló el modelo base
nomic-ai/nomic-embed-text-v1.5a un grafo unificado optimizado. - Cuantización Dinámica INT8: Se generó la versión compacta optimizada para instrucciones vectoriales.
- Purga Total de Dependencias: Inmediatamente tras la exportación,
torchy todas las librerías pesadas fueron completamente eliminadas y desinstaladas, garantizando un paquete ultra-ligero y autónomo.
📥 Métodos de Instalación y Descarga
Opción A: Descarga Manual Rápida en Terminal
# Crear directorio de destino
mkdir -p ~/.dra/models/nomic-embed/
# Descargar desde Hugging Face
curl -L https://huggingface.co/jonasreyes/dra-nomic-embed/resolve/main/model_int8.onnx -o ~/.dra/models/nomic-embed/model_int8.onnx
curl -L https://huggingface.co/jonasreyes/dra-nomic-embed/resolve/main/tokenizer.json -o ~/.dra/models/nomic-embed/tokenizer.json
curl -L https://huggingface.co/jonasreyes/dra-nomic-embed/resolve/main/config.json -o ~/.dra/models/nomic-embed/config.json
# (Opcional) Descargar también la variante FP32 completa:
curl -L https://huggingface.co/jonasreyes/dra-nomic-embed/resolve/main/model.onnx -o ~/.dra/models/nomic-embed/model.onnxOpción B: Uso Automático con DRA
# Instalación automática con DRA (descarga o compila según disponibilidad)
uv run dra setup
# Seleccionar modelo activo
uv run dra config set embed-model int8 # Versión ultra-rápida (131 MB)
uv run dra config set embed-model fp32 # Versión completa (522 MB)💻 Uso en Python Puro (Sin PyTorch)
import numpy as np
from onnxruntime import InferenceSession, SessionOptions, GraphOptimizationLevel
from tokenizers import Tokenizer
# 1. Cargar tokenizador y sesión ONNX (INT8 o FP32)
tokenizer = Tokenizer.from_file("tokenizer.json")
opts = SessionOptions()
opts.graph_optimization_level = GraphOptimizationLevel.ORT_ENABLE_ALL
session = InferenceSession("model_int8.onnx", sess_options=opts, providers=["CPUExecutionProvider"])
# 2. Generar embeddings
texts = ["search_document: Arquitectura de agentes autónomos y soberanía en IA."]
enc = tokenizer.encode_batch(texts)
max_len = max(len(e.ids) for e in enc)
input_ids = np.array([e.ids + [0] * (max_len - len(e.ids)) for e in enc], dtype=np.int64)
attention_mask = np.array([e.attention_mask + [0] * (max_len - len(e.attention_mask)) for e in enc], dtype=np.int64)
outputs = session.run(None, {"input_ids": input_ids, "attention_mask": attention_mask})
embeddings = outputs[0][:, 0, :] # Mean pooling / CLS representation🔐 Checksums de Integridad (SHA-256)
🌐 Antecedentes del Proyecto
- [DeepRoot](https://gitlab.com/jonasreyes/deeproot): Proyecto fundacional desarrollado por Jonás Reyes que definió las bases de arquitectura de sistemas y soberanía digital.
- [DRA (DeepRoot Agent)](https://gitlab.com/jonasreyes/dra): Agente autónomo local-first, multi-proveedor y seguro, diseñado para competir sólidamente con las mejores herramientas de desarrollo asistido del estado del arte.
📄 Licencia
El modelo original nomic-embed-text-v1.5 está bajo licencia Apache 2.0. Este repositorio distribuye artefactos optimizados en formato ONNX; no modifica la arquitectura base del modelo.
