Construye fácilmente Agentes de IA Autónomos con GPT-4o

En esta entrada de blog, descubre cómo construir fácilmente poderosos agentes de IA autónomos con GPT-4 utilizando el marco Fi-data. Aprende a crear agentes avanzados con memoria a largo plazo, conocimiento contextual y la capacidad de tomar acciones a través de la llamada de funciones. Optimiza tus sistemas de IA para la eficiencia y la productividad.

24 de febrero de 2025

party-gif

¡Descubre el poder de construir agentes de IA autónomos con GPT-4o! Esta entrada de blog te guiará a través del proceso de crear fácilmente asistentes inteligentes que puedan abordar una amplia gama de tareas, desde búsquedas web hasta análisis financiero y exploración de datos. Desbloquea el potencial de los modelos de lenguaje de vanguardia y abre nuevas posibilidades para tus proyectos.

Cómo construir agentes de IA autónomos con GPT-4

En esta sección, exploraremos cómo construir sistemas de IA autónomos intrincados que tengan memoria a largo plazo, conocimiento contextual y la capacidad de tomar acciones a partir de la llamada de funciones. Utilizaremos el marco Fi-data, que proporciona una forma poderosa de crear asistencia de IA autónoma con llamada de funciones.

Primero, crearemos un asistente básico sin ninguna herramienta. Este asistente utilizará el modelo GPT-4, que es uno de los mejores modelos del mercado en este momento. Luego, podemos agregar funcionalidad adicional al asistente, como la capacidad de buscar en la web utilizando la herramienta Duco.

A continuación, construiremos un asistente financiero que pueda acceder a varias herramientas como Yahoo Finance para obtener precios de acciones, recomendaciones, información de la empresa y noticias. Luego, demostraremos cómo construir sus propias herramientas personalizadas, utilizando la API de Hacker News como ejemplo.

Finalmente, exploraremos asistentes más complejos, como un asistente de análisis de datos que pueda usar DuckDB para analizar datos en archivos CSV y Parquet, y un asistente de investigación que pueda usar Exa para buscar en la web y generar un informe en un formato específico.

A lo largo del proceso, enfatizaremos la importancia de la concisión y el enfoque, asegurando que el contenido sea fácil de entender e implementar. El código de estos ejemplos se puede encontrar en el repositorio Fi-data, y los pasos para configurar el entorno se proporcionan en el README.

Construir un asistente básico

Para construir un asistente básico, primero necesitamos importar los componentes necesarios de la biblioteca fidata. Utilizaremos la clase LLMAssistant para crear nuestro asistente.

from fidata.assistants.llm_assistant import LLMAssistant
from fidata.llms.openai import OpenAIChat

A continuación, crearemos una instancia de la clase LLMAssistant, pasando el modelo de lenguaje GPT-4 de OpenAI como el parámetro llm.

assistant = LLMAssistant(llm=OpenAIChat(model_name="gpt-4"))

Ahora, podemos definir la descripción y las instrucciones para nuestro asistente. Estos se utilizarán para establecer el sistema de indicaciones para el modelo de lenguaje.

description = "Eres un asistente útil encargado de proporcionar una receta de desayuno sencilla."
instructions = "Proporciona una receta de desayuno concisa."

Finalmente, podemos llamar al método run del objeto assistant, pasando la descripción y las instrucciones. Esto ejecutará al asistente y devolverá la respuesta.

response = assistant.run(description=description, instructions=instructions)
print(response)

Esto generará una receta de desayuno sencilla generada por el modelo de lenguaje GPT-4.

Agregar funcionalidad de búsqueda web

Para agregar la funcionalidad de búsqueda web a nuestro asistente de IA, importaremos la herramienta Duco del módulo f_tools. Esta herramienta permite que el asistente busque en la web y recupere información relevante.

Primero, agregamos la herramienta Duco a nuestro asistente:

from f_tools.duco import Duco
assistant.add_tool(Duco())

Luego, establecemos el parámetro show_tool_calls en True para que podamos ver las llamadas a las herramientas que ocurren detrás de escena.

Luego, le damos al asistente una tarea para buscar noticias de Francia y escribir un breve poema al respecto:

assistant.run_task("Busca las noticias de Francia y escribe un breve poema sobre ellas.")

Como puedes ver, el asistente utiliza la herramienta Duco para recuperar las noticias de Francia y luego genera un breve poema basado en la información que ha recopilado. Esto demuestra cómo el asistente puede aprovechar las capacidades de búsqueda web para recopilar información y usarla para completar tareas.

Crear un asistente financiero

