No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Agentes inteligentes de LangChain

3/26
Recursos
  1. Los Agentes como Sistemas Autónomos

A diferencia de los simples chatbots que se limitan a responder preguntas, los agentes en LangChain son capaces de percibir, razonar y actuar de manera autónoma. Esto significa que no solo interactúan con el usuario, sino que también toman decisiones basadas en entradas, procesan información y ejecutan acciones de forma inteligente.

  • Percepción: El agente toma información del entorno, que puede ser la entrada de texto del usuario o información de sensores si hablamos de agentes físicos, como un robot. En LangChain, los agentes perciben a través de modelos de lenguaje como GPT-3, que analizan y comprenden los datos de entrada.
  • Razonamiento: Una vez que el agente ha percibido la información, debe interpretarla para tomar una decisión. Este razonamiento puede involucrar consultas a bases de datos, cálculos matemáticos o interacciones con APIs para obtener información adicional.
  • Acción: Finalmente, el agente actúa de acuerdo con el análisis realizado. Por ejemplo, puede realizar una búsqueda en internet, ejecutar una orden a través de una API o interactuar con otros sistemas automatizados para resolver un problema.
  1. Herramientas Integradas en LangChain

Uno de los puntos fuertes de LangChain es la capacidad de integrar diferentes herramientas y recursos externos que expanden las capacidades del agente. Algunas herramientas populares incluyen:

  • APIs: Puedes integrar APIs externas como Google Search, Wolfram Alpha o sistemas específicos como bases de datos empresariales. Esto permite a los agentes realizar tareas complejas como obtener datos en tiempo real, hacer cálculos avanzados o ejecutar búsquedas específicas.
  • Modelos de Lenguaje: Además de utilizar modelos como los de OpenAI y Hugging Face, LangChain permite que estos modelos sean usados en cadenas (chains) para construir respuestas más detalladas y precisas. Esto incluye generar texto, clasificar información o resumir documentos, lo que es crucial para aplicaciones que requieren gestión de grandes volúmenes de datos.
  • Bases Vectoriales: Las bases vectoriales son bases de datos optimizadas para gestionar información semántica, lo que permite buscar y organizar grandes volúmenes de texto según su similitud. Estas bases son fundamentales cuando trabajamos con modelos de lenguaje que necesitan acceder a datos específicos, como en asistentes personalizados que consultan bases de conocimiento internas.
  1. LangChain Core vs. LangChain Community

En la estructura de LangChain, es útil diferenciar entre el núcleo (LangChain Core) y las integraciones externas (LangChain Community). Esto te permitirá entender cómo conectar los diferentes componentes que usarás para crear tus agentes:

  • LangChain Core: Se refiere a las funcionalidades fundamentales de LangChain, como los Large Language Models (LLMs), las bases vectoriales y las chains que son el corazón de la plataforma. Estos elementos son esenciales para diseñar la lógica de tu aplicación, ya que conectan los diferentes modelos y procesos que construyen la cadena de razonamiento de los agentes.
  • LangChain Community: Aquí es donde entra en juego la conectividad con otras tecnologías. Este ecosistema incluye integraciones con proveedores de modelos de lenguaje (OpenAI, Hugging Face, Google Cloud, entre otros) y herramientas externas, lo que amplía enormemente las posibilidades de tu agente.
  1. Lenguaje de Expresiones en LangChain (LCEL)

Un aspecto clave de LangChain es su lenguaje de expresiones propio, que permite orquestar la interacción entre componentes. Este lenguaje es conocido como LangChain Expression Language (LCEL) y se utiliza para definir las interacciones y el flujo entre los diferentes pasos de una chain. Esto es esencial cuando necesitas diseñar agentes que ejecuten múltiples tareas en secuencia o en paralelo, utilizando varias herramientas o fuentes de datos.

  • Uso de LCEL: Te permite encadenar diferentes procesos y recursos, asegurando que los agentes tomen decisiones basadas en múltiples entradas y condiciones. Por ejemplo, puedes definir que un agente consulte una base de datos interna para buscar información específica, luego utilice un modelo de lenguaje para interpretar los resultados, y finalmente envíe un correo electrónico al usuario con la respuesta.
  1. Memoria en Agentes: Mejora en Experiencia de Usuario

