#
Creando tu Agente para la Gala

Ahora que hemos construido todos los componentes necesarios para Alfred, es momento de unirlos en un agente completo que pueda ayudar a organizar nuestra extravagante gala.

En esta sección, combinaremos la recuperación de información de invitados, búsqueda web, información meteorológica y herramientas de estadísticas de Hub en un solo agente poderoso.

##
Ensamblando a Alfred: El Agente Completo

En lugar de reimplementar todas las herramientas que creamos en secciones anteriores, las importaremos desde sus respectivos módulos que guardamos en los archivos `tools.py` y `retriever.py`.

> Si aún no has implementado las herramientas, regresa a las secciones de herramientas y recuperador para implementarlas, y agrégalas a los archivos `tools.py` y `retriever.py`.

Importemos las bibliotecas y herramientas necesarias de las secciones anteriores:

smolagents
llama-index
langgraph

    # Importar librerías necesarias
    import random
    from smolagents import CodeAgent, InferenceClientModel

    # Importar nuestras herramientas personalizadas desde sus módulos
    from tools import DuckDuckGoSearchTool, WeatherInfoTool, HubStatsTool
    from retriever import load_guest_dataset

Ahora, combinemos todas estas herramientas en un solo agente:

    # Inicializar el modelo de Hugging Face
    model = InferenceClientModel()

    # Inicializar la herramienta de búsqueda web
    search_tool = DuckDuckGoSearchTool()

    # Inicializar la herramienta del clima
    weather_info_tool = WeatherInfoTool()

    # Inicializar la herramienta de estadísticas de Hub
    hub_stats_tool = HubStatsTool()

    # Cargar el conjunto de datos de invitados e inicializar la herramienta de información de invitados
    guest_info_tool = load_guest_dataset()

    # Crear a Alfred con todas las herramientas
    alfred = CodeAgent(
        tools=[guest_info_tool, weather_info_tool, hub_stats_tool, search_tool],
        model=model,
        add_base_tools=True,  # Agregar cualquier herramienta base adicional
        planning_interval=3   # Habilitar planificación cada 3 pasos
    )

¡Tu agente ahora está listo para usarse!

##
Usando a Alfred: Ejemplos de Principio a Fin

Ahora que Alfred está completamente equipado con todas las herramientas necesarias, veamos cómo puede ayudar con varias tareas durante la gala.

###
Ejemplo 1: Encontrando Información de Invitados

Veamos cómo Alfred puede ayudarnos con nuestra información de invitados.

smolagents
llama-index
langgraph

    query = "Cuéntame sobre 'Lady Ada Lovelace'"
    response = alfred.run(query)

    print("🎩 Respuesta de Alfred:")
    print(response)

Salida esperada:

    🎩 Respuesta de Alfred:
    Según la información que recuperé, Lady Ada Lovelace es una estimada matemática y amiga. Es reconocida por su trabajo pionero en matemáticas y computación, frecuentemente celebrada como la primera programadora de computadoras debido a su trabajo en el Motor Analítico de Charles Babbage. Su dirección de correo electrónico es ada.lovelace@example.com.

###
Ejemplo 2: Verificando el Clima para los Fuegos Artificiales

Veamos cómo Alfred puede ayudarnos con el clima.

smolagents
llama-index
langgraph

    query = "¿Cómo está el clima en París esta noche? ¿Será adecuado para nuestro espectáculo de fuegos artificiales?"
    response = alfred.run(query)

    print("🎩 Respuesta de Alfred:")
    print(response)

Salida esperada (variará debido a la aleatoriedad):

    🎩 Respuesta de Alfred:
    He revisado el clima en París para ti. Actualmente, está despejado con una temperatura de 25°C. Estas condiciones son perfectas para el espectáculo de fuegos artificiales de esta noche. Los cielos despejados proporcionarán una excelente visibilidad para el espectáculo espectacular, y la temperatura agradable asegurará que los invitados puedan disfrutar del evento al aire libre sin incomodidad.

###
Ejemplo 3: Impresionando a Investigadores de IA

Veamos cómo Alfred puede ayudarnos a impresionar a los investigadores de IA.

smolagents
llama-index
langgraph

    query = "Uno de nuestros invitados es de Qwen. ¿Qué puedes decirme sobre su modelo más popular?"
    response = alfred.run(query)

    print("🎩 Respuesta de Alfred:")
    print(response)

Salida esperada:

    🎩 Respuesta de Alfred:
    El modelo más popular de Qwen es Qwen/Qwen2.5-VL-7B-Instruct con 3,313,345 descargas.

