Build an AI Agent From Scratch in Python - Tutorial for Beginners

Build an AI Agent From Scratch in Python - Tutorial for Beginners

Resumen Breve

Este video te enseña cómo construir un agente de IA desde cero en Python, utilizando frameworks populares como Langchain. Aprenderás a usar diferentes LLMs como Claude o GPT, a dar acceso al agente a varias herramientas y a estructurar la salida del agente para usarla en tu código.

  • Construcción de un agente de IA desde cero en Python.
  • Uso de frameworks como Langchain.
  • Integración de LLMs como Claude o GPT.
  • Acceso del agente a herramientas y estructuración de la salida.

Descripción General

El video introduce la creación de un agente de IA en Python, mostrando cómo construir un asistente de investigación que puede acceder a herramientas como Wikipedia y Google Search. El agente puede recibir una consulta, buscar información relevante y guardar los resultados en un archivo de texto. El tutorial es amigable para principiantes y cubre el uso de frameworks como Langchain y diferentes LLMs como Claude o GPT.

Demostración del Agente

Se presenta una demostración de un asistente de investigación que responde a consultas y guarda la información en un archivo de texto. El agente utiliza herramientas como Wikipedia y Google Search para buscar información. Se muestra el proceso de pensamiento del agente y el resultado final, que incluye un tema, un resumen y las fuentes utilizadas.

Configuración/Requisitos

Para seguir el tutorial, necesitas Python 3.10 o superior, un editor de código como Visual Studio Code y algunas dependencias de Python. Se explica cómo crear un archivo requirements.txt con las dependencias necesarias y cómo crear un entorno virtual para instalar estas dependencias. Se proporcionan comandos para instalar las dependencias globalmente o en un entorno virtual.

Configuración Básica del Código/Importaciones

Se crean tres archivos: main.py para la lógica principal, tools.py para las herramientas y .env para las credenciales de la API. En main.py, se importan las bibliotecas necesarias, como load_dotenv, BaseModel de Pydantic, y ChatOpenAI o ChatAnthropic de Langchain. Se carga el archivo .env para acceder a las credenciales de la API.

Usando Claude o GPT

Se explica cómo seleccionar un LLM, ya sea ChatOpenAI o ChatAnthropic, y cómo especificar el modelo a utilizar. Para ChatOpenAI, se pueden usar modelos como GPT-3.5 Turbo o GPT-4. Para ChatAnthropic, se recomienda el modelo Claude 3-5 Sonnet. Se indica que es necesario proporcionar una clave de API para usar estos LLMs.

Obteniendo Tu Clave de API

Se explica cómo obtener las claves de API para OpenAI y Anthropic. Para OpenAI, se debe ir a platform.openai.com/api-keys y generar una nueva clave. Para Anthropic, se debe ir a console.anthropic.com/settings/keys y crear una clave. Se advierte no compartir estas claves con nadie.

Funcionalidad Básica de LLM

Se muestra cómo invocar el LLM para probar si está funcionando correctamente. Se utiliza el método invoke del LLM para enviar una consulta y se imprime la respuesta. Se menciona la importancia de ejecutar el código Python desde dentro del entorno virtual.

Salida Estructurada/Modelos

Se introduce el concepto de plantillas de prompt y analizadores de salida para estructurar la salida del LLM. Se crea una clase Python llamada ResearchResponse que hereda de BaseModel de Pydantic. Esta clase define los campos que se esperan en la respuesta del LLM, como topic, summary, sources y tools_used. Se crea un analizador de salida Pydantic para convertir la salida del LLM en un objeto Python.

Plantillas de Prompt

Se crea una plantilla de prompt utilizando ChatPromptTemplate.from_messages. La plantilla incluye un mensaje del sistema que indica al LLM que actúe como un asistente de investigación y que formatee la salida según el modelo definido. Se utiliza partial para completar parcialmente el prompt con las instrucciones de formato.

Creando y Ejecutando el Agente

Se crea un agente utilizando la función create_tool_calling_agent de Langchain. Se pasa el LLM, el prompt y una lista vacía de herramientas al agente. Se crea un ejecutor de agente utilizando AgentExecutor para ejecutar el agente. Se invoca el ejecutor de agente con una consulta y se imprime la respuesta sin procesar.

Análisis de Salida

Se explica cómo utilizar el analizador para convertir la respuesta sin procesar del LLM en un objeto Python estructurado. Se utiliza el método parse del analizador para analizar la salida y se accede a los campos del objeto Python. Se añade un bloque try-except para manejar posibles errores de análisis.

Añadiendo Herramientas Preconstruidas

Se muestra cómo añadir herramientas al agente. Se importan herramientas preconstruidas de Langchain Community, como WikipediaRun y DuckDuckGoSearchRun. Se crea una herramienta de búsqueda utilizando DuckDuckGoSearchRun y se añade a la lista de herramientas del agente. Se actualiza el agente y el ejecutor de agente con la lista de herramientas.

Llamada de Herramientas Personalizadas

Se explica cómo crear una herramienta personalizada. Se define una función Python llamada save_to_txt que guarda los datos de la investigación en un archivo de texto. Se envuelve esta función como una herramienta utilizando la clase Tool de Langchain. Se añade la herramienta personalizada a la lista de herramientas del agente. Se actualiza el agente y el ejecutor de agente con la lista de herramientas. Se instruye al modelo a guardar la información en un archivo.

Share

Summarize Anything ! Download Summ App

Download on the Apple Store
Get it on Google Play
© 2024 Summ