Construcción de Agentes Autónomos con Smolagents y Novita AI

Construcción de Agentes Autónomos con Smolagents y Novita AI

Puntos Clave

1. Agente de IA:
Permite la toma de decisiones autónoma más allá de flujos de trabajo rígidos predefinidos.
Aprovecha el razonamiento iterativo, la ejecución adaptativa y el aprendizaje continuo.

2. Smolagents:
Biblioteca Python ligera (~1.000 líneas), que simplifica la creación de agentes de IA.
Genera directamente fragmentos de código Python ejecutables de forma segura en entornos aislados.
Admite diversos modelos, modalidades (texto, imágenes, audio, vídeo) e integración de herramientas externas.

3. Soporte de Novita AI:
Compatible con Smolagents, soportando modelos potentes como DeepSeek R1 Turbo con rendimiento mejorado y asequibilidad.

La inteligencia artificial ha evolucionado desde el reconocimiento de patrones hasta la generación de contenido creativo. El siguiente gran salto es la aparición de la IA agéntica, sistemas capaces de tomar decisiones autónomas y actuar para resolver problemas complejos de múltiples pasos. Este artículo explora el concepto de agentes de IA, profundiza en los detalles de los agentes de código, describe cómo se podría construir uno, analiza el rendimiento de diferentes modelos subyacentes y responde preguntas frecuentes sobre esta tecnología transformadora.

¿Qué es un Agente de IA?

La IA agéntica aborda los desafíos que presentan las tareas que los flujos de trabajo rígidos tradicionales no pueden manejar de manera eficaz. Muchos escenarios del mundo real implican procesos complejos y matizados que no pueden capturarse completamente con estructuras estáticas predefinidas de if-else. La IA agéntica introduce flexibilidad y adaptabilidad en los flujos de trabajo, permitiendo que los sistemas determinen y ejecuten dinámicamente la secuencia óptima de acciones basándose en contextos cambiantes.

https://youtu.be/-pqzyvRp3Tc

¿Cómo funciona?

La IA agéntica opera a través de un bucle iterativo y dinámico de percepción, razonamiento, acción y aprendizaje. En esencia, los agentes de IA utilizan Modelos de Lenguaje Grandes (LLMs) como motores de razonamiento para analizar situaciones, planificar respuestas, coordinar modelos especializados y ejecutar tareas. El flujo de trabajo típicamente implica los siguientes pasos:

  • Ingesta y percepción de datos: Los agentes recopilan y procesan datos de múltiples fuentes, obteniendo conciencia contextual para informar sus procesos de toma de decisiones.
  • Razonamiento y planificación: Utilizando LLMs, los agentes interpretan datos, razonan sobre posibles soluciones, generan planes estratégicos y determinan las acciones necesarias para alcanzar sus objetivos.
  • Acción y ejecución: Los agentes se integran con herramientas externas y funciones predefinidas, ejecutando tareas basadas en los resultados de su razonamiento. Realizan acciones de forma iterativa, observan los resultados y se ajustan en consecuencia hasta lograr el resultado deseado.
  • Aprendizaje continuo: A través de bucles de retroalimentación y técnicas como la Generación Aumentada por Recuperación (RAG), los agentes acceden a fuentes de datos propietarias, refinan su comprensión y mejoran continuamente su rendimiento, precisión y relevancia.

Al combinar estas capacidades (toma de decisiones autónoma, razonamiento iterativo, integración de herramientas externas y mejora continua), la IA agéntica tiende un puente efectivo entre el razonamiento basado en LLM y la ejecución y adaptación en el mundo real.

de Nvidia

¿Qué es smolagents?

Smolagents es una biblioteca Python ligera diseñada para simplificar la construcción de agentes de IA potentes. Con un enfoque minimalista, su lógica central cabe en aproximadamente 1.000 líneas de código, proporcionando abstracciones mínimas y un mayor control directo para los desarrolladores. Smolagents está posicionado como el sucesor de transformers.agents, que eventualmente quedará obsoleto. ¡Puedes conocer más detalles en github!

amolagents

Características Principales y Mecanismo Clave

✨ Simplicidad

  • Smolagents implementa una lógica de agente de IA potente en aproximadamente 1.000 líneas de código, manteniendo las abstracciones al mínimo para una mayor flexibilidad del desarrollador (ver agents.py).