La memoria es un componente esencial cuando se trata de crear agentes inteligentes y coherentes en diálogos largos o recurrentes. En LangChain, la memoria permite que el agente recuerde las interacciones previas con el usuario, mejorando la continuidad de las conversaciones y ofreciendo respuestas más personalizadas.

  • Memoria a corto plazo: Esta es útil en interacciones donde el agente necesita recordar lo que se ha hablado en los últimos minutos u horas. Por ejemplo, en un chatbot de atención al cliente, recordar una pregunta hecha minutos antes puede ayudar a ofrecer una solución más rápida y precisa.
  • Memoria a largo plazo: En aplicaciones donde las interacciones se desarrollan a lo largo del tiempo, la memoria a largo plazo permite al agente recordar detalles previos, como preferencias o problemas pasados, para ofrecer una experiencia más personalizada.
  1. El Proceso de Construcción de un Agente

Para construir un agente en LangChain, el proceso general involucra varias etapas clave:

  • Selección del modelo de lenguaje: Este es el primer paso. Dependiendo del caso de uso, puedes elegir entre modelos de lenguaje abiertos como los de Hugging Face o soluciones comerciales como OpenAI. Cada modelo ofrece diferentes capacidades y especializaciones, por lo que es importante seleccionar el que mejor se adapte a las necesidades de tu aplicación.
  • Diseño del prompt: Los prompts son fundamentales para guiar al modelo en la generación de respuestas adecuadas. LangChain proporciona plantillas de prompts, pero también puedes personalizarlos para ajustarlos a tu caso de uso específico.
  • Integración de bases de conocimiento: Añadir bases de datos vectoriales o fuentes de datos externas permite al agente acceder a información más rica y especializada. Esto es esencial cuando se trata de aplicaciones que requieren precisión en las respuestas, como asistentes empresariales o sistemas de soporte técnico.
  • Construcción de las chains: Las chains son las que permiten conectar todos estos componentes en secuencias lógicas de pasos, integrando razonamiento, memoria y herramientas. Este es el núcleo de la inteligencia del agente.
  • Pruebas y optimización: Una vez construido el agente, es importante realizar pruebas exhaustivas para asegurarse de que interactúa correctamente con los usuarios y toma decisiones adecuadas en diversos escenarios.

Aportes 30

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

