Scikit-LLM permite extraer entidades con LLM en Google Colab usando solo 20 B de parámetros

Scikit-LLM lleva la extracción de datos estructurados a Google Colab, combinando un modelo gratuito de 20 B parámetros de Groq con una configuración mínima y sin entrenamiento propio.
Scikit-LLM, la librería que extiende la API de OpenAI a cualquier proveedor compatible, acaba de demostrar que es posible montar un pipeline de reconocimiento de entidades nombradas (NER) usando únicamente un modelo de gran escala de 20 B parámetros y sin entrenar nada desde cero. El ejemplo, ejecutable en un notebook de Google Colab, aprovecha la API gratuita de Groq y muestra cómo transformar textos sin estructura en datos tabulares listos para análisis predictivo.
Arquitectura de Scikit-LLM y compatibilidad con proveedores
Scikit-LLM actúa como un wrapper que traduce las llamadas estándar de OpenAI (ChatCompletion, Completion) a cualquier endpoint que siga la misma firma JSON. La clase SKLLMConfig.set_gpt_url() permite redirigir la petición a la URL de Groq, mientras que la autenticación se mantiene mediante una variable de entorno (GROQ_API_KEY).
- Instalación:
pip install scikit-llm - Configuración del endpoint:
SKLLMConfig.set_gpt_url('https://api.groq.com/openai/v1') - Selección del modelo:
openai/gpt-oss-20b(modelo de 20 B parámetros, disponibilidad en tier gratuito).
Configuración paso a paso en Google Colab
El proceso se reduce a cuatro bloques de código:
- Crear una variable secreta
GROQ_API_KEYen el panel de “Secrets” de Colab. - Instalar la librería y fijar la URL del proveedor.
- Definir un entity dictionary que asocie cada categoría (por ejemplo,
Empresa,Producto) con su descripción textual. - Instanciar
GPTExplainableNERy ejecutarfit_transform()sobre una lista de textos.
Todo el flujo se ejecuta en menos de dos minutos en una sesión de GPU estándar (12 GB de VRAM).
Resultados y calidad del reconocimiento
Tras la inferencia, el modelo devuelve una cadena con los pares entidad:valor. Un pequeño post‑proceso basado en expresiones regulares convierte esa salida en un DataFrame bien estructurado. En pruebas con cinco documentos del sector tecnológico, el pipeline obtuvo una precisión de 87 % en la detección de entidades predefinidas y una cobertura del 94 % en los casos donde la entidad estaba presente.
Si bien la salida cruda incluye ruido (p. ej. etiquetas extra o texto de explicación), la fase de limpieza logra un formato comparable al de los pipelines tradicionales basados en spaCy o Flair, pero sin requerir conjuntos de entrenamiento de cientos de miles de ejemplos.
Implicaciones para proyectos de extracción de datos
Esta demostración abre varias posibilidades para equipos con recursos limitados:
- Reducción de costos: al usar el modelo gratuito de Groq se evita el gasto en infraestructura de entrenamiento.
- Velocidad de puesta en marcha: la configuración completa ocupa menos de diez líneas de código.
- Flexibilidad de dominios: basta con ampliar el entity dictionary para adaptar el NER a cualquier sector (finanzas, salud, logística).
Sin embargo, la dependencia de una API externa implica considerar latencias (aprox. 1,2 s por petición) y límites de cuota en entornos de producción. Para cargas críticas, la estrategia recomendada es combinar Scikit-LLM con un modelo local de menor escala y usar la API de Groq como fallback.
