- 1

Creación de un sistema de preguntas y respuestas con LangChain
13:08 - 2

Estructura y Uso de Langchain en Python
05:24 - 3

Carga de Modelos Open Source con Langchain y Hugging Face
13:13 - 4

Uso de Modelos OpenAI con LangChain: Guía Práctica para Principiantes
07:51 - 5

Creación de Prompts Dinámicos con LangChain
08:59 - 6

Uso de Cadenas en Modelos de Lenguaje con Language Chain
01:54 - 7

Procesamiento de PDFs y creación de resúmenes con LangChain
11:49 - 8

Creación de Cadenas de Preguntas y Respuestas con Modelos de Lenguaje
04:54 - 9

Creación de cadenas secuenciales en Python para procesamiento de texto
14:31 Quiz: Introducción a LangChain
Creación de cadenas secuenciales en Python para procesamiento de texto
Clase 9 de 37 • Curso de LangChain
Contenido del curso
- 12

Carga de Documentos en Langchain para Creación de Índices
02:58 - 13

Fundamentos de la Clase Document en Langchain
04:38 - 14

Carga y Transformación de Documentos No Estructurados con Landship
06:30 - 15
Lectura de CSV y conversión a DataFrame de Pandas y LangChain
01:19 - 16

Creación de un Cargador de JSON-Lines Personalizado en Python
08:37 - 17

Fragmentación de Documentos con TextSplitter en Langsteam
08:14 - 18

Creación de un Chatbot con Documentación de Hugging Face
07:34 - 19

Creación de Índice Vectorial con Langchain y Embeddings
07:21 Quiz: Manejo de documentos con índices
- 20

Creación de Índices con Embeddings y Bases de Datos Vectoriales
03:42 - 21

Creación y uso de embeddings con OpenAI y Lanchain
05:31 - 22

Modelos de Embeddings Open Source en Español con Sentence Transformers
09:51 - 23

Creación y Gestión de Bases de Datos Vectoriales con Chroma
09:25 - 24

Creación y manejo de bases de datos vectoriales con OpenAI Embeddings
09:20 - 25

Creación y Uso de un Retriever en Chroma para Consultas Avanzadas
07:57 - 26

Modelo de Chat para Preguntas y Respuestas con LangChain y Chroma
08:17 - 27

Creación de un Chatbot para Preguntas con Bases de Datos Vectoriales
05:31 Quiz: Embeddings y bases de datos vectoriales
- 28

Memoria de Corto Plazo en Chatbots: Implementación y Optimización
04:10 - 29

Creación y Uso de Modelos de Chat con OpenAI y LangChain
06:48 - 30

Creación de Plantillas Dinámicas para Prompts de Chat en Langstead
07:12 - 31

Memoria en chatbots: Implementación con ConversationBufferMemory
06:40 - 32

Configuración de ConversationBufferWindowMemory en Chatbots
05:51 - 33

Memoria de Resumen de Conversaciones con Chat GPT-3.5
05:14 - 34
Gestión de Memoria en Chatbots con ConversationSummaryBufferMemory
04:14 - 35

Memoria de Entidades en Chatbots para Soporte de Ventas
12:11 - 36

Implementación de Chatbot con Memoria en Python usando Langchain
12:36 Quiz: Chats y memoria con LangChain
¿Cómo funcionan las cadenas fundacionales?
Las cadenas fundacionales se componen de diferentes subcadenas, donde cada eslabón desempeña una función específica en el procesamiento del texto. Al crear una secuencia de cadenas, el texto se transforma y se procesa para ofrecer una respuesta precisa a las necesidades planteadas. Aquí exploramos cómo se aplican dos tipos de cadenas fundacionales para limpiar y modificar estilos de texto.
¿Qué es una transform chain y cómo funciona?
Las transform chains son el primer paso en el procesamiento del texto. Para comenzar, se crea una función de Python que recibe un diccionario, procesa el texto y lo devuelve limpio. Utilizamos expresiones regulares (regex) para realizar esta limpieza:
- Se eliminan emoticonos y símbolos innecesarios del texto.
- Se eliminan URLs o enlaces que no se desea incluir en el procesamiento final.
Esta función devuelve un diccionario con la llave texto limpio, el cual se utilizará posteriormente en otras cadenas para más transformaciones.
import re
def limpiar_texto(entradas):
texto = entradas['texto']
texto_limpo = re.sub(r'[^\w\s]', '', texto) # Ejemplo básico de regex para eliminar signos de puntuación
texto_limpo = re.sub(r'http\S+|www.\S+', '', texto_limpo) # Eliminar URLs
return {'texto limpio': texto_limpo}
Se importa TransformChain de la librería de Chains de Lanchain y se instancia con las variables input texto, output texto limpio y la función limpiar texto.
¿Cómo se cambia el estilo de un texto utilizando un lenguaje de modelo (LLM)?
Para cambiar el estilo del texto, se implementa un modelo de lenguaje que, en este caso, es un modelo de OpenAI (GPT 3.5 Turbo). La cadena LLM Chain utiliza una plantilla de prompt que coordina las instrucciones de entrada y salida, permitiendo que el texto limpio sea parafraseado en el estilo deseado.
- Se personaliza el prompt ajustando el estilo según culturas o lugares (por ejemplo, peruano, mexicano, etc.).
- La LLM Chain toma como input el texto limpio y genera un texto modificado con la nueva tonalidad estilística.
from langchain.chains import LLMTransformer
prompt_template = {
"template": "Parafrasear este texto: {texto limpio}. Estilo: {estilo}.",
}
llm_chain = LLMTransformer(
llm=OpenAIModel('gpt-3.5-turbo'),
prompt=prompt_template,
input_variables=['texto limpio', 'estilo'],
output_variables=['texto final']
)
¿Cómo se combinan las cadenas en una secuencial?
Las cadenas se combinan utilizando una secuencia que sincroniza sus funcionalidades para cumplir propósitos más complejos. Aquí, se importan y usan las cadenas transform y LLM en una SequentialChain de la siguiente manera:
- Cadena que limpia: Recibe y limpia el texto de entrada.
- Cadena que cambia estilo: Modifica el estilo del texto limpio.
from chains import SequentialChain
sequential_chain = SequentialChain(
chains=[transform_chain, llm_chain],
input_variables=['texto', 'estilo'],
output_variable='texto final'
)
Al ejecutar esta cadena secuencial con un texto descriptivo de una ciudad como Monterrey, México, se observa cómo el texto se limpia y se parafrasea consistentemente según el estilo deseado.
Reto avanzado: añadir una tercera cadena
Te incitamos a agregar una tercera cadena a este proceso para crear resúmenes del texto generado. Al extender esta lógica, puedes establecer una cadena secuencial más compleja que no solo limpie y modifique el estilo del texto, sino que también genere resúmenes precisos, ideal para textos más extensos. ¡Desarrolla tus habilidades de cadena y permite que tu creatividad brille en el mundo de la programación con cadenas fundacionales!