Introducción a LangChain

1

Uso de embeddings con LangChain para sistemas de respuesta.

2

Creación de Chatbots con Langchain en Python

3

Cargar modelos de Home and Face en Google Colab con Transformers

4

Programación de Modelos GPT-3.5 y DaVinci con LangChain

5

Creación de PromptTemplates en LangChain

6

Uso de Cadenas Language Chain para Modelos de Lenguaje

7

Sumarización de PDFs con LangChain y modelos de OpenAI

8

Búsqueda de respuestas con modelos de lenguaje y bases de datos Chroma

9

Técnicas de limpieza de texto con Python y Regex

Quiz: Introducción a LangChain

Casos de uso de LangChain

10

Chatbots con LLMs para atención al cliente eficiente

11

Privacidad de Datos en Aplicaciones con LLMs

Quiz: Casos de uso de LangChain

Manejo de documentos con índices

12

Creación de índices en Langchain para consultas precisas

13

Clase Document en Langchain: Creación y Uso de Esquemas Básicos

14

Carga y Procesamiento de PDFs y Word con Document Loaders

15

Leer y convertir archivos CSV a DataFrame de Pandas con LangChain

16

Creación de Cargadores de JSON-L en Python

17

Partición de Documentos con TextSplitter de Langstream

18

Creación de un chatbot con LangChain y OpenAI

19

Índice Vectorial con Langchain y Chroma para Consultas AI

Quiz: Manejo de documentos con índices

Embeddings y bases de datos vectoriales

20

Uso de Embeddings para Búsqueda Vectorial Eficiente

21

OpenAI Embeddings: Creación y Uso en Procesamiento de Texto

22

Creación de Embeddings Open Source con Sentence Transformers

23

Entrega de Documentos con ChromaDB

24

Creación y Manejo de Bases de Datos Vectoriales con Chroma

25

Creación de un Retriever en Chroma para Bases de Datos Vectoriales

26

Interacción con IA usando Transformadores y Almacenamiento en Vectores

27

Creación de Cadena QA con RetrievalQA en LangChain

Quiz: Embeddings y bases de datos vectoriales

Chats y memoria con LangChain

28

Memoria de Corto Plazo en Chatbots: Implementación en Python

29

Creación de bloques de mensajes para modelos de chat con LangChain

30

Variables dinámicas en promts con Langstean

31

Inyección de Memoria en Modelos de Chat con LangChain y OpenAI

32

Gestión de ventanas de memoria en chatbots con Python

33

Programación de Chatbots con Resumen de Memoria en Python

34

Memoria Avanzada para Chatbots: Buffer y Tokens en Python

35

Programación de Chatbots con Memoria de Entidades en Ventas

36

Memoria y recuperación en chatbots: Implementación en Python

Quiz: Chats y memoria con LangChain

Evolución del uso de LLM

37

Modelos de Lenguaje: Integración y Uso de APIs Avanzadas

No tienes acceso a esta clase

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

Curso de LangChain

Curso de LangChain

Omar Espejel

Omar Espejel

Modelos de Lenguaje: Integración y Uso de APIs Avanzadas

37/37
Recursos

Créditos del Curso: Curso de Desarrollo de Aplicaciones de IA con LangChain: Chatbots
Profe: Omar Espejel
School Owner: Carlos Alarcón
Course Director: Miguel Torres
Audiovisual Creator: Candela Ocaranza
Editor: Pablo Valès
Post de audio: Santiago Guarín Suárez
Diseño: Amelia Amórtegui

Aportes 14

Preguntas 0

Ordenar por:

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

El aumento de este semestre me lo gane por Platzi, este curso es oro puro, diria que mas.

¡Excelente curso!

Me encantó

Por favor el

Curso de construcción de herramientas customizadas en base a LLM open source (no API)

El mejor curso de IA para dev de Platzi. Gracias!

teest resppuestas
Resumen
1.
Al considerar el uso de los modelos LangChain, ¿qué implicaciones prácticas tendría para su proyecto el cambio entre diferentes modelos?
Gracias a la interfaz consistente de los modelos LangChain, se puede cambiar entre diferentes modelos con facilidad. Lo que permite adaptar el sistema a las necesidades cambiantes.
2.
Al diseñar aplicaciones de IA, ¿cuáles son las diferencias fundamentales entre los modelos de código abierto de Hugging Face y los modelos ofrecidos por proveedores como OpenAI o Cohere?