###
Ejemplo 4: Combinando Múltiples Herramientas

Veamos cómo Alfred puede ayudarnos a prepararnos para una conversación con el Dr. Nikola Tesla.

smolagents
llama-index
langgraph

    query = "Necesito hablar con el Dr. Nikola Tesla sobre avances recientes en energía inalámbrica. ¿Puedes ayudarme a prepararme para esta conversación?"
    response = alfred.run(query)

    print("🎩 Respuesta de Alfred:")
    print(response)

Salida esperada:

    🎩 Respuesta de Alfred:
    He reunido información para ayudarte a prepararte para tu conversación con el Dr. Nikola Tesla.

    Información del Invitado:
    Nombre: Dr. Nikola Tesla
    Relación: viejo amigo de los días universitarios
    Descripción: El Dr. Nikola Tesla es un viejo amigo de tus días universitarios. Recientemente ha patentado un nuevo sistema de transmisión de energía inalámbrica y estaría encantado de discutirlo contigo. Solo recuerda que le apasionan las palomas, así que eso podría ser un buen tema para iniciar la conversación.
    Email: nikola.tesla@gmail.com

    Avances Recientes en Energía Inalámbrica:
    Basándome en mi búsqueda web, aquí hay algunos desarrollos recientes en transmisión de energía inalámbrica:
    1. Los investigadores han avanzado en la transmisión de energía inalámbrica de largo alcance utilizando ondas electromagnéticas enfocadas
    2. Varias empresas están desarrollando tecnologías de acoplamiento inductivo resonante para electrónica de consumo
    3. Hay nuevas aplicaciones en la carga de vehículos eléctricos sin conexiones físicas

    Iniciadores de Conversación:
    1. "Me encantaría conocer tu nueva patente sobre transmisión de energía inalámbrica. ¿Cómo se compara con tus conceptos originales de nuestros días universitarios?"
    2. "¿Has visto los desarrollos recientes en acoplamiento inductivo resonante para electrónica de consumo? ¿Qué opinas de su enfoque?"
    3. "¿Cómo están tus palomas? Recuerdo tu fascinación por ellas."

    Esto debería darte mucho para discutir con el Dr. Tesla mientras demuestras tu conocimiento de sus intereses y desarrollos recientes en su campo.

###
Ejemplo 3: Impresionando a Investigadores de IA

Veamos cómo Alfred puede ayudarnos a impresionar a los investigadores de IA.

smolagents
llama-index
langgraph

    query = "Uno de nuestros invitados es de Qwen. ¿Qué puedes decirme sobre su modelo más popular?"
    response = alfred.run(query)

    print("🎩 Respuesta de Alfred:")
    print(response)

Salida esperada:

    🎩 Respuesta de Alfred:
    El modelo más popular de Qwen es Qwen/Qwen2.5-VL-7B-Instruct con 3,313,345 descargas.

##
Características Avanzadas: Memoria de Conversación

Para hacer que Alfred sea aún más útil durante la gala, podemos habilitar la memoria de conversación para que recuerde interacciones previas:

smolagents
llama-index
langgraph

    # Crear Alfred con memoria de conversación
    alfred_with_memory = CodeAgent(
        tools=[guest_info_tool, weather_info_tool, hub_stats_tool, search_tool],
        model=model,
        add_base_tools=True,
        planning_interval=3,
        memory=True  # Habilitar memoria de conversación
    )

    # Primera interacción
    response1 = alfred_with_memory.run("Cuéntame sobre Lady Ada Lovelace.")
    print("🎩 Primera Respuesta de Alfred:")
    print(response1)

    # Segunda interacción (haciendo referencia a la primera)
    response2 = alfred_with_memory.run("¿En qué proyectos está trabajando actualmente?")
    print("🎩 Segunda Respuesta de Alfred:")
    print(response2)

##
Conclusión

¡Felicitaciones! Has construido exitosamente a Alfred, un agente sofisticado equipado con múltiples herramientas para ayudar a organizar la gala más extravagante del siglo. Alfred ahora puede:

1. Recuperar información detallada sobre los invitados
2. Verificar las condiciones climáticas para planificar actividades al aire libre
3. Proporcionar información sobre influyentes creadores de IA y sus modelos
4. Buscar en la web la información más reciente
5. Mantener el contexto de la conversación con memoria

Con estas capacidades, Alfred está listo para asegurar que tu gala sea un éxito rotundo, impresionando a los invitados con atención personalizada e información actualizada.

Update on GitHub