Para crear un asistente financiero, utilizaremos la herramienta Yahoo Finance de la biblioteca F-tools. Esta herramienta proporciona acceso a varios datos y funciones financieros, como obtener precios de acciones, información de la empresa, recomendaciones y noticias.

Primero, importaremos las herramientas necesarias:

from f_tools.yahoo_finance import YahooFinance

A continuación, crearemos el asistente financiero y le agregaremos las herramientas deseadas:

finance_assistant = Assistant(model=gpt4, name="Asistente Financiero")
finance_assistant.add_tool(YahooFinance(
    get_stock_price=True,
    get_recommendations=True,
    get_company_info=True,
    get_company_news=True
))

En este ejemplo, estamos habilitando las funciones get_stock_price, get_recommendations, get_company_info y get_company_news de la herramienta Yahoo Finance.

Ahora, podemos darle al asistente tareas para realizar, como obtener el precio de las acciones de una empresa y escribir una comparación entre dos empresas:

finance_assistant.run_task("¿Cuál es el precio de las acciones de Nvidia?")
finance_assistant.run_task("Escribe una comparación entre Nvidia y AMD utilizando todas las herramientas disponibles.")

El asistente utilizará las herramientas proporcionadas para recopilar la información necesaria y generar una respuesta completa, que se devolverá en formato Markdown para una mejor legibilidad.

Este asistente financiero se puede personalizar aún más agregando más herramientas, ajustando las configuraciones de las herramientas o modificando las instrucciones de las tareas para adaptarlas a tus necesidades específicas.

Construir herramientas personalizadas

Una de las características clave del marco Fi data es la capacidad de construir herramientas personalizadas que se pueden integrar en tus agentes de IA. Esto te permite ampliar las capacidades de tus agentes más allá de las herramientas predeterminadas proporcionadas, y adaptarlas a tus necesidades específicas.

En el video, el creador demuestra cómo construir una herramienta personalizada para acceder a la API de Hacker News. Esto es lo que se hace:

  1. Describe la función que se utilizará para interactuar con la API, incluidos los argumentos y los valores de retorno.
  2. Agrega la función al asistente de Fi data, proporcionando la descripción y especificando los parámetros de entrada/salida.
  3. Usa la herramienta personalizada en las tareas del asistente, al igual que las herramientas predeterminadas.

El video también muestra cómo habilitar el modo de depuración, que proporciona registros detallados de los procesos internos del asistente. Esto puede ser muy útil para solucionar problemas o comprender cómo se está utilizando la herramienta personalizada.

En general, la capacidad de construir herramientas personalizadas es una característica poderosa del marco Fi data, lo que te permite crear agentes de IA altamente especializados y autónomos adaptados a tus necesidades específicas.

Analizar datos con DuckDB

Esta sección muestra cómo el asistente puede aprovechar la herramienta DuckDB para analizar datos en archivos CSV y Parquet. El asistente demuestra las siguientes capacidades:

  1. Carga automáticamente los datos en tablas cuando las tablas no existen.
  2. Ejecuta consultas SQL para obtener la calificación promedio de las películas y generar un histograma de las calificaciones.
  3. Elige un tamaño de cubo apropiado para el histograma en función de los datos.
  4. Muestra las consultas SQL y las visualizaciones resultantes de una manera clara y concisa.

La capacidad del asistente para integrar sin problemas DuckDB y presentar los resultados del análisis es un testimonio del poder del marco que se está demostrando. Esta sección resalta cómo el asistente puede ser potenciado con capacidades de análisis de datos para abordar una amplia gama de tareas.

Generar un informe de investigación

Se le encarga al asistente que escriba un informe de investigación sobre el tema de OpenGPT-4. Sigue estos pasos:

  1. Busca en la web utilizando la herramienta Exa para encontrar los 10 enlaces más relevantes sobre OpenGPT-4.
  2. Lee cuidadosamente los resultados de la búsqueda.
  3. Prepara un artículo con un formato bien estructurado según la solicitud:
    • Esquema preliminar
    • Informe detallado que cubra los puntos clave sobre OpenGPT-4
  4. Guarda el informe final en un archivo Markdown llamado "news_article.md".

El asistente demuestra su capacidad para:

  • Realizar investigaciones web y recopilar información relevante
  • Sintetizar los hallazgos en un informe estructurado y bien escrito
  • Dar formato al informe en Markdown para una fácil lectura
  • Guardar la salida en un archivo como se solicitó

Esto muestra las capacidades de investigación del asistente, sus habilidades de procesamiento del lenguaje natural y su capacidad para seguir instrucciones para producir un entregable de alta calidad.

Preguntas más frecuentes