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.