Construye agentes de IA autónomos con Python desde cero | Hassan Aboul hassan | Skillshare

Velocidad de reproducción


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Construye agentes de IA autónomos con Python desde cero

teacher avatar Hassan Aboul hassan, Founder @LearnWithHasan & @SimplerLLM

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

    • 1.

      ¿Qué es un agente de IA?

      3:08

    • 2.

      Configuración básica

      4:46

    • 3.

      Limitación del LLM en acción

      1:54

    • 4.

      Agente de IA codificado

      4:38

    • 5.

      El símbolo ReAct

      6:24

    • 6.

      Cómo agregar funciones

      9:03

    • 7.

      El bucle

      2:11

    • 8.

      El agente final

      6:59

    • 9.

      El indicador

      3:17

    • 10.

      Simplifica con SimplerLLM

      3:11

    • 11.

      Cómo construir un agente de IA para auditores SEO

      8:13

    • 12.

      ¿Qué sigue después?

      0:54

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

1035

Estudiantes

3

Proyectos

Acerca de esta clase

Bienvenido a “Construye agentes de IA desde cero con Python”, un curso dinámico diseñado para personas que desean sumergirse en el mundo de los agentes de IA autónomos desde cero.

Este curso te guiará a través de los conceptos básicos de los agentes de IA e introducirá el innovador ReAct Prompting, que permite a los modelos de lenguaje grande pensar y tomar medidas prácticas.

Aprenderás a crear agentes de IA desde los básicos hasta los avanzados desde cero sin necesidad de recurrir a terceros.

Estaremos construyendo Agents mediante la integración de funciones personalizadas que permiten que estos modelos respondan de manera inteligente a las consultas de los usuarios y las limitaciones de los pasos, como el acceso a datos en vivo, API y funciones externas.

Tanto si quieres crear un agente de IA simple como si quieres crear un agente de IA en el mundo real, ¡este curso te proporcionará todos los códigos y plantillas necesarias para empezar!

Este curso de nivel intermedio requiere que los asistentes tengan una comprensión básica de la programación en Python y los conceptos básicos de la ingeniería de comandos.

Conoce a tu profesor(a)

Teacher Profile Image

Hassan Aboul hassan

Founder @LearnWithHasan & @SimplerLLM

Profesor(a)

Hello, I'm Hassan.

The thing I dislike most is talking about myself, but here, I'm obliged to do so. I fell in love with computers when I was 8 years old, and by the age of 9, I had made a full Windows installation. I tried my best to learn everything I could about computers, such as Programming, Network and Server Administration, Hacking and Security, Computer Maintenance, Virtualization, Linux, and even Adobe and Auto DeskGraphic, and design products.

Computers are my life. By the time I wrote this biography, I had gained more than 8 years of experience in network and server administration.

I have more than six years of experience in .Net, Java, and C++ Programming, as well as, of course, Database design and administration.

I used to teach these subjects in... Ver perfil completo

Habilidades relacionadas

IA e innovación Fundamentos de la IA Prompts
Level: Advanced

Valoración de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Ve clases sobre la marcha con la aplicación de Skillshare. Progresa en línea o descarga las clases para verlas en el avión, el metro o donde sea que aprendas mejor.

Transcripciones

