Fundamentos de los Agentes Inteligentes y LangChain

1

Conexión a Huggingface GPT-2 en Google Collaboratory

2

Desarrollo de Aplicaciones Conversacionales con LangChain

3

Creación de Agentes Inteligentes con LangChain

4

Instalación y uso de API Keys para modelos de lenguaje en Google Collab

Quiz: Fundamentos de los Agentes Inteligentes y LangChain

Chat Models y Prompt templates

5

Chat Messages con OpenAI

6

Conexión y uso de modelos de chat con LangChain y OpenAI

7

Uso de Modelos de Google AI Gemini en LangChain

8

Creación de Plantillas de Prompts en LangChain

9

Técnicas de Few-Shot Prompting en Modelos de Lenguaje

Quiz: Chat Models y Prompt templates

Cadenas en LangChain

10

Creación de Cadenas en LangChain con String Output Parser

11

Gestión de Historial de Chat con LangChain

12

Integración de Herramientas Claves en LangChain: Runnable, OutputParser, Streaming

13

Creación de Chatbots Inteligentes con Memoria Conversacional

14

Cadena de Procesos para Memoria Conversacional con GPT-3.5 Turbo

Quiz: Cadenas en LangChain

Carga de documentos en LangChain

15

Carga y procesamiento de archivos HTML con LangChain y Beautiful Soup

16

Carga de PDFs y CSVs en LangChain con PyPDF y CSV Loader

17

División de Texto en Fragmentos con TextSplitters en LangChain

Quiz: Carga de documentos en LangChain

Retrieval-augmented generation (RAG)

18

Gestión de Vectores de Texto con Chroma y LangChain

19

Embeddings y su aplicación en modelos de lenguaje y RAG

20

Pinecone: Implementación de Bases de Datos Vectoriales Escalables

21

Creación de Chatbot RAG con LangChain y ChromaDB

22

Construcción de un Asistente Conversacional con LangChain y RAG

Quiz: Retrieval-augmented generation (RAG)

Agentes en LangChain

23

Creación de Agentes en LangChain con Tavily Search y OpenAI

24

Integración de Toolkits en LangChain para Modelos de Lenguaje

25

Creación de Agentes Inteligentes con LangChain y Memoria

Quiz: Agentes en LangChain

Ecosistema de LangChain

26

Creación y Gestión de Aplicaciones con LangChain, LangSmith y LangGraph

No tienes acceso a esta clase

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

Construcción de un Asistente Conversacional con LangChain y RAG

22/26
Recursos

RAG es un enfoque de generación de respuestas donde un language model combina su conocimiento preentrenado con la capacidad de recuperar información relevante desde un vector store. En lugar de generar respuestas basadas solo en los datos con los que fue entrenado, el modelo busca y extrae fragmentos de texto relevantes almacenados externamente y genera respuestas más precisas y contextuales. Esto es especialmente útil para tareas que requieren acceso a información actualizada o específica, como documentos internos, informes empresariales, o investigaciones científicas.

Componentes Clave en el Proceso de RAG

  1. Language Model (Modelo de Lenguaje): Es el modelo que genera las respuestas. Puede ser un modelo preentrenado como GPT-4 o una opción open-source como los modelos de Hugging Face. Este modelo actúa como la base del asistente conversacional y es quien finalmente forma las respuestas para el usuario.
  2. Vector Store: Es una base de datos que almacena los documentos en forma de vectores. Los documentos son fragmentados en partes más pequeñas (conocidos como chunks), y cada fragmento se convierte en un vector numérico que representa el significado semántico de ese texto. En esta clase hemos utilizado ChromaDB para gestionar este proceso.
  3. Contexto en las Respuestas: Además de utilizar la memoria del historial de la conversación, se recuperan fragmentos relevantes desde el vector store. Esto asegura que la respuesta no solo sea coherente con la conversación, sino que también esté basada en documentos externos que el asistente pueda consultar.
  4. Historial de Conversación: Este componente guarda las interacciones anteriores entre el usuario y el asistente. Esto permite que el asistente no solo recuerde las preguntas recientes, sino que también genere respuestas más contextuales. En aplicaciones reales, esto es útil para mantener la coherencia en conversaciones largas o repetidas.
  5. Prompts Personalizados: Al configurar prompt templates, se puede definir el rol del asistente, indicando cómo debe responder, el tono que debe usar, y el formato en que debe entregar las respuestas. Este tipo de configuración permite personalizar la experiencia de usuario.

¿Cómo Funciona el Proceso de Recuperación y Generación?

  1. Input del Usuario: El usuario ingresa una pregunta o consulta. Este input es procesado y enviado al retriever, que se encarga de buscar en la base vectorial los fragmentos más relevantes.
  2. Búsqueda en el Vector Store: El retriever utiliza la pregunta del usuario para encontrar los fragmentos o chunks más cercanos en términos de similitud semántica. Estos fragmentos son recuperados desde el vector store, en este caso ChromaDB.
  3. Generación de la Respuesta: El modelo de lenguaje toma los fragmentos recuperados y los utiliza como contexto adicional para generar la respuesta. Esta combinación de información permite que las respuestas estén basadas en información más reciente o específica, extraída de documentos cargados en el vector store.

