/proyectos/smolagents

smolagents — Agentes simples que escriben acciones en codigo

Libreria minimalista de Hugging Face para construir agentes de IA que usan codigo como lenguaje de interaccion, haciendo todo mas simple y capaz.

smolagents — Agentes simples que escriben acciones en codigo

Qué es

smolagents es una libreria ultraligera de Hugging Face que le da a los modelos de lenguaje la capacidad de realizar acciones en el mundo real para resolver tareas complejas.

La idea central es radicalmente simple: en vez de obligar al modelo a generar acciones en JSON (que suelen ser propensos a errores de sintaxis), smolagents usa codigo como formato nativo para las acciones del agente.

Cómo funciona por dentro

El motor principal es el CodeAgent. Imagina el bucle de un agente clasico:

  • El LLM recibe una tarea en su memoria.
  • Mientras la tarea no este resuelta, el LLM decide la siguiente accion.
  • Se ejecuta la accion (una herramienta o funcion).
  • El resultado se anade a la memoria del LLM.

La ventaja critica de escribir esto en codigo es la composabilidad. Como el LLM escribe codigo real, puede manejar variables, bucles y estructuras de control de forma nativa, tal como lo haria un programador humano.

Estructura basica de un agente:

from smolagents import CodeAgent, DuckDuckGoSearchTool, HfApiModel

# Definis herramientas (tools) decoradas con @tool
# Definis el modelo (HfApiModel para usar la API gratuita de Hugging Face)
agent = CodeAgent(tools=[DuckDuckGoSearchTool()], model=HfApiModel())

# Ejecutas
agent.run("Cuantos segundos tardaria un leopardo a maxima velocidad en cruzar el Pont des Arts?")

Por qué es importante

Los agentes son el siguiente paso evolutivo para integrar LLMs en aplicaciones reales. Pero la mayoria de los frameworks son pesados y complejos. smolagents propone:

  • Minimalismo extremo: Pocas lineas de codigo que mantienen el control y la transparencia.
  • First-class Code Actions: El modelo no esta "escribiendo codigo", esta pensando en codigo. Esto aprovecha que los modelos ya han visto muchisimo codigo en sus datasets de entrenamiento.
  • Seguridad: Soporta ejecucion en entornos aislados (sandboxed) para que las acciones del agente no comprometan tu sistema.

Siguiente paso

Si queres dejar de pelearte con JSONs mal formados y empezar a construir agentes que realmente funcionen de forma logica, proba smolagents.

pip install smolagents

Enlaces oficiales

* GitHub: huggingface/smolagents

Ir al proyecto →