me gustaria construir un agente que planee viajes ,de tal manera que de manera conversacional genere un presupuesto,busque hospedaje,busque trasporte y haga un itinerario
Un Agente querealice pagos automáticos de impuestos, servicios y de personal de una Empresa.
**Base de datos vectorial** => sistema de almacenamiento y búsqueda diseñado para manejar **representaciones vectoriales** de datos, en lugar de trabajar con datos como números o texto, está optimizada para almacenar y gestionar representaciones numéricas de datos más complejos como imágenes, texto o sonidos, y permiten realizar búsquedas de manera más eficiente. #### ¿Cómo funcionan? 🔍 **Representación vectorial**: a través de técnicas como embeddings, donde cada dimensión del vector representa una característica del objeto o concepto. **Ejemplo**: Un documento de texto puede representarse como un vector de varias de dimensiones, donde cada dimensión refleja la relación con otra palabra. **Búsqueda aproximada (nearest neighbors)**: permite realizar búsquedas basadas en similitud, en lugar de buscar por coincidencias exactas, buscan vectores cercanos en el espacio de características. **Ejemplo**: En una DB de imágenes, puede buscar una imagen similar a otra (o "parecida") basándote en la cercanía de sus vectores.
Actualmente identifico oportunidades de mejora en diferentes áreas, sobre las cuales un agente puede generar valor: - Atención en restaurantes (chat de pedidos) - Turismo: planeación de itinerarios, presupuestos de rutas, transporte aéreo y terrestre - Servicio al cliente para venta de productos en general
En este curso se trata sobre la construcción de agentes ¿Y como sería la construcción de un equipo de agentes? En el siguiente esquema presento una idea de sistema mejorado de razonamiento construido a partir de dos agentes. Básicamente un agente emite un razonamiento y otro agente lo critica entonces el primer agente toma la crítica que ha hecho el segundo agente, el agente adversarial y apartir de esta crítica mejora el primer razonamiento. Se podría ajustar el número de loops del proceso. ![](https://static.platzi.com/media/user_upload/image-f3b573df-01bf-4651-80d2-f3b5d1141771.jpg)
Me gustaría crear un agentes para ayudarme a entender y poder contribuir en un open-source
Estos asistente virtuales que no responda preguntas sino que también tome decisiones por nosotros ya sea ejecutar acciones y busca información en tiempo real, al final estas son entidades autónomas capaces de percibir, razonar y actuar utilizando herramientas externas. ### Guía Conceptual [Conceptual guide | 🦜️🔗 LangChain](https://python.langchain.com/v0.2/docs/concepts/) LangChain v0.2 es un marco modular diseñado para construir aplicaciones que usan modelos de lenguaje. Se compone de varios paquetes como: * **langchain-core**: Contiene los componentes principales como los modelos de lenguaje (LLMs), almacenes vectoriales y mecanismos de recuperación. * **langchain**: Gestiona las cadenas o Chains y agentes que permiten la interacción y ejecución de flujos complejos. * **langchain-community**: Ofrece integraciones de terceros que permiten conectar LangChain con herramientas externas. ejem: modelos OpenAI, Hugging Face * **LangChain Expression Language (LCEL)**: Facilita la combinación de diferentes componentes de manera flexible. Basicamente nosotros vamos a utilizar un lenguaje de expresión que le pertenece solamente Langchain para poder agarrar cada una de las cadenas o integraciones y finalmente poder construir la agente * **Runnable**: Una interfaz para crear cadenas personalizadas. esta es estandar.métodos asincrónicosEl **tipo de entrada** y el **tipo de salida** varían según el componente:ComponentInput TypeOutput TypePromptDictionaryPromptValueChatModelSingle string, list of chat messages or a PromptValueChatMessageLLMSingle string, list of chat messages or a PromptValueStringOutputParserThe output of an LLM or ChatModelDepends on the parserRetrieverSingle stringList of DocumentsToolSingle string or dictionary, depending on the toolDepends on the tool * `stream` : transmitir fragmentos de la respuesta * `invoke` : llamar a la cadena en una entrada * `batch` : llamar a la cadena en una lista de entradas * `astream` : Stream back: fragmentos de la respuesta asíncrona * `ainvoke` : llamar a la cadena en una entrada asíncrona * `abatch` : llamar a la cadena en una lista de entradas asíncronas * `astream_log` : retroceder los pasos intermedios a medida que se producen, además de la respuesta final * `astream_events` : eventos **de flujo beta** a medida que ocurren en la cadena ### Agentes [Conceptual guide | 🦜️🔗 LangChain](https://python.langchain.com/v0.2/docs/concepts/#agents) Para los agentes uno de los recursos bibliograficos mas importantes que tenemos que estudiar es “ARTIFICIAL INTELLIGENCE: A Modern Approach de Peter Norvig & Stuart J. Russell” Aqui vemos expuesto lo que es el diagrama de un agente: * Un agente interactúa con un ambiente de donde recibe información mediante ciertos sensores y éste puede tomar acciones a partir de cada uno de estos datos información. Ahora un agente puede ir desde la creación de un Chat Bot o un asistente hasta lo que es un robot recibe información mediante diferentes sensores como puede ser una cámara o un sensor térmico etc. y tomar una acción como puede ser mover alguna de sus partes![image.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/8b35fc24-3575-44a3-8fc1-205b2e9e4434/e516e09e-3f49-4800-b47e-9ac55e1a4723/image.png)Por ejemplo queremos un asistente que responda preguntas frecuentes, para ello lo primero que hacemos es percibir las preguntas técnicas frecuentes y luego razona buscando respuestas en bases de datos internas o manuales técnicos y finalmente actuamos actuamos accediendo a las APIs correctas para resolver problemas o o proporcionar instrucciones. * Instalacion de herramientas Python 3.9 en adelante, Anaconda venv, OpenAI API Key, Pinecone user, VS Code, LangChain * Seleccionar un LLM esto lo vamos a hacer en langchain con un Chat Models y podemos utilizar lo que es OpenAI, Hugging Face o Google, ademas podemos añadirle un prompt en donde Langchain ya tiene diferentes templates para nosotros también podemos crear uno de acuerdo a nuestras necesidades.![image.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/8b35fc24-3575-44a3-8fc1-205b2e9e4434/e8d13889-4327-4679-805a-b6fa0bc39bbe/image.png) * Al momento que estemos interactuando o creando algún Chat Bot nosotros vamos a poder utilizar una base vectorial donde tenemos información que le pertenece solamente a nuestro caso alimentamos el modelo lo consultamos y vamos a poder construir algunas respuesta. Las Chains son la parte más importante ya que nos permite comunicar o unir cada uno de estos procesos para poder Crear lo que es el agente. para estos usaremos el lenguaje LCEL que es propio de langchain.![image.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/8b35fc24-3575-44a3-8fc1-205b2e9e4434/877833c5-53ae-40cc-8956-3b4f461fafec/image.png) * Construcción del agente donde nosotros nosotros vamos a poder añadir diferentes herramientas que ya tienen Langchain o que nosotros necesitemos para poder construirlo.![image.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/8b35fc24-3575-44a3-8fc1-205b2e9e4434/ce3e68b2-4664-4b71-99a2-bebc4561c117/image.png) ![image.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/8b35fc24-3575-44a3-8fc1-205b2e9e4434/6b1ab126-ee27-42b4-b785-fa596f7a3e85/image.png)
Muchas veces he pensado como sería hacer un agente que me busque trabajo por Internet.
crearia un equipo de asesoramiento para los diferentes ambitos de mi vida. Compuestos por un asesor de image, un asesor de salud, un asesor de finanzas, un asesor de formacion academica, un optimizador de decisiones y reduccion de riesgos
Me gusta el uso de los "pizarrones" con los diagramas son excelentes!
Me gustaría crear un duo de agentes adversariales para programación. El usuario en un promp especificaría que quiere programar y habría un agente que definiría unos tests que tendría que pasar el código y otro agente que escribira el código que pasara los test. El agente que escribe el código estaría en un sandbox de tal manera que pudiera lanzar los test y reentrenarse con retroalimentación.
Me parece bien una herramienta que analice tu manejo de cuentas bancarias y segun los movimientos comience a sugerir oportunidades de ahorro e inversion.
muy interesante esta clase!!
Sí, un agente en LangChain puede alimentarse con documentos en formato PDF. Para hacerlo, es necesario extraer el texto del PDF y estructurarlo de manera que sea comprensible para el agente. Esto se puede lograr mediante bibliotecas de Python como PyPDF2 o pdfplumber, que permiten leer y manipular el contenido de archivos PDF. Una vez que el texto está disponible, puede ser utilizado como entrada en la construcción de un modelo de agente inteligente.
Quiero construir un equipo de trabajo digital, para poder realizar un trabajo en tiempo real, y mientras ellos están haciendo algo, yo sigo haciendo otras cosas.
Veo que en la documentación ya se hablaba de Langgraph. Estaría bueno un curso de dicha herramienta.
Quiero crear una solución que tenga toda la base de conocimiento de nuestros agentes humanos y que los puedan reemplazar en el turno de la noche y los domingos.
Quiero desarrollar un agente que evalúe la experiencia de un candidato respecto a una determinada oferta de trabajo.
me gustaria uno agente pueda asesorar a emprendedores que estrategia en marketing es apta para su negocio
Me gustaria UN agente que conteste las llamadas spam, muchas veces muchas de estas llamadas son spam pero de vez en cuando SE escapa alguna que SI es importante. entonces poder contestar la llamada y que esta defina si es necesario contestarla
Me gustaría desarrollar un agente que analice los intereses, el background, y los cursos que estudiantes están tomando en Platzi, e hiciera un cluster de estos.
Un agente que genere entradas de blog para publicar con un botón en mi sitio web, basado en conocimiento que se genera semana con semana dentro de mi base de datos.
Estamos desarrolando agentes con copilot y queremos integrarlos con este tipo de agentes, para la gestion empresarial
Me gustaría entrenar mi agente con la información financiera y comercial de mi empresa, de ese modo poder preguntar en lenguaje natural cosas como, cuál fuel el cliente con mayor costo logístico de los últimos 3 meses, cuáles fueron los items que presentaron una menor rentabilidad, cómo viene el ROE comparado con los últimos x meses.
Un agente que se conectara a mi cliente de correo electrónico y me hicera un resumen de toda la correspondencia diaria y me la narrase después de sonar el despertador por la mañana.
Hola Carla! Cual es el setting o tooling que se requiere en VC para desarrollar este curso? Observo que puedes interactuar con los request.
Un agente que analice campañas de marketing y muestre las oportunidades de mejoras de las mimas. Como cambios de keywords o cambios de creativos.
crearia un agente profesor de agentes, este agente me ayudaria para desarrollar un agente personalizado para cada industria, por ejemplo industria textil, minera, mecanica, etc, este agente principal o maestro se puede alimentar de noticas, articulos, estudios etc
un agente predictivo de operaciones industriales.
Agent Sub-Zero🤭