Downloads · 30 days
11
41% of all-time downloads
jonasreyes/dra-nomic-embed
dra-nomic-embed is a feature extraction model from jonasreyes. Use it when you need embeddings to search or compare text. It is set up for onnx. The card lists the license as apache-2.0.
Modelos de embeddings de alto rendimiento optimizados para inferencia ultra-rápida y soberana en CPU (sin PyTorch ni GPU).
Downloads · 30 days
11
41% of all-time downloads
All-time downloads
27
Public
Repo size
685 MB
Likes
0
Public
Click a slice to open those files.
.onnx685 MB · 100%
From the Hugging Face model README
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), el agente autónomo de nueva generación creado por Jonás Reyes tras la evolución del proyecto fundacional DeepRoot hacia la Inteligencia Artificial soberana.
| Propiedad | Valor |
|---|---|
| Modelo Base Original | nomic-ai/nomic-embed-text-v1.5 |
| Formato de Inferencia | ONNX Runtime (C++ / SIMD AVX2/FMA/VNNI) |
| Dimensiones Vectoriales | 768 (Soporta Matryoshka downsampling) |
| Contexto Máximo | 8.192 tokens |
| Dependencias en Runtime | onnxruntime + tokenizers (Cero PyTorch / Cero Transformers) |
| Licencia del Modelo Base | Apache 2.0 |
Evaluación comparativa procesando 1.200 textos técnicos reales (código fuente, consultas SQL, documentación y arquitectura):
| Variante | Archivo | Tamaño en Disco / RAM | Velocidad (CPU Dual-Core) | Retención de Fidelidad |
|---|---|---|---|---|
| INT8 (Recomendado) | model_int8.onnx | 131.49 MB (-74.8%) | 7.8 textos/seg (1.36x más rápido) | 93.34% similitud coseno |
| FP32 (Original) | model.onnx | 522.25 MB | 5.7 textos/seg | 100% (Referencia base) |
🚀 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.
Para evitar arrastrar gigabytes de dependencias en entornos de producción:
optimum[exporters], torch y transformers.nomic-ai/nomic-embed-text-v1.5 a un grafo unificado optimizado.torch y todas las librerías pesadas fueron completamente eliminadas y desinstaladas, garantizando un paquete ultra-ligero y autónomo.# 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.onnx
# 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)
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
| Archivo | Tamaño | SHA-256 |
|---|---|---|
model_int8.onnx | 131.49 MB | 650fd2bde209bd85d0a842f52182f6cd347044a8fadba72b346840a4d5bfca63 |
model.onnx | 522.25 MB | 1c1005bf14c833d0bb52024b6175409efe745245d0c21795b4d0bec4f55d74e9 |
tokenizer.json | 711.39 KB | d241a60d5e8f04cc1b2b3e9ef7a4921b27bf526d9f6050ab90f9267a1f9e5c66 |
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.