Vector Stores y ChromaDB

Un Vector Store como ChromaDB es una base de datos optimizada para almacenar y gestionar vectores. Estos vectores son representaciones numéricas de fragmentos de texto que han sido vectorizados utilizando modelos de embeddings, como los de OpenAI. La ventaja de usar un vector store es que permite realizar búsquedas semánticas rápidas y precisas, recuperando los fragmentos más cercanos a la consulta del usuario.

  • Fragmentación del Texto (Chunking): Para almacenar documentos en un vector store, es necesario fragmentar el texto en partes más pequeñas (chunks). Esto asegura que los fragmentos sean manejables y permite una búsqueda más precisa cuando el usuario realiza una consulta.
  • Metadata en los Fragmentos: Cada fragmento almacenado en el vector store contiene metadata adicional, como el documento de origen y la página de donde fue extraído. Esto facilita la recuperación de la información precisa.

El Rol del Historial de Conversación

La memoria del historial de conversación juega un papel crucial en un asistente conversacional que necesita recordar interacciones previas para dar respuestas más coherentes y útiles. En este proyecto, cada vez que el usuario hace una consulta, se guarda el contexto de la interacción, permitiendo al asistente mantener un seguimiento de la conversación.

  • Memoria Contextualizada: Al utilizar la memoria, el asistente puede recordar el nombre del usuario, el tema que se ha discutido previamente, o cualquier otro detalle relevante. Esto mejora la experiencia del usuario, haciendo que las interacciones sean más naturales y personalizadas.

Prompts Personalizados y su Importancia

Los Prompt Templates permiten guiar al modelo en la forma en que debe responder. Este prompt incluye:

  • El rol del asistente: Puede ser, por ejemplo, un experto en inteligencia artificial o un asesor de viajes.
  • El formato de la respuesta: Esto puede incluir el tono de la respuesta, la inclusión de emojis, o la forma de estructurar la información.
  • Instrucciones adicionales: Como la necesidad de basarse en documentos previamente cargados en el vector store o evitar inventar información.

Aplicaciones de RAG en el Mundo Real

El enfoque RAG es especialmente útil en escenarios donde el acceso a información actualizada o específica es esencial. Algunos casos de uso incluyen:

  • Consultas sobre Documentación Técnica o Corporativa: Empresas que necesitan acceso rápido a manuales, informes, o políticas internas.
  • Asistentes de Investigación Científica: Donde se requiere acceso a publicaciones científicas o estudios recientes.
  • Sistemas de Atención al Cliente: Capaces de consultar bases de datos de conocimiento para resolver problemas técnicos en tiempo real.

Aportes 6

Preguntas 3

Ordenar por:

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

pueden subir el notebook de la clase, los cortes de cámara hacen complicado ver el código que se está escribiendo
### Relación entre los conceptos * **Chatbot RAG** es el sistema general que combina la recuperación de información con la generación de respuestas utilizando un modelo de lenguaje. * **Prompt templates** proporcionan la estructura y formato adecuado para que el chatbot formule preguntas o solicitudes al modelo de lenguaje de manera coherente, integrando tanto la consulta del usuario como la información recuperada. * **Cadenas (Chains)** son el mecanismo que permite que el chatbot RAG conecte múltiples pasos, como la recuperación de información y la generación de respuestas, en un flujo de trabajo bien organizado. * **Memoria** permite al chatbot mantener el contexto de la conversación a lo largo del tiempo, recordando interacciones anteriores y utilizando ese conocimiento para mejorar la relevancia de las respuestas.
Pueden poner el book para poder revisarlo
wooow!!! que clase tan genial.
hubiera estado bueno ver el problema que te sucedio en video, porque así solo me lo imagino y me pierdo. Ojala lo suban o algo así como extra
Hola, tengo un error en el ultimo paso [/usr/local/lib/python3.10/dist-packages/langchain\_core/prompts/base.py](https://localhost:8080/#) in \_get\_document\_info(doc, prompt) 384 385 def \_get\_document\_info(doc: Document, prompt: BasePromptTemplate\[str]) -> dict: \--> 386 base\_info = {"page\_content": doc.page\_content, \*\*doc.metadata} 387 missing\_metadata = set(prompt.input\_variables).difference(base\_info) 388 if len(missing\_metadata) > 0: AttributeError: 'tuple' object has no attribute 'page\_content'````python ``` in \<cell line: 1>() \----> 1 conversational\_rag\_chain.invoke( 2 {'input': 'Cuales son las ventas del último trimestre?'}, config={'configurable':{'session\_id': 'abc1'}} 3 )\['answer'] ````--------------------------------------------------------------------------- AttributeError Traceback (most recent ca