|  | 
|  | 1 | +# `smolagents` | 
|  | 2 | + | 
|  | 3 | +<div class="flex justify-center"> | 
|  | 4 | +    <img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/smolagents/license_to_call.png" style="max-width:700px"/> | 
|  | 5 | +</div> | 
|  | 6 | + | 
|  | 7 | +## ¿Qué es smolagents? | 
|  | 8 | + | 
|  | 9 | +`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. | 
|  | 10 | + | 
|  | 11 | +Algunos aspectos clave de `smolagents` incluyen: | 
|  | 12 | + | 
|  | 13 | +✨ **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! | 
|  | 14 | + | 
|  | 15 | +🧑💻 **Soporte avanzado para Agentes de Código**: [`CodeAgent`](reference/agents#smolagents.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](tutorials/secure_code_execution) usando [E2B](https://e2b.dev/) o Docker. | 
|  | 16 | + | 
|  | 17 | +📡 **Integración nativa con agentes de herramientas**: además de los CodeAgent,  [`ToolCallingAgent`](reference/agents#smolagents.ToolCallingAgent) es compatible con el esquema tradicional basado en JSON/texto para casos en los que se prefiera este formato. | 
|  | 18 | + | 
|  | 19 | +🤗 **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. | 
|  | 20 | + | 
|  | 21 | +🌐 **Independencia respecto al modelo**: integra fácilmente grandes modelos de lenguaje (LLM) alojados en el Hub mediante los [proveedores de inferencia](https://huggingface.co/docs/inference-providers/index), 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. | 
|  | 22 | + | 
|  | 23 | +👁️ **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](https://huggingface.co/docs/smolagents/v1.21.0/en/examples/web_browser) sobre el área de visión. | 
|  | 24 | + | 
|  | 25 | +🛠️ **Independencia respecto a las herramientas**: existe una gran variedad de herramientas en cualquier [Servidor MCP](reference/tools#smolagents.ToolCollection.from_mcp), marcos de orquestación como [LangChain](reference/tools#smolagents.Tool.from_langchain) e incluso existe la posibilidad de usar el [Hub Space](reference/tools#smolagents.Tool.from_space) como herramienta. | 
|  | 26 | + | 
|  | 27 | +💻 **Herramientas de CLI**: incluye utilidades en línea de comandos (smolagent, webagent) para ejecutar agentes rápidamente sin código repetitivo. | 
|  | 28 | + | 
|  | 29 | +## Inicio Rápido | 
|  | 30 | + | 
|  | 31 | +[[open-in-colab]] | 
|  | 32 | + | 
|  | 33 | +¡Comienza a usar smolagents en solo unos minutos! Esta guía te mostrará cómo crear y ejecutar tu primer agente. | 
|  | 34 | + | 
|  | 35 | +### Instalación | 
|  | 36 | + | 
|  | 37 | +Instala smolagents usando pip: | 
|  | 38 | + | 
|  | 39 | +```bash | 
|  | 40 | +pip install smolagents[toolkit]  # Incluye herramientas básicas como búsqueda web. | 
|  | 41 | +``` | 
|  | 42 | + | 
|  | 43 | +### Crea tu Primer Agente | 
|  | 44 | + | 
|  | 45 | +A continuación se detalla un ejemplo básico para crear y ejecutar un agente: | 
|  | 46 | + | 
|  | 47 | + | 
|  | 48 | +```python | 
|  | 49 | +from smolagents import CodeAgent, InferenceClientModel | 
|  | 50 | + | 
|  | 51 | +# Iniciar el modelo (utilizando la API de Hugging Face Inference) | 
|  | 52 | +model = InferenceClientModel()  # Utiliza el modelo por defecto | 
|  | 53 | + | 
|  | 54 | +# Crear un agente sin herramientas | 
|  | 55 | +agent = CodeAgent(tools=[], model=model) | 
|  | 56 | + | 
|  | 57 | +# Ejecuta el agente con una tarea específica | 
|  | 58 | +result = agent.run("Calculate the sum of numbers from 1 to 10") | 
|  | 59 | +print(result) | 
|  | 60 | +``` | 
|  | 61 | +¡Eso es todo! El agente usará Python para completar la tarea y entregar el resultado. | 
|  | 62 | + | 
|  | 63 | +### Agregar Herramientas | 
|  | 64 | + | 
|  | 65 | +Mejoremos las capacidades de nuestro agente añadiendo algunas herramientas: | 
|  | 66 | + | 
|  | 67 | +```python | 
|  | 68 | +from smolagents import CodeAgent, InferenceClientModel, DuckDuckGoSearchTool | 
|  | 69 | + | 
|  | 70 | +model = InferenceClientModel() | 
|  | 71 | +agent = CodeAgent( | 
|  | 72 | +    tools=[DuckDuckGoSearchTool()], | 
|  | 73 | +    model=model, | 
|  | 74 | +) | 
|  | 75 | + | 
|  | 76 | +# ¡Ahora el agente puede buscar información en Internet! | 
|  | 77 | +result = agent.run("What is the current weather in Paris?") | 
|  | 78 | +print(result) | 
|  | 79 | +``` | 
|  | 80 | + | 
|  | 81 | +### Usar Modelos Diferentes | 
|  | 82 | + | 
|  | 83 | +Puedes usar diferentes modelos con los agentes: | 
|  | 84 | + | 
|  | 85 | +```python | 
|  | 86 | +# Usar un modelo específico de Hugging Face | 
|  | 87 | +model = InferenceClientModel(model_id="meta-llama/Llama-2-70b-chat-hf") | 
|  | 88 | + | 
|  | 89 | +# Usar la API de OpenAI/Anthropic (requiere smolagents[litellm]) | 
|  | 90 | +from smolagents import LiteLLMModel | 
|  | 91 | +model = LiteLLMModel(model_id="gpt-4") | 
|  | 92 | + | 
|  | 93 | +# Utilizar modelos locales (requiere smolagents[transformers]) | 
|  | 94 | +from smolagents import TransformersModel | 
|  | 95 | +model = TransformersModel(model_id="meta-llama/Llama-2-7b-chat-hf") | 
|  | 96 | +``` | 
|  | 97 | + | 
|  | 98 | +## Próximos Pasos | 
|  | 99 | + | 
|  | 100 | +- Aprende a configurar smolagents con diferentes modelos y herramientas en la [Guía de Instalación](installation). | 
|  | 101 | +- Revisa el [Tutorial Guiado](guided_tour) y aprende a usar funciones más avanzadas. | 
|  | 102 | +- Aprende a construir [herramientas personalizadas](tutorials/tools). | 
|  | 103 | +- Conoce más sobre la [ejecución segura de código](tutorials/secure_code_execution). | 
|  | 104 | +- Explora el desarrollo de [sistemas multiagente](tutorials/building_good_agents). | 
|  | 105 | + | 
|  | 106 | +<div class="mt-10"> | 
|  | 107 | +  <div class="w-full flex flex-col space-y-4 md:space-y-0 md:grid md:grid-cols-2 md:gap-y-4 md:gap-x-5"> | 
|  | 108 | +    <a class="!no-underline border dark:border-gray-700 p-5 rounded-lg shadow hover:shadow-lg" href="./guided_tour" | 
|  | 109 | +      ><div class="w-full text-center bg-gradient-to-br from-blue-400 to-blue-500 rounded-lg py-1.5 font-semibold mb-5 text-white text-lg leading-relaxed">Tutorial Guiado</div> | 
|  | 110 | +      <p class="text-gray-700">Domina los conceptos básicos y aprende a manejar agentes. Empieza aquí si nunca los has utilizado.</p> | 
|  | 111 | +    </a> | 
|  | 112 | +    <a class="!no-underline border dark:border-gray-700 p-5 rounded-lg shadow hover:shadow-lg" href="./examples/text_to_sql" | 
|  | 113 | +      ><div class="w-full text-center bg-gradient-to-br from-indigo-400 to-indigo-500 rounded-lg py-1.5 font-semibold mb-5 text-white text-lg leading-relaxed">Guías prácticas</div> | 
|  | 114 | +      <p class="text-gray-700">Ejemplos prácticos para guiarte en diferentes proyectos. ¡Desarrolla un agente que genere y valide consultas SQL!</p> | 
|  | 115 | +    </a> | 
|  | 116 | +    <a class="!no-underline border dark:border-gray-700 p-5 rounded-lg shadow hover:shadow-lg" href="./conceptual_guides/intro_agents" | 
|  | 117 | +      ><div class="w-full text-center bg-gradient-to-br from-pink-400 to-pink-500 rounded-lg py-1.5 font-semibold mb-5 text-white text-lg leading-relaxed">Guías Conceptuales</div> | 
|  | 118 | +      <p class="text-gray-700">Conceptos avanzados para profundizar en la comprensión de temas clave.</p> | 
|  | 119 | +   </a> | 
|  | 120 | +    <a class="!no-underline border dark:border-gray-700 p-5 rounded-lg shadow hover:shadow-lg" href="./tutorials/building_good_agents" | 
|  | 121 | +      ><div class="w-full text-center bg-gradient-to-br from-purple-400 to-purple-500 rounded-lg py-1.5 font-semibold mb-5 text-white text-lg leading-relaxed">Tutoriales</div> | 
|  | 122 | +      <p class="text-gray-700">Tutoriales completos que cubren aspectos clave para el desarrollo de agentes.</p> | 
|  | 123 | +    </a> | 
|  | 124 | +  </div> | 
|  | 125 | +</div> | 
0 commit comments