1. ¿Qué es un agente de IA?: Entonces comencemos entendiendo qué es el agente de IA para hacer las cosas lo más simples posible. Voy a ir con este ejemplo práctico. Aquí estoy en Cage Pit, y seleccioné GPT 3.5 Simplemente voy a hacer esta pregunta. Debería tomar un paraguas y salir hoy a California, Bien. Entonces probemos esto y ahora GPT tres me dirá o Ch GPT, para brindarte la asesoría más precisa que necesitaría para conocer tu ubicación específica dentro California y el pronóstico del tiempo actual para el día Entonces creo que aprendiste en el curso de ingeniería rápida que una de las principales limitaciones de los modelos de lenguaje es que solo genera respuestas con base en los datos en los que se entrenó. Por lo que no tiene acceso a datos en tiempo real. Por eso no puede responder a mi pregunta. Necesita saber primero el clima antes de que me diga si necesito un paraguas o no. Sencillo. Ahora bien, si tomamos la misma pregunta y vamos a GPT cuatro Hagamos la misma pregunta ahora. Y mira lo que va a pasar. GPT cuatro sigue siendo un modelo de lenguaje y tiene una limitación, pero respondió a mi pregunta ¿Qué pasó? Simplemente, lo que A hice con GPT cuatro, si vas aquí y arriba en esto, verás con Dale navegación web y algunas otras herramientas Entonces no es sólo un modelo de lenguaje aquí. Es el modelo de lenguaje. Es GPT cuatro, pero combinado con algunas funciones y herramientas externas Entonces consiguió el clima. Entonces con base en el clima, sugirió que llevar paraguas podría no ser necesario y proporcionó el recurso del clima. Me puse en contacto con el Servicio Meteorológico Nacional y con base en el resultado, generé la respuesta. Esta es una forma sencilla de cómo trabajan los agentes de IA. Si quieres definir un agente de IA en términos simples, es un modelo de lenguaje, además de algunas herramientas y funciones externas. Estos dos son impulsados por una técnica. Permite el modelo, por favor concéntrese. Permite al modelo pensar en la pregunta o el prompt, entenderlo, tal vez dividirlo en tareas, luego de una lista de herramientas a las que está asignado, puedo escoger la herramienta adecuada para la tarea que genera el resultado con la herramienta con la acción y utilizar la salida de la acción, nuevamente, en el prompt generar el resultado final. De alguna manera, imita cómo trabajan los humanos. Espero que hayas entendido la idea. 2. Configuración básica: Bien, amigos. En esta conferencia, crearé un entorno virtual para nuestro proyecto, instalaré el paquete Open AI y crearé una función simple para generación de texto usando pen AI y probarla. Así que comencemos. Paso uno, subiré aquí a una terminal U y crearé un entorno virtual. Simplemente ejecute esta VM común de Python, y luego el nombre del entorno virtual, nuevamente, Espere segundos. Perfecto. Ya puedes ver crea la carpeta del entorno virtual. Ahora vamos a activarlo. Iré a los guiones y activaré y perfeccionaré. Ahora puedes ver que estamos dentro del entorno virtual y podemos instalar nuestros paquetes. Simplemente ejecuta pip, instala open AI para instalar pen I package en nuestro proyecto Y perfecto, paso uno hecho, paso dos hecho. Ahora vamos a crear una función sencilla para generar texto con lápiz AI. Crearé un nuevo módulo para pen AI para hacer nuestro proyecto de alguna manera estructurado y organizado. Diré módulo pen estas alturas voy a crear una función aquí que utilice la API Open AI. De pen AI, importen AI, Y eso es crear un archivo de variables ambientales Consigue tu APIK de Open AI y pégalo aquí. Y volvamos ahora para leer la clave de nuestros scripts, voy a instalar el paquete Python, que podamos leer los valores de este archivo. Perfecto. Volvamos aquí y carguemos las variables ambientales. Vamos a importar OS y la función, perfecto. Ahora vamos a crear una instancia de la clase de IA abierta de esta manera, tenemos un objeto abierto. A eso podemos llamar para generar texto perfecto y pasamos la clave API pen. Ahora, vamos a crear la función que genera texto con lápiz AI. Aquí estamos generando texto básico, usando el pen I cliente y estamos pasando el modelo por la foto GPT 3.5 Podemos cambiar esto si quieres, pasamos un prompt del sistema y el prompt del usuario, y leemos la respuesta, muy simple y básica. Esto lo hicimos mucho antes en el curso de ingeniería rápida y otras clases. Déjame alejar el zoom y explicarlo rápido. Usamos el paquete OpenAI, cargamos las variables ambientales, obtenemos la clave API y creamos una instancia Llamemos a este cliente solo para dejar las cosas claras. Creamos este objeto AI abierto a partir de la clase o instancia, y luego generamos texto usando esta instancia y devolvemos el contenido. Vamos a probar esto. Voy a ir aquí y crear un módulo de prueba e ir e importar módulo abierto o digamos, desde importación abierta generar texto básico. Y ahora voy a decir pronta, generar una respuesta de oración de cinco palabras es igual a generar texto básico y pasar la pronta respuesta de impresión. Vamos a probar esto ahora Python prueba PIs tenemos un error. Volvamos aquí. Creo que es APK. De esta manera, declinamos la instancia. Probemos y perfeccionemos. Sí. Necesitamos agregar la clave API como el nombre de la variable o el nombre del parámetro, y obtuvimos la oración. Dejemos claro otra vez, y voy a decir ahora generar un párrafo sobre computación cuántica. Vamos a correr Bien. Y perfecto. Ya puedes ver tenemos una sencilla función a la que podemos llamar en cualquier momento para generar texto con pen AI. paso tres está hecho, y estamos listos para comenzar a crear nuestro agente. 3. Limitación del LLM en acción: Bien. Antes de ir y comenzar a construir nuestro agente AII. Veamos en acción y saboreemos cómo los modelos de lenguaje son limitados. Volveré al modelo de prueba que creé, y haré la misma pregunta, si recuerdas, debería tomar un paraguas y salir hoy en California, por defecto, el modelo como GPT 3.5 Tb Vamos a quitar el prompt del sistema No lo necesitamos por ahora. Entonces ahora, estoy usando este prompt y el modelo es GP 3.5. Veamos la respuesta del modelo. Te recomiendo consultar el pronóstico del tiempo para tu ubicación específica para determinar si está lloviendo o lo que sea Entonces puedes ver que no tiene acceso a ningún dato en vivo para decidir en base a eso. Nuevamente, despejaré y probaré con GPT cuatro. Te dice, actualmente no puedo acceder a los datos en tiempo real. De nuevo es, GPT cuatro y no tiene acceso a ningún dato. Recuerde, cuando le hicimos esta pregunta a C GPT con tecnología GPT cuatro y otras herramientas, fue capaz de acceder y responder a esta pregunta porque está utilizando herramientas externas y este tipo de agente de IA, como mencionó anteriormente Eso es lo que vamos a construir desde cero juntos en este curso. Obtuvo el pronóstico y luego responde con base en esos datos. Pero si contactas directamente con el modelo, sin ChagPT sin herramientas externas, es limitado. ¿Ves? Como asistente de IA, actualmente no puedo acceder a los datos en tiempo real. Esta es la limitación que vamos a abordar y resolver con los agentes de IA. 4. Agente de IA codificado: Bien, amigos. Entonces, a partir de ahora, comenzaremos a resolver el problema y las limitaciones de los modelos de lenguaje. Y le daremos acceso al modelo de lenguaje a herramientas externas. Pero en esta conferencia, te voy a mostrar cómo construir lo que llamo un agente de IA codificado duro. Empecemos. Y creo que con el ejemplo, entenderás el punto. Entonces si recuerdas, dijimos si queremos pasar esta limitación y hacer que GPT 43.5 o cualquier modelo de lenguaje respondan preguntas que requieran datos en tiempo real, necesitaremos darle acceso a funciones y herramientas externas Entonces voy a ir aquí y decir, funciones de muestra y crear una función simple que simplemente devuelve el clima basado en la ciudad. Es muy sencillo y básico regresa soleado, lluvioso, nublado, y así sucesivamente, basado en la ciudad, el perímetro. Como te dije antes, estoy manteniendo las cosas muy, muy simples, para que cualquiera pueda entender el concepto antes de seguir adelante con ejemplos avanzados. Hay una función muy básica en Python que devuelve un texto sencillo, que es el clima basado en la ciudad. ¿Bien? Ahora, iré aquí y crearé un nuevo módulo, y lo llamaré agente codificado duro. Entiendes a lo que me refiero en un poquito. Este es el agente codificado duro. En este escenario, vamos nosotros mismos, el programador. Vamos a llamar a la función personalizada, que es get weather, y vamos a pasar el resultado e inyectarlo en el prompt antes de llamar al modelo. Si vuelvo a la prueba, voy a copiar la misma. Ve aquí otra vez con el agente, y digamos agente codificado duro. Ahora antes de ejecutar esta muestra que es limitada, importaré mi función get weather y diré clima actual y obtendré de California de esta función. Ahora en el prompt, diría basado en la siguiente condición climatológica y pasar la corriente a tiempo que obtuvimos de la función. Dejemos esto claro dividiéndolo en múltiples líneas de esta manera y eliminemos las ventajas y agreguemos el clima actual esto y formatear la cadena Entonces podemos ver ahora nuestro prompt es totalmente diferente. Nosotros hicimos la pregunta, pero inyectamos el resultado de la función dentro del propio prompt. Así que ahora el modelo conoce el clima actual en base a esta función, y vamos a responder en base a eso. Sencillo, ¿eh? Intentemos ahora volver a ejecutar este script, Python y ejecutas agente codificado duro. A ver. Según las condiciones climáticas que describiste como soleadas, normalmente no necesitarías un paraguas. ¿Ves? Ahora respondió a la pregunta y pasamos la limitación. Pero está codificado duro, lo que significa que nosotros mismos llamamos a la función en el código y la pasamos nosotros mismos al prompt, inyectamos el valor y luego llamamos al modelo para generar la respuesta o responder a la pregunta. Si bien es un agente de IA autónomo que vamos a construir más tarde, el modelo de IA por sí mismo entenderá si necesita una función y lo llamará por sí mismo. Entonces todo será automatizado. Esta es la principal diferencia. Esta es una solución codificada. Se parece a los flujos de trabajo de automatización que construimos en el curso de ingeniería rápida o lo que yo llamo una cadena de funciones. Entonces creas una función y la encadenas dentro de un prompt y luego llamas al modelo. Esto es lo que yo llamo una solución de código duro para resolver la limitación en el modelo de lenguaje. El siguiente paso es optimizar o mejorar o construir una solución automatizada que pueda hacer todo esto por sí misma. Prepárate para algo de magia que viene a continuación. 5. El símbolo ReAct: Bien. Entonces en el último ejemplo, te mostré cómo crear lo que llamamos el agente codificado duro o flujo de trabajo codificado duro, y resolvemos la limitación de LM inyectando el resultado de la función o la salida de la función directamente dentro del prompt y obtuvimos el resultado. Ahora es el momento de subir de nivel y ver cómo podemos automatizar esto, cómo podemos hacer que la IA o el agente llamen a la función automáticamente y pasarla automáticamente al prompt o a la pregunta para responderla. En términos simples, cómo automatizar esto, cómo podemos construir un agente que piense y responda automáticamente. Por favor a partir de ahora enfócate muy bien. Iré paso a paso, y dividiré la identificación en múltiples conferencias para hacer las cosas simples. Lo que voy a hacer ahora es crear un nuevo módulo, y lo llamaré prompts. Toda la idea es sobre este aviso. Alejemos el zoom. Esto es lo que llamamos el prompt de reacción. No sé si te enteraste de reaccionar. Es un tipo de incitación que permite al modelo pensar en la entrada del usuario o la pregunta o el prompt y tomar la acción ligera para responder a la pregunta Aquí está el prompt que estoy usando. Te corrieron en un bucle de pensamiento, acción, pose y respuesta a la acción. Al final del bucle, emitas una respuesta. Entonces me explico esto. Yo les digo mod la idea es entender la pregunta que te han hecho. Por lo que utilizará pensamiento para entender el requerimiento del usuario. Entonces usará acción para ejecutar una de las acciones disponibles para ti. Entonces, en base a su comprensión de la tarea, escogerá una acción y la ejecutará. Y entonces la respuesta a la acción es el resultado de las acciones que se selecciona. Entonces le diré al modelo qué acciones están disponibles para usar. En nuestro caso, tenemos la función get weather. Entonces lo llamaremos así, obtendremos el clima, y los parámetros es California, que es el nombre de la ciudad, y luego devuelve el estado meteorológico actual de la ciudad. Entonces estas son las funciones o acciones disponibles para el modelo. Y al final, voy a dar una sesión de ejemplo. Entonces lo diré, por ejemplo, si la pregunta era, debería tomar un paraguas en California hoy, El pensamiento será, debería revisar primero el clima en California. Entonces así es como piensan los humanos. Cuando te pregunto, ¿debería llevarme un paraguas? ¿Pensarás primero en el clima? ¿Hace sol? ¿Lluvioso? Entonces comprobarás el clima. Usas una acción, por ejemplo, comprobarás el pronóstico en línea o algo así. En nuestro caso, tenemos una función para obtener el clima. Entonces hará una pausa, y luego volverá a hacer frío con la respuesta de acción. Por ejemplo, si la respuesta a la acción fue, el clima en California es soleado. Así que ahora tenemos el clima para que luego podamos responder a la pregunta en base a esta salida. La salida sería algo así como, no, no debería llevar sombrilla hoy no debería llevar sombrilla porque el clima es soleado. Entonces estamos dando una sesión de ejemplo para que el modelo entienda cómo va a funcionar. Entonces nuevamente, este mismo baile de graduación de actos, permite al modelo pensar en la pregunta o el prompt que se le hizo y tratar de entenderla y luego entender qué tareas o qué acciones debe tomar para resolver el problema, y le daremos una lista de acciones a usar. Utilizará estas acciones, obtendrá la respuesta y utilizará el prompt para obtener el final. Contestar. Veamos ahora cómo funcionará este prompt en nuestro escenario. Entonces iré y volveré a crear un nuevo modelo, y diré, reaccione la prueba del agente. Y voy a copiar ahora el agente codificado duro aquí. Y voy a quitar éste. Voy a mantener la pregunta como está en L cuatro, y luego voy a pasar el sistema aquí el prompt del sistema. Simplemente pasaré el prompt del sistema, pero vamos a importarlo antes. Diré prompt, react system prompt, perfecto, y lo pasaré aquí. Entonces el único tweak que hicimos aquí es que volvimos a recibir el prompt a una pregunta simple sin proporcionar ningún dato Movemos la función, y ahora veremos cómo funcionará el modelo con este nuevo prompt del sistema. Permítanme cambiar California también a, por ejemplo, Arizona, otra ciudad. No queremos una pareja perfecta. Solo para asegurarse de que el prompt esté funcionando perfectamente, y de alguna manera es genérico. Así que vamos a ejecutar este script, Python y copiar el nombre del script. Y veamos ahora qué va a pasar. Por favor, concéntrese en la salida. Y perfecto. Se puede ver ahora es de alguna manera pensar. Tiene un pensamiento. Este es el primer paso. Si vuelves al prompt, ves que el primer paso se piensa para entender la pregunta. Entonces el pensamiento es, necesito revisar el clima actual en Arizona. Después la acción escoge una acción, que es obtener el clima y los parámetros en Arizona, y luego posa. Verás, llegamos a este punto, perfecto. Pero como aún no tenemos la función, el modelo no tiene acceso a ninguna función en esta prueba. Aquí no definimos ninguna función, nada. Entonces simplemente se hizo una pausa y no tuvimos la salida final. Pero eso es perfecto para esta conferencia para este punto. La idea que quiero mostrarles aquí es este prompt de pacto permitirá al modelo entender la pregunta y decidir una acción y ejecutarla y escoger la acción, llegamos a este punto donde el modelo puede elegir automáticamente una acción para usar y luego responder a la pregunta. El siguiente paso, es definir esta función para que el modelo pueda llamarla y usarla. 6. Cómo agregar funciones: Bien. Entonces, en el último paso, el agente pudo pensar en la pregunta y decidir la acción. Pero como no hay ninguna acción definida en nuestro script, el modelo no llamó a ninguna acción ni a ninguna función. Entonces en esta conferencia, vayamos al nivel tres y hagamos que el modelo llame automáticamente a la acción necesaria para que responda a la pregunta. Entonces iré aquí y aplicaré este script, quiero hacer un seguimiento de cada actualización para que puedas ir a cada guión y dar seguimiento paso a paso para ver cómo desarrollamos el agente desde cero De hecho, voy a renombrar esto a R A para hacer el naming de alguna manera más pequeño, R A , que significa react agent, y diré con funciones test, y esta, la prueba básica RA Y ahora voy a copiar el mismo código y moverlo aquí, y voy a definir el conjunto de funciones disponibles para el modelo. Entonces, vamos a quitar esto. Diré aquí, acciones disponibles, y simplemente defino una lista que contenga el nombre de cada función. Y vamos a importar la función de las funciones de muestra y puerto llegar al clima. Entonces tenemos una lista de la que el modelo puede escoger. En nuestro caso, solo tenemos una para simplificar las cosas como mencioné antes, pero esta es una lista, el modelo puede acceder y escoger una función y llamarla. Veremos cómo en un poquito. Tenemos una lista de acciones disponibles. Ahora, lo que voy a hacer es que quiero leer el nombre de la acción de la salida e instruir al modelo para que llame a esta función Se puede ver el modelo sabía que necesitamos para obtener función meteorológica con Arizona como parámetro. Pero cómo lo va a llamar, veamos. Entonces ahora tenemos la respuesta. Aquí, queremos instruir al modelo para que llame a la acción o a la función Entonces lo que necesitamos es extraer el nombre de la función de la respuesta, y la respuesta es una respuesta de texto. Entonces mi pequeño truco aquí está dentro de nuestro aviso. En lugar de regresar Un texto sencillo como este, voy a devolver un Jason estructurado. Sería mucho más fácil para nosotros leer el nombre y los parámetros. Lo que voy a hacer aquí es que iré a la sesión de ejemplo y verás aquí que la acción devuelta está en este formato, el nombre de la función, y luego el parámetro. En cambio, le diré al modelo que devuelva esto en JS de esta manera. Entonces en lugar de este simple texto aquí, tenemos un JSN dentro del texto para que podamos extraerlo fácilmente del texto de la respuesta y llamar a la función Volvamos a nuestra prueba aquí, y antes de escribir el código para extraer la función, déjame mostrarte lo que pasó, lo que cambió ahora. Voy a ejecutar esto en guión, Y ya pueden ver, el pensamiento es el mismo. Tengo que comprobar primero el clima en Arizona, pero ahora la acción está en formato Jason. Y esto es súper importante. Ahora puedo leer fácilmente esta cadena de Jason y convertirla en Jason y llamar a la función. Espero que tengas la idea porque si tienes un texto simple aquí como antes, Tal vez necesitemos expresiones regulares. De alguna manera será más difícil extraer una función o una cadena simple desde dentro de la respuesta. Cuando tengamos un Jason estructurado como este, será mucho más fácil. Pero cómo podemos extraer este texto de JSN de esta respuesta. Aquí viene mis funciones de ayudante que desarrollé, creé para facilitarte las cosas. Iré aquí y crearé un nuevo módulo Python, lo llamaré ayudantes JS Voy a pegar las funciones que creé Esto te puede ayudar en muchos escenarios Pero lo que necesitamos en nuestro caso es esta función, extraer a Jason del texto. Mira lo fácil que es esto ahora. Volveré a nuestro ejemplo y simplemente diré que la función Jason es igual al nombre de la función. Primero vamos a importarlo de Jason helpers import. ¿Cuál es el nombre de la función? Extracto de Jason. Ayudantes y simplemente decir extraer JS y de la respuesta, y vamos a imprimir ahora la función JSN También vamos a imprimir la respuesta, yo diría respuesta del modelo, Y luego diré funciones JS extraídas más allá de este formdatring Y ahora veamos qué va a pasar. Entonces lo que estoy haciendo aquí simplemente es imprimir la respuesta principal y luego extraer la función JS, y luego imprimir la función extraída para ver si todo está funcionando perfectamente. Entonces vamos a ejecutar esto Ya puedes ver. Esta es la principal respuesta del modelo. Después la función JSN extraída. Se puede ver que tenemos ahora una lista de funciones con sus parámetros. Se puede ver el nombre de la función y los parámetros de la función City, Arizona. Ahora tenemos un JCN. Es mucho más fácil simplemente leer los valores de este JSN. Espero que tengas la idea aquí. Yo instruí el modelo aquí con el prompt generar la acción y el parámetro o la función con el parámetro en formato JSM, así me será más fácil extraerlo más tarde y permitir que el modelo ejecute esta función Comentemos estas líneas. Ahora tengo la función JSN como texto. El siguiente paso es ejecutar la función. Déjame mostrarte el código. De alguna manera es simple. Acabo de verificar si esta función JSN existe cuando la extraemos. Entonces obtengo el nombre de la función y los parámetros de la función. Ya puedes ver lo fácil que es obtener estos del JSIN al hacer un axing al JSN Después verifico que el nombre de la función existe en la lista de acciones disponibles. Dónde está esta lista, recuerden, definimos aquí. Se comprobará si este nombre de función existe en esta lista. Si no, dirá acción desconocida. caso afirmativo, se imprimirá ejecutando el nombre de la acción con los parámetros, entonces definiré la función y codificaré aquí con los parámetros y guardaré el resultado dentro de esta variable y simplemente mostraré esta función result message action response, que es el resultado de la función, aquí el resultado, y vamos a imprimir mensaje de resultado de función de impresión. Eso es. Extraemos el JSN, luego extraemos el nombre de la función y los parámetros de la función, y verificamos si está disponible aquí, y obtenemos el nombre de la función y lo llamamos, obtenemos el resultado, y lo estoy imprimiendo ahora para mostrar que todo está funcionando como se esperaba Vamos a aclarar esto de nuevo y probar nuestro nuevo código. Veamos qué va a pasar ahora, corre, Y ya puedes ver, dice correr, conseguir clima. Entonces el modo seleccionó automáticamente la función y la ejecutó. Pero tenemos aquí un problema. Dice que la respuesta de acción no es ninguna. ¿Por qué? Simplemente porque si vamos a nuestra función de muestra, no tenemos Arizona en la lista. Así que escojamos algo que esté disponible aquí como Londres e vayamos aquí y cambiemos el prompt, debería llevarme paraguas conmigo en Londres, y ahora intentemos ejecutar y perfeccionar. Se puede ver ahora corriendo obtener clima, la ciudad es Londres y la respuesta de acción es nublada. El modelo ahora en este paso pudo decidir que debía verificar el clima, traba la función, y obtenemos la respuesta. El siguiente paso, es hacer el modelo, usar la respuesta para responder a nuestro prompt principal, nuestra pregunta principal. Y ahí es donde necesitaremos el bucle de agente de IA. Si volvemos a ir al prompt, recuerden, tenemos un bucle. Entonces explicaremos más sobre este bucle y crearemos nuestro propio bucle de agente para que el modelo o el agente de IA puedan responder con la respuesta final. 7. El bucle: Bien, amigos, en la última conferencia, llegamos a un punto donde el modelo somos capaces de obtener la función, extraerla de la respuesta, y llamarla y obtener un resultado de la función. Entonces en este ejemplo, para Londres, conseguimos que la respuesta es turbia. Por lo que ahora el modelo sabe que el clima en Londres es nublado. Pero no generó la salida final. Aquí es donde el bucle es importante. Si volvemos a las indicaciones, recuerda, corres en un bucle de acción de pensamiento y respuesta a la acción Entonces lo que debemos hacer ahora es hacer que el modelo se ejecute dentro de un bucle. De esta manera, tendrá la respuesta de acción en la segunda iteración del bucle Entonces en la primera iteración, obtuvo la respuesta en la segunda iteración Tendrá la respuesta para que pueda responder a la pregunta. Espero que hayamos tenido la idea porque en este guión aquí, entramos al baile de graduación y extraemos la función y obtuvimos el resultado. Pero nos detuvimos aquí. El modelo no supo responder. Acabamos de recibir la respuesta de la función. Así que tenemos que anidar este código aquí dentro de un bucle. Para que el modelo pueda volver a funcionar, y ahora contendrá la información. Tendrá la respuesta de acción dentro de los mensajes. Para ello, en esta conferencia, voy a introducir una nueva función. Regresa a nuestro módulo abierto aquí. Voy a crear esta nueva función. Y en lugar de tomar un simple prompt y el prompt del sistema y crear los mensajes manualmente aquí en el cuerpo de la función, simplemente voy a estar pasando los mensajes como parámetro. Entonces de alguna manera podemos hacer el modelo, recordar la conversación. Vamos a guardar la conversación dentro del bucle. Entonces tenemos ahora esta función en la próxima conferencia, vamos a finalizar a nuestro agente Y si sentías que aquí hay algo poco claro, creo que lo aplicamos prácticamente en la siguiente conferencia, entenderás cómo funciona el bucle y cómo funciona el modelo y cómo está trabajando el agente A dentro de este bucle. Y entenderás la importancia del bucle. 8. El agente final: Bien, amigos, en esta conferencia. Finalicemos nuestro agente de IA implementando el ciclo final Entonces nuevamente, voy a crear un nuevo módulo, voy a llamar a RA final. Y este es nuestro agente de reacción final. Espero que con este ejemplo, entiendas la idea completa detrás de los agentes. Entonces voy a copiar el mismo código aquí. Bien, eliminemos estos comentarios. Y ahora, lo que voy a hacer es agregar mensajes. Recuerda, agregamos esta función aquí para que podamos pasar mensajes. Entonces vamos a usar esta función en su lugar. Entonces necesitamos importarlo aquí, perfecto. Y en lugar del prompt y del prompt del sistema, pasaremos los mensajes, y los definiremos aquí. Los mensajes son iguales. Y afrontemos este sencillo código. Ya sabes en OpenAI, tenemos el prompt del sistema y el prompt del usuario y una conversación, y puedes agregar todo lo que quieras aquí entre el asistente de usuario como una conversación para pasar con el modelo para empezar si quieres de todos modos Así que tenemos aquí solo el prompt del sistema, que es nuestro prompt del sistema de reacción, y tenemos el contenido, que es nuestro sencillo prompt aquí Ahora pasamos estos mensajes como parámetro a nuestra nueva función, por lo que ahora se generará en base a esta conversación. Hasta ahora, nada nuevo, muy sencillo. En lugar de pasar el prompt un prompt del sistema cada uno como parámetro, utilizamos la nueva función con este parámetro messages. Entonces extraemos la función, nada nuevo. Ahora necesitamos implementar el loop del que hablamos. Por favor, concéntrese en esta parte. Esto es muy importante. Es casi la parte más importante en la estructura del agente de IA. Ahora, en lugar de generar directamente la respuesta desde la IA y luego extraer y continuar, anidaremos esto dentro de un bucle, como mencioné antes en la última conferencia. Simplemente defina dos variables, el recuento de giros y los giros máximos. Cuántas veces quieres que corra el asiático, cuántas iteraciones, y luego un simple bucle y, Y dirás, mientras que el recuento de turnos es menor que el número máximo de giros, seguirá haciendo un bucle Imprimiré la iteración o el recuento de turnos solo para saber dónde estoy dentro del bucle Y luego agregaré uno para convertir el conteo para que podamos romper el bucle cuando llegue a cinco y simplemente agreguemos aquí una orientación de tabulación para hacer el código dentro del bucle. Entonces, iteración uno, qué pasará, vamos a generar la respuesta, extraeremos la función, y obtendremos el resultado de la acción. ¿Bien? Ahora, lo que tenemos que hacer es añadir el resultado a la conversación Ves aquí tenemos los mensajes. Lo que vamos a hacer ahora aquí es agregar un nuevo mensaje de que obtuvimos una respuesta de acción Obtuvimos un resultado de la función. Le vamos a decir al modelo. Bien, ahora tenemos la respuesta a para que puedas responder a la pregunta. ¿Cómo hacer esto? Simplemente. Después de que obtengamos el mensaje de resultado de la función, simplemente agregamos este nuevo mensaje o nuevo mensaje de chat a la matriz de mensajes aquí. ¿Bien? Entonces ahora, si quieres, vamos a tener algo como esto. El array de mensajes será algo así en esta etapa. Entonces ahora tenemos la conversación completa, y podemos de nuevo en la segunda iteración cuando llamamos a esto, ahora los mensajes contendrán el resultado de la función Entonces esta es la importancia del bucle. Estamos haciendo un seguimiento de los resultados que generó el modelo. Obtuvimos resultados de la función, así que la agregamos a los mensajes. Entonces en la segunda iteración, verá que tenemos un resultado de la función Y voy a añadir aquí al final, si no tenemos función adyacente, yo diría más romper. Para ver todo lo que sucede dentro del bucle, vamos a mí aquí también. Imprime la respuesta, para que podamos ver qué es exactamente lo que está sucediendo dentro de la mente del agente. Entonces loop, imprime la respuesta, extrae la función, obtenemos la función, la ejecutamos. Obtenemos el resultado de la función. Agregamos el resultado al historial de mensajes, y luego hacemos un bucle de nuevo con los nuevos resultados. Veamos qué pasará ahora. Claro, y vamos a ejecutar nuestra final una implementación o una final.yn. Perfecto. Entonces en la primera iteración en el bucle, el modelo, dijo el agente, primero debería verificar el clima en Londres Entonces necesito esta acción. Corrió la acción. ¿Ves? Necesito conseguir el clima. La ciudad es Londres. La respuesta de acción es turbia. En el segundo bucle, mira esta increíble magia. En serio, es como magia. Algo realmente interesante. En la segunda iteración, el agente ahora sabe que el clima está nublado Entonces te dice, sí, deberías considerar tomar un paraguas ya que hoy está nublado en Londres. Entonces en la primera iteración, entiendo la pregunta, ejecuto la función, y luego agrega los resultados al segundo bucle a la segunda iteración, y así sucesivamente hasta que encuentre la respuesta final Y lo que es interesante aquí, ahora puedes hacerle al agente cualquier duda que requiera conocer el clima. No se trata solamente del paraguas. Déjame mostrarte un ejemplo. Voy a cambiar este aviso, y le preguntaré otra cosa al agente. Pregunta muy básica. ¿Cuál es el clima en Londres hoy? Entonces, si estás en esto, nuevamente, ahora el agente de IA puede responder esta pregunta fácilmente. Me dirá que el clima está nublado. Utiliza la función externa . ' s hacen algunas otras preguntas difíciles para ver qué tan inteligente es este agente de IA. Por ejemplo, es un buen día para visitar la playa en California. Vamos a probar esto. Sí, es un buen día. El tiempo es Sonny. Probemos otra cosa. Es realmente interesante. Déjame preguntarte de esta manera. Cuál es el clima en Nueva York, y voy a escribir Nueva York mal escrita A ver si puede manejar esto por sí mismo. Corre de nuevo. Perfecto. Lo maneja. Déjeme preguntarle algo que no tiene nada con el clima. ¿Qué es el marketing digital? Veamos qué va a pasar. Lo pensé, y es una pregunta basada en hechos, así que obtuve una respuesta directamente. Quizás te estés preguntando ahora cómo puedo restringir a este agente para que responda solo preguntas relacionadas con un caso de uso específico, como por ejemplo, si o tal vez solo para marketing o solo para tal vez ayuda financiera y así sucesivamente. Cómo puedo restringir el modelo para hacer esto. Se trata del prompt del sistema. Voy a discutir esto más en la próxima conferencia. 9. El indicador: Entonces, en la última conferencia, terminamos el agente de IA, y te mostré cómo funciona el bucle y cómo el agente de IA pudo usar una función externa automáticamente para responder nuestras preguntas. Y jugamos con este prompt e hicimos diferentes preguntas. Y te mostré también que puede responder preguntas genéricas como qué marketing digital. Vamos a ejecutar esto de nuevo. Y verás que obtuvo una respuesta sobre el marketing digital. En esta conferencia, quiero hablar un poco sobre el sistema, el baile de graduación de reacción. En primer lugar, quiero mencionar que este prompt no es el prompt perfecto. A veces si cambias un poco en este prompt, obtendrás tal vez mejores resultados. Por ejemplo, en esta publicación de bloque, y por cierto, es una gran publicación de bloque, aquí, Simon, el autor usa este prompt aquí. De alguna manera es similar, y para ser honesto, obtuve algunas ideas de su blog cuando creé el curso. Pero si ves aquí, Cuando obtiene la función, la devuelve de esta manera, action, el nombre de la función y el nombre del parámetro. Si vas al script Python que él construyó o él creó, se ve usando expresiones regulares. Este enfoque, en mi opinión, no es el mejor enfoque utilizando expresiones regulares. Es por eso que en mi prompt, preferí usar la estructura Jason response, y extraer esto de la respuesta, para que podamos interactuar fácilmente con las funciones. A pesar que estoy usando de alguna manera expresiones regulares para extraer el JSN Pero cuando lo extraemos, obtendremos algo como éste, que es de fácil acceso y podremos jugar con mucho más fácil que el simple texto plano. Entonces lo que quiero decirles es que este aviso no es el santo aviso. Se puede jugar con él, se puede cambiar. Voy a compartir con ustedes algunas versiones diferentes de este prompt. Mientras preparaba el curso, estaba jugando con algunas ideas rápidas diferentes. Déjeme mostrarle éste. Así que puedes ver aquí, tengo diferentes versiones prompt. Voy a adjuntar todo esto, para que puedas jugar y probar con si quieres. Sólo una nota final. Si quieres que el agente de IA responda preguntas solo en tu caso concreto o caso de uso. Por ejemplo, quiero que el agente conteste solo preguntas relacionadas con si. Puedo agregar esto al prompt del sistema. No respondas a ninguna duda que no esté relacionada con el clima. Y luego escribes el prompt de reacción. Si vas aquí ahora y vamos a probar esto, te pregunto ¿qué es el marketing digital? Veamos cuál será la respuesta. Se puede ver lo siento, pero sólo puedo proporcionar información sobre el clima. Este prompt del sistema es muy importante, si quieres. Para hacer que su agente sea específico para un escenario de caso de uso especial. Creo que a partir de ahora, puedes usar la misma plantilla de prompt, esta plantilla de react. Puedes agregar más funciones y probar con si quieres, y lo haremos más adelante. Te mostraré cómo puedes implementar algunos agentes avanzados de IA con diferentes escenarios y casos de uso más adelante en los videos del proyecto. Pero por ahora, creo que tienes la idea completa y la importancia de este sistema pronto. 10. Simplifica con SimplerLLM: Bien, amigos. En esta conferencia, te mostraré cómo simplificar el proceso de construcción de agentes de IA con una biblioteca llamada LM más simple. Entonces lo que voy a hacer simplemente es clonar este copy paste y simplemente renombrarlo. Vamos a llamarlo algo así como más simple. Y la idea aquí es más simple LM es una biblioteca que desarrollé. Se trata de un paquete Python que te ayudará a interactuar con los modelos de lenguaje de manera más fácil. Créeme, me ayudó mucho y lo hice público y de código abierto, cualquiera puede usarlo y construir herramientas eléctricas de IA fácilmente. Mira esto ahora. Ya no necesitaremos este módulo, ya no necesitaremos el módulo JS Helpers. Necesitamos el prompt y la función GT weather sample, y simplemente aquí, instale LM más simple y asegúrese de que está en el entorno virtual. Simplemente pip instálalo, espera un poco y perfecto Ahora, desde simple LM punto lenguaje punto LLM importar LLM y proveedor LLM Mira esto. Ahora, voy a crear una nueva instancia LM, y seleccionaré el proveedor como IA abierta y el nombre del modelo como GPT cuatro Ahora tengo esta instancia. Puedo usarlo para generar texto con IA. Lo que es realmente agradable, simplemente puedes cambiar el proveedor a Gemini o autoantrópico, y el código se quedará como está Esta es la principal ventaja de usar LM simple. Con una instancia, puedes crear la aplicación, y si quieres cambiar el modelo, simplemente cambias el proveedor aquí. De todas formas, así y AI, y vamos a ir aquí abajo, la función generar y decir generar respuesta y pasar los mensajes, igual mensajes, y ya no necesitamos el modelo aquí ya que se define con la instancia, y luego simplemente podemos introducir también las herramientas JSN, que se construye dentro de esta biblioteca Tenemos un conjunto de herramientas, ayudantes de JS, importamos extraer JS del texto y simplemente reemplazarlo con esta función aquí Con esta biblioteca, ahora, no necesitas todos estos módulos alrededor de tu script Python. Vamos a probarlo. Voy a correr esto y ver qué va a pasar y perfecto. Funciona como antes. Entonces ahora no necesitamos todos estos módulos, como mencioné, solo hace falta importar la biblioteca y usar las herramientas. A lo mejor piensas ahora, no es tan gran cosa. Puedo crear estos archivos, pero verás más adelante cuando crees más proyectos y herramientas de IA y así sucesivamente, verás cómo esto va a cambiar las reglas del juego Créeme, basado en la experiencia real, más de 100 proyectos de IA, esto cambiará la forma que interactúas con los modelos de lenguaje. 11. Cómo construir un agente de IA para auditores SEO: Hola a todos, espero que hayan disfrutado este curso sobre la creación agentes de IA desde cero con Python. Ahora, en esta conferencia, vamos a construir un ejemplo del mundo real. Algo realmente súper interesante. Construiré un agente, un agente de IA que pueda responder preguntas sobre páginas web. Es un agente auditor SEO. Por lo que tendrá acceso directo a las páginas web, y podrás preguntar lo que quieras, por ejemplo, Cuántas fotos hay en esta página web. Cómo optimizar esta página web para que se posicione en Google. Cualquier cosa que quieras. Es como tu asistente de SEO. SEO significa optimización de motores de búsqueda, y es la técnica utilizada para optimizar tu sitio web, por lo que podemos clasificar en Google o motores de búsqueda para obtener tráfico orgánico. Construyamos juntos el agente de IA más antiguo de SEO. Seguro que esto te va a encantar. Es súper interesante. Empecemos. Entonces aquí hay un nuevo proyecto. Voy a empezar de nuevo desde cero para que podamos revisar todo lo que tomamos y verás ahora la importancia y el poder de LM más simple en este proyecto. Crea un nuevo archivo Python. Este es el archivo principal, y vamos a crear el archivo prompt, pen el terminal. Vamos a crear un nuevo entorno virtual. No te preocupes por los códigos. Todo se adjuntará con el curso. Por favor, concéntrese ahora. Entiende el concepto para que podamos construir cualquier agente que quieras. Vamos a activar. Bien. Perfecto. Instalar LM más simple, Bien, perfecto. Ahora agreguemos aquí nuestra pasta APIke, y ahora comencemos Primer paso, voy a importar LM más simple y voy a crear una nueva instancia como lo hicimos en la última conferencia. Ahora tenemos esto que extrae JS del texto, y tenemos la instancia generar texto con GPT para API Ahora, antes de seguir adelante, entendamos el asiático que vamos a construir. Como mencioné, se trata de un agente auditor SEO. Así podemos preguntarle cualquier cosa sobre cualquier página web y puede acceder a los datos de la página web. Puede leer la página web y responder en base a eso. Entonces, ¿cuál es nuestra acción externa, la función externa? Vamos a definirlo. Digamos acciones, por ejemplo, punto Y, y esta función es simplemente una función que puede generar un informe SEO para cualquier página web. Entonces para hacer eso, estaré usando una API simple que desarrollé. Se llama la herramienta de análisis SEO del sitio web. Si entras en la API rápida y la pruebas, por ejemplo, este es mi sitio web, test end point, verás que obtenemos reput en profundidad, los encabezados HTTP, los títulos, la descripción, recuento de palabras, imágenes, todo Entonces los datos sobre cualquier página web Perfecto. Entonces ahora, voy a crear una función que llame a esta API y devuelva la auditoría SEO. Ahora, aquí viene el poder de LM simple. Hemos incorporado un módulo API rápido en esta biblioteca. Así podemos llamar a cualquier API en API rápida con esta clase simple. Entonces voy a definir esta función. Se necesita una URL. Voy a proporcionar el APURL desde la API rápida. Veamos, esta es la URL, y tenemos el parámetro como URL, puedes ver, defino los parámetros, y luego llamo a la API con esta sencilla función y devuelvo la respuesta. Ya puedes ver lo simple que LM facilitó mucho las cosas ahora y creamos la función fácilmente con la ayuda de LM simple. Perfecto, tenemos la acción. Ahora es el momento de definir el prompt. Por supuesto, antes preparé esto. Simplemente no perder el tiempo ahora escribiendo el prompt completo. Vamos a pegarlo y explicarlo brevemente. Mira esto. Es casi la misma acción pensamiento acción respuesta, la misma plantilla de reacción, pero ahora tenemos diferente acción disponible. Tenemos la página get SCO reput que puedes ver, y tendremos una URL como parámetro Y esta es la sesión de ejemplo. Esto es muy importante. Mira esto. Es el encabezado optimizado para la palabra clave marketing en la página web nas.com es mi sitio web El pensamiento debería generar primero un reput completo de SCO para la página web Llama a esta función y luego con base en el reporte, responderá a tu pregunta. Ya verás lo interesante que es esto? Este es nuestro aviso. Volveré a la sesión principal al script principal, e importaré la función de acciones, importaré, obtendré un reporte de página CO, y de import axt y prompt, perfect Tenemos la acción ahora, tenemos el prompt, y tenemos nuestras funciones, tenemos la instancia LM, estamos listos para crear el agente. Entonces a partir de ahora, el código es casi el mismo. Yo lo pegaré. Verás ahora tenemos la consulta del usuario, que es la pregunta que quieres hacer. Por ejemplo, cuántas imágenes hay en la siguiente página web. Los mensajes, los definí, luego el recuento de turnos, el bucle. Te acuerdas del bucle. Entonces tenemos la respuesta del agente. Al usar ahora la instancia del elemento para donar la respuesta y pasar los mensajes, y luego simplemente agregar la respuesta Simplemente tenemos la respuesta del agente, y luego extraemos la acción y verificamos si está disponible. Entonces necesitamos definir las acciones disponibles en recordar esta lista, vamos a definirla. Vamos a ir aquí y definirlo disponible. Acciones, aquí está la acción. Ahora, creo que todo es perfecto. Yo escribo el mensaje. Bien. Vamos a probar esto. La pregunta ahora es ¿cuántas imágenes hay en la siguiente página web? Vamos a probarlo Python main BY Runs tenemos un error API debe ser proporcionada para pi. Tenemos que proporcionar el APK rápido también aquí, agregó este es mi AP Ike y lo puedes encontrar, por cierto, aquí, el APIke rápido Volvamos a nuestro código principal Despejemos e inténtelo de nuevo. Ahora, espero que funcione. Función, perfecto, generando reporte, bucle dos. Hay ocho imágenes en esta página web. Perfecto. Hagamos una pregunta diferente. Cuál es la velocidad de respuesta de esta página web. Vamos a correr. La respuesta final es de 0.08 segundos. Vaya, de alguna manera rápido. Entonces puedes ver ahora tenemos este agente de IA que es capaz de responder cualquier duda relacionada con tus páginas web con la ayuda de una función externa. Este es nuestro agente de IA de auditoría SEO. Recuerda que este es el back end de nuestro agente. Ahora estamos interactuando con la terminal. Este puede ser un gran proyecto para tal vez una herramienta en tu sitio web como explicamos en mis otros cursos sobre la construcción de herramientas de IA en WordPress, o tal vez la construcción de un bot de chat. Nuevamente, en WordPress, impulsado por un asistente como este de aquí. Cuando creas este agente, y por cierto, tenemos infinitas posibilidades aquí, podemos crear cualquier agente que quieras que pueda ayudarte en cualquier cosa o brindarte esto como un servicio a tus clientes en tu propia página web, a tus propios clientes, a tus propios visitantes. Sería algo súper útil para tu negocio o para ti mismo, o tal vez para ser más productivo en lo que quieras. 12. ¿Qué sigue después?: Por lo que llegamos al final de este curso. Espero que lo hayan disfrutado para aprender a construir agentes de IA con la ayuda de react prompt y Python totalmente desde cero. Ahora, ¿qué sigue? Lo más importante que debes hacer es practicar, ir y construir tu propio agente. Puedes obtener todos mis códigos. Todo está adjunto, descargado e intenta modificarlo, cámbialo para construir tu propio agente personalizado No olvides compartirlo todo con nosotros con la comunidad. Podemos compartir ideas, podemos. Estoy aquí para ayudarte en cualquier momento si te enfrentas algún problema, publica tus dudas. Estoy aquí casi todos los días. Lo segundo es que voy a estar publicando más proyectos AI Asian casi todos los meses en mi videoteca en mi página web. Si te gusta unirte, puedes ir allí y continuar y ver más ejemplos y más proyectos cada mes. Gracias y ver otro curso.