smolagents-audit/docs/source/es/index.md

7 KiB

smolagents

¿Qué es smolagents?

smolagents es una biblioteca de código abierto en Python, diseñada para facilitar al máximo la construcción y ejecución de agentes con solo unas pocas líneas de código.

Algunos aspectos clave de smolagents incluyen:

✨ Simplicidad: La lógica de los agentes se implementa en aproximadamente unas mil líneas de código. ¡Lo hemos mantenido simple, sin agregar complejidad innecesaria!

🧑‍💻 Soporte avanzado para Agentes de Código: CodeAgent ejecuta acciones directamente en código (en lugar de que los agentes generen código), lo que permite usar varias herramientas o realizar cálculos de manera flexible. Esto hace posible combinar de manera sencilla funciones anidadas, bucles, condicionales y mucho más. Para garantizar la seguridad, el agente puede ejecutarse en un entorno aislado usando E2B o Docker.

📡 Integración nativa con agentes de herramientas: además de los CodeAgent, ToolCallingAgent es compatible con el esquema tradicional basado en JSON/texto para casos en los que se prefiera este formato.

🤗 Integraciones con el Hub: mediante Gradio Spaces es posible compartir y cargar múltiples agentes junto con herramientas desde o hacia el Hub de manera sencilla.

🌐 Independencia respecto al modelo: integra fácilmente grandes modelos de lenguaje (LLM) alojados en el Hub mediante los proveedores de inferencia, APIs externas como OpenAI, Anthropic y muchos otros a través de la integración con LiteLLM. Además, es posible ejecutar localmente estos sistemas utilizando Transformers u Ollama. Es sencillo y flexible potenciar un agente con tu LLM preferido.

👁️ Independencia respecto a la modalidad: los agentes pueden procesar diferentes tipos de entrada (inputs) como texto, visión, video y audio, ampliando considerablemente el rango de aplicaciones posibles. Consulta este tutorial sobre el área de visión.

🛠️ Independencia respecto a las herramientas: existe una gran variedad de herramientas en cualquier Servidor MCP, marcos de orquestación como LangChain e incluso existe la posibilidad de usar el Hub Space como herramienta.

💻 Herramientas de CLI: incluye utilidades en línea de comandos (smolagent, webagent) para ejecutar agentes rápidamente sin código repetitivo.

Inicio Rápido

open-in-colab

¡Comienza a usar smolagents en solo unos minutos! Esta guía te mostrará cómo crear y ejecutar tu primer agente.

Instalación

Instala smolagents usando pip:

pip install smolagents[toolkit]  # Incluye herramientas básicas como búsqueda web.

Crea tu Primer Agente

A continuación se detalla un ejemplo básico para crear y ejecutar un agente:

from smolagents import CodeAgent, InferenceClientModel

# Iniciar el modelo (utilizando la API de Hugging Face Inference)
model = InferenceClientModel()  # Utiliza el modelo por defecto

# Crear un agente sin herramientas
agent = CodeAgent(tools=[], model=model)

# Ejecuta el agente con una tarea específica
result = agent.run("Calculate the sum of numbers from 1 to 10")
print(result)

¡Eso es todo! El agente usará Python para completar la tarea y entregar el resultado.

Agregar Herramientas

Mejoremos las capacidades de nuestro agente añadiendo algunas herramientas:

from smolagents import CodeAgent, InferenceClientModel, DuckDuckGoSearchTool

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

# ¡Ahora el agente puede buscar información en Internet!
result = agent.run("What is the current weather in Paris?")
print(result)

Usar Modelos Diferentes

Puedes usar diferentes modelos con los agentes:

# Usar un modelo específico de Hugging Face
model = InferenceClientModel(model_id="meta-llama/Llama-2-70b-chat-hf")

# Usar la API de OpenAI/Anthropic (requiere smolagents[litellm])
from smolagents import LiteLLMModel
model = LiteLLMModel(model_id="gpt-4")

# Utilizar modelos locales (requiere smolagents[transformers])
from smolagents import TransformersModel
model = TransformersModel(model_id="meta-llama/Llama-2-7b-chat-hf")

Próximos Pasos