🧑‍💻 Soporte de Primera Clase para Agentes de Código

  • El CodeAgent de Smolagents genera directamente las acciones del agente como fragmentos de código Python en lugar de JSON o texto, mejorando la eficiencia y el rendimiento. Ejecuta el código de forma segura dentro de entornos aislados (E2B, Docker) y mantiene el soporte para agentes tradicionales basados en JSON/texto.

🤗 Integraciones con Hugging Face Hub

  • Smolagents permite compartir y cargar fácilmente herramientas Python reutilizables a través de Hugging Face Hub, agilizando la colaboración y la reutilización de herramientas.

🌐 Independiente del Modelo

  • Smolagents admite prácticamente cualquier Modelo de Lenguaje Grande (LLM): modelos locales de transformers u ollama, modelos alojados en Hugging Face y proveedores externos como OpenAI o Anthropic a través de LiteLLM.

👁️ Independiente de la Modalidad

  • Los agentes creados con Smolagents pueden manejar sin problemas diversas modalidades de entrada, incluyendo texto, imágenes, vídeos y audio.

🛠️ Independiente de la Herramienta

  • Smolagents integra de manera flexible herramientas de diversos ecosistemas, como LangChain, MCP de Anthropic o Hugging Face Hub Spaces.

cómo funciona smolagents

¿Cómo Construir un Agente usando smolagents con la API de Novita AI?

Novita AI es una plataforma en la nube de IA que ofrece a los desarrolladores una forma sencilla de implementar modelos de IA utilizando nuestra API simple, al mismo tiempo que proporciona la GPU en la nube asequible y confiable para construir y escalar.

¡Smolagents admite varios Modelos de Lenguaje Grandes (LLMs), incluyendo Novita AI! A continuación, usaremos deepseek r1 turbo como ejemplo para mostrar el poder de smolagents y Novita AI.

Es importante destacar que Novita AI lanza una versión Turbo con 3x de rendimiento y un 60% de descuento por tiempo limitado.

novita ai no1

¡Prueba DeepSeek R1 Turbo Ahora!

Un Ejemplo

Entrada:

import os
from smolagents import OpenAIServerModel, CodeAgent, DuckDuckGoSearchTool

model = OpenAIServerModel(
    model_id="deepseek/deepseek-r1-turbo",
    api_base="https://api.novita.ai/v3/openai",
    api_key="Your API Key" # Switch to the API key for the server you're targeting.
)

agent = CodeAgent(tools=[DuckDuckGoSearchTool()], model=model)

agent.run("Please plan a weekend trip from Shanghai to Beijing, including transportation options, itinerary arrangements and a list of must-haves")

Salida:

transport = web_search(query="Shanghai to Beijing transportation weekend trip 2024")                                                                                                                                                                                                                                                           
  print("Transportation options:", transport)                                                                                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                                                                                                 
  attractions = web_search(query="Beijing 2-day itinerary top attractions 2024")                                                                                                                                                                                                                                                                 
  print("Attraction recommendations:", attractions)                                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                                                                                 
  details = web_search(query="Beijing travel must-haves 2024")                                                                                                                                                                                                                                                                                   
  print("Essential items and tips:", details)                                                                                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                                                                                                 
  weekend_plan = {                                                                                                                                                                                                                                                                                                                               
      "Transportation": {                                                                                                                                                                                                                                                                                                                        
          "Recommended Option": "Friday evening G12 train (18:00-22:30) from Shanghai Hongqiao to Beijing South",                                                                                                                                                                                                                                
          "Alternative": "Saturday morning flight (07:00-09:00+transit time)"                                                                                                                                                                                                                                                                    
      },                                                                                                                                                                                                                                                                                                                                         
      "Itinerary": {                                                                                                                                                                                                                                                                                                                             
          "Day 1 (Saturday)": [                                                                                                                                                                                                                                                                                                                  
              "08:30 - Tiananmen Square (free entry)",                                                                                                                                                                                                                                                                                           
              "10:00 - Forbidden City (booked ticket, 3-4hr tour)",                                                                                                                                                                                                                                                                              
              "14:00 - Temple of Heaven",                                                                                                                                                                                                                                                                                                        
              "Evening: Houhai Lake dinner + hutongs exploration"                                                                                                                                                                                                                                                                                
          ],                                                                                                                                                                                                                                                                                                                                     
          "Day 2 (Sunday)": [                                                                                                                                                                                                                                                                                                                    
              "07:00 - Depart for Mutianyu Great Wall (book shuttle/taxi)",                                                                                                                                                                                                                                                                      
              "09:00-12:00 - Great Wall visit (cable car recommended)",                                                                                                                                                                                                                                                                          
              "14:00 - Summer Palace",                                                                                                                                                                                                                                                                                                           
              "18:00 - Return to city, take G27 train (19:00-23:18) back to Shanghai"                                                                                                                                                                                                                                                            
          ]                                                                                                                                                                                                                                                                                                                                      
      },                                                                                                                                                                                                                                                                                                                                         
      "Must-Haves": [                                                                                                                                                                                                                                                                                                                            
          "Pre-booked Forbidden City ticket (¥60)",                                                                                                                                                                                                                                                                                              
          "Comfortable walking shoes",                                                                                                                                                                                                                                                                                                           
          "Layered clothing (check weather forecast)",                                                                                                                                                                                                                                                                                           
          "Portable WiFi/power bank",                                                                                                                                                                                                                                                                                                            
          "WeChat Pay/Alipay balance",                                                                                                                                                                                                                                                                                                           
          "ID/passport for train ticket collection"                                                                                                                                                                                                                                                                                              
      ]                                                                                                                                                                                                                                                                                                                                          
  }                                                                                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                                                                                 
  final_answer(weekend_plan)                                       

Respuesta Final

Final answer: {'Transportation': {'Recommended Option': 'Friday evening G12 train (18:00-22:30) from Shanghai Hongqiao to Beijing South', 'Alternative': 'Saturday morning flight (07:00-09:00+transit time)'}, 'Itinerary': {'Day 1 (Saturday)': ['08:30 - Tiananmen Square (free entry)', '10:00 - Forbidden City (booked ticket, 3-4hr tour)', '14:00 - Temple of Heaven', 'Evening: Houhai Lake dinner + hutongs exploration'], 'Day 2 (Sunday)': ['07:00 - Depart for Mutianyu Great Wall (book shuttle/taxi)', '09:00-12:00 - Great Wall visit (cable car recommended)', '14:00 - Summer Palace', '18:00 - Return to city, take G27 train (19:00-23:18) back to Shanghai']},         
'Must-Haves': ['Pre-booked Forbidden City ticket (¥60)', 'Comfortable walking shoes', 'Layered clothing (check weather forecast)', 'Portable WiFi/power bank', 'WeChat Pay/Alipay balance', 'ID/passport for train ticket collection']}

Comparación del Rendimiento de Modelos en smolagents

smolagents llm leaderboard

Puedes ver más detalles en Hugging Face

La IA agéntica representa un avance importante en la inteligencia artificial, que permite la resolución autónoma de problemas y la ejecución de tareas. La biblioteca Smolagents proporciona un marco ligero pero potente diseñado específicamente para construir agentes inteligentes, enfatizando las acciones directas basadas en código y la compatibilidad con una amplia variedad de Modelos de Lenguaje Grandes (LLMs). A medida que los modelos de código abierto continúan mejorando rápidamente, Smolagents ofrece a los desarrolladores un kit de herramientas accesible y versátil para explorar e implementar el emocionante potencial de la IA agéntica en diversos dominios.

Preguntas Frecuentes

¿Cuál es la diferencia clave entre la IA agéntica y la IA generativa?

La IA generativa se centra en crear contenido nuevo como texto e imágenes, mientras que la IA agéntica se centra en tomar decisiones y realizar tareas autónomas para alcanzar objetivos.

¿Es seguro ejecutar código en smolagents?

smolagents proporciona opciones para la ejecución segura de código, incluyendo un entorno aislado usando E2B o Docker, lo que elimina el riesgo para tu sistema local.

¿Dónde puedo encontrar más información sobre smolagents?

Puedes encontrar la documentación completa, tutoriales y ejemplos en el repositorio de GitHub de smolagents y en el espacio de Hugging Face dedicado a la biblioteca.

Novita AI es la plataforma en la nube integral que impulsa tus ambiciones de IA. API integradas, Serverless, Instancia GPU — las herramientas rentables que necesitas. Elimina la infraestructura, comienza gratis y haz realidad tu visión de IA.

Lecturas Recomendadas