Agents Course documentation

¿Por qué usar smolagents?

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

smolagents banner

¿Por qué usar smolagents?

En este módulo, exploraremos los pros y contras de usar smolagents, ayudándote a tomar una decisión informada sobre si es el framework adecuado para tus necesidades.

¿Qué es smolagents ?

smolagents es un framework simple pero potente para construir agentes de IA. Proporciona a los LLMs la capacidad de acción para interactuar con el mundo real, como buscar o generar imágenes.

Como aprendimos en la unidad 1, los agentes de IA son programas que utilizan LLMs para generar ‘pensamientos’ basados en ‘observaciones’ para realizar ‘acciones’. Exploremos cómo se implementa esto en smolagents.

Ventajas clave de smolagents

  • Simplicidad: Mínima complejidad de código y abstracciones, para hacer que el framework sea fácil de entender, adoptar y extender
  • Soporte flexible para LLM: Funciona con cualquier LLM a través de la integración con herramientas de Hugging Face y APIs externas
  • Enfoque centrado en el código: Soporte de primera clase para Agentes de Código que escriben sus acciones directamente en código, eliminando la necesidad de análisis y simplificando la llamada a herramientas
  • Integración con HF Hub: Integración perfecta con Hugging Face Hub, permitiendo el uso de Espacios Gradio como herramientas

¿Cuándo usar smolagents?

Con estas ventajas en mente, ¿cuándo deberíamos usar smolagents en lugar de otros frameworks?

smolagents es ideal cuando:

  • Necesitas una solución ligera y mínima.
  • Quieres experimentar rápidamente sin configuraciones complejas.
  • La lógica de tu aplicación es sencilla.

Acciones de Código vs. JSON

A diferencia de otros frameworks donde los agentes escriben acciones en JSON, smolagents se centra en llamadas a herramientas en código, simplificando el proceso de ejecución. Esto se debe a que no hay necesidad de analizar el JSON para construir código que llame a las herramientas: la salida puede ejecutarse directamente.

El siguiente diagrama ilustra esta diferencia:

Acciones de Código vs. JSON

Para revisar la diferencia entre Acciones de Código vs Acciones JSON, puedes volver a visitar la Sección de Acciones en la Unidad 1.

Tipos de Agentes en smolagents

Los agentes en smolagents operan como agentes de múltiples pasos.

Cada MultiStepAgent realiza:

  • Un pensamiento
  • Una llamada a herramienta y ejecución

Además de usar CodeAgent como el tipo principal de agente, smolagents también soporta ToolCallingAgent, que escribe llamadas a herramientas en JSON.

Exploraremos cada tipo de agente con más detalle en las siguientes secciones.

En smolagents, las herramientas se definen usando el decorador @tool que envuelve una función de Python o la clase Tool.

Integración de Modelos en smolagents

smolagents soporta una integración flexible de LLM, permitiéndote usar cualquier modelo invocable que cumpla con ciertos criterios. El framework proporciona varias clases predefinidas para simplificar las conexiones de modelos:

Esta flexibilidad asegura que los desarrolladores puedan elegir el modelo y servicio más adecuados para sus casos de uso específicos, y permite una fácil experimentación.

Ahora que hemos entendido por qué y cuándo usar smolagents, ¡profundicemos en esta poderosa biblioteca!

Recursos

< > Update on GitHub