Los de Hugging Face se ejecutan en la máquina del usuario o en el hardware que defina, lo que puede ser lento sin el hardware adecuado, mientras que los remotos de proveedores como OpenAI se ejecutan en sus servidores.
3.
Dado que LangChain facilita el proceso al enviar preguntas directamente al pipeline de Hugging Face para generar texto, ¿qué implicaciones tendría el uso de ‘temperature’: 0 en model_kwargs?

La ‘temperature’: 0 haría que el modelo no genere ninguna respuesta, ya que esta configuración apaga completamente el modelo al usar LangChain.
REPASAR CLASE
4.
¿Cómo podría afectar el parámetro “n” en la clase OpenAI de langchain al resultado de las consultas realizadas?

El parámetro “n” determina la cantidad de respuestas generadas por el modelo, por lo que un valor mayor de “n” proporciona más opciones de respuestas a una consulta.
5.
¿Por qué puede ser importante y necesario utilizar función get_num_tokens de tiktoken al trabajar con modelos de embeddings?

Permite estimar el número de tokens utilizados en una entrada, lo cual es valioso para controlar el número total de tokens y gestionar costos asociados con el uso del modelo de OpenAI.
6.
¿Qué clase y modelo debe usarse en el siguiente código en Python para cargar un LLM de OpenAI con LangChain?

llm= (
model_name="
_________",
n=1,
temperature=0.2
)

ModelOpenAI y davinci-002
REPASAR CLASE
7.
Dentro del siguiente prompt template de LangChain, ¿qué deben recibir las variables input_variables y template?

template_product = “”"Escribe una descripción técnica del producto para distribuidores. Utiliza la ficha técnica siguiente:

{ficha_tecnica}

Respuesta (escribe una lista con detalles de cada característica): “”"

prompt_template_product = PromptTemplate(
input_variables=,
template=
_____
)
[“ficha_tecnica”] y template_product
8.
¿Qué es una cadena en LangChain y cómo se utiliza?
LangChain proporciona la interfaz Chain para aplicaciones “encadenadas”. Definimos una Chain o cadena de manera muy genérica como una secuencia de llamadas a componentes, que pueden incluir otras cadenas
9.
¿Qué ocurre si se trata de generar un resumen utilizando load_summarize_chain de LangChain con una chain_type=“stuff”?

Se puede incluir un propio prompt/plantilla, pero solo caben el máximo de tokens permitidos por el modelo y no documentos largos.
10.
Al utilizar el objeto RetrievalQA de LangChain, ¿qué sucede cuando se le pasa una pregunta?

Se utiliza el modelo de lenguaje y el objeto retriever para buscar información relacionada con la pregunta y generar una respuesta.
11.
¿Qué es un Retriever de LangChain?
Un componente que localiza y devuelve documentos relevantes según una consulta específica.
12.
Dentro de una SequentialChain de LangChain, ¿qué debe recibir en chains, output_variables e input_variables?

cadena_secuencial = SequentialChain(
chains=[__________________],
input_variables=[],
output_variables=[
]
)
En chains, las cadenas se pasan en el orden consecutivo en el que se utilizarán. input_variables se refiere a las variables de entrada que reciben las cadenas. output_variables designa lo que retorna la última cadena.

¿A qué nos referimos con los “índices” en el contexto de los sistemas de procesamiento de lenguaje natural?
A las formas de estructurar documentos para que los modelos de lenguaje puedan obtener nueva información.
14.
¿Cuál es la función de un Document Loader en LangChain?
Cargar datos y convertirlos al formato Document de LangChain.

¿Qué clase de LangChain se debe usar en el siguiente código para cargar un PDF que mantenga las páginas del documento PDF?

from langchain.document_loaders import _______

loader = _________("./document.pdf")
data = loader.load()
PyPDFLoader
16.
Imagina que estás utilizando el RecursiveCharacterTextSplitter de LangChain para dividir un conjunto de textos. En este proceso, te das cuenta de que algunos de los fragmentos resultantes son más grandes de lo que puede manejar el modelo para generar embeddings. ¿Cómo podrías abordar este problema?

Puedes ajustar el número de caracteres que utiliza el RecursiveCharacterTextSplitter para la división de texto, disminuyendo el número.
17.
Trabajas con una empresa de análisis de texto y tu equipo necesita implementar un sistema para dividir grandes cantidades de texto en fragmentos manejables. ¿Por qué podrías considerar útil el parámetro de superposición o chunk_overlap en este proceso?

La superposición ayuda a mantener el contexto entre fragmentos contiguos, actuando como una pequeña ventana de memoria que se traslada de un fragmento a otro.
18.
¿Por qué deberías considerar útil trabajar con la clase Embeddings de LangChain en una aplicación que integre NLP?
La clase Embeddings de LangChain da una interfaz para trabajar con modelos de embeddings con la que puedes interactuar con varios modelos, sin importar si su proveedor es OpenAI, Cohere, Hugging Face u otro.
19.
En el siguiente código de Python, ¿qué deben recibir los métodos OpenAIEmbeddings() y para qué sirve el método embed_documents().

embedding_openai = OpenAIEmbeddings(__________)

incrustaciones = embedding_openai.embed_documents(documents_to_embed)
Debe recibir un nombre de modelo de embedding de OpenAI. El método embed_documents recibe los Document de LangChain para convertirlos a embeding usando el modelo previamente definido.
20.
¿Por qué es necesario utilizar .client al crear embeddings con modelos de Hugging Face usando LangChain?

Ayuda a medir el tamaño de los embedding a utilizar para no exceder los límites de tamaño de tokens de los modelos.
21.
¿Cómo funciona el proceso de LangChain para que un LLM pueda obtener nueva información de una base de datos vectorial?
Se utiliza un retriever que busca dentro de la base de datos vectorial los textos más parecidos a la solicitud de información. Este retriever se activa con una cadena RetrievalQA que consulta la base de datos usando un LLM.
22.
En el contexto de una conversación con un asistente digital, ¿por qué sería problemático tener una conversación extensa con modelos de lenguaje como GPT-4?
Debido a que los modelos de lenguaje como GPT-4 tienen un límite de tokens (los que ingresamos en el prompt), las conversaciones largas pueden exceder este límite, por ello se debe agregar un componente de memoria.
23.
¿Para qué se utilizan SystemMessage, HumanMessage, AIMessageal definir el schema de los mensajes de una aplicación de chat con LangChain?

SystemMessage es la indicación de contexto que debe seguir el modelo, HumanMessage es el mensaje del humano, AIMessage es la respuesta del modelo.
24.
¿Qué clase y modelo debe usarse en el siguiente código en Python para cargar un modelo de Chat de OpenAI con LangChain?

chat = (
model="
_________",
temperature=0.6
)
ChatOpenAI y ‘gpt-4’.
25.
¿Por qué es importante utilizar el SystemMessage en los chatbots?

Porque permite establecer el comportamiento y los objetivos del modelo de lenguaje, proporcionando instrucciones específicas.
26.
Cuando se utiliza la ConversationBufferWindowMemory en LangChain, ¿cuál es una de las implicaciones de ajustar el parámetro max_token_limit?

El max_token_limit determina la capacidad de la memoria para almacenar interacciones sin necesidad de sintetizarlas. Al superar este límite, la memoria genera automáticamente un resumen de las interacciones previas

Ver menos

Excelente curso. seguimos...
Increible el curso! Felicitaciones Omar, sos un gran profesor!
A emprender con AI @emayaml
A emprender con AI!
Este fue un gran curso, el profesor explica muy bien, gracias
def process\_memory\_query\_resume(query, retriever, llm):    memory = ConversationSummaryBufferMemory(llm=OpenAI(), max\_token\_limit=40, k=2)    conversation=ConversationChain(         llm=llm,        memory=memory,        verbose=True,        retriever=retriever    )    console.print("\[yellow]La IA está pensando...\[/yellow]")  return conversation.predict(input=query) File "pydantic/main.py", line 341, in pydantic.main.BaseModel.\_\_init\_\_ pydantic.error\_wrappers.ValidationError: 1 validation error for ConversationChain retriever extra fields not permitted (type=value\_error.extra) Hola amigos, alguna idea con este error, el resto del codigo está corriendo pero cuando trato de usar ConversationSummaryBufferMemory me dice que tengo un problema con retriever, gracias.
### ¡Excelente curso!
Increible curso, sin duda uno de los mejores y mas avanzados de platzi, el docente es de primera.

WAOOOO, sin palabras… increible. El mejor curso que he tomado en Platzi. Excelente y felicitaciones profe

Omar es uno de los mejores profesores de Pltazi sin lugar a duda, el curso lo tome ya en el 2025 y estaban deprecadas algunos métodos de algunas librerías, pero sería una gran oportunidad para actualizar el curso de Langchain y hacer uno exclusivo de LangGraph. Disfruté muchísimo este curso, muchas gracias