- 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 un Chatbot con Documentación de Hugging Face
Clase 18 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 inicializar el proyecto del chatbot con documentación de Hugging Face?
Preparar el entorno de desarrollo es esencial al comenzar un proyecto de programación. En este caso, estamos creando un chatbot que nos permitirá interactuar con la documentación de Hugging Face. Sigamos con los pasos básicos para iniciar.
-
Clonar el repositorio: El proyecto se encuentra en un repositorio de GitHub. El primer paso es clonar este repositorio en tu máquina local.
-
Instalar las dependencias: Puedes optar por distintas herramientas:
- Usar Poetry: Una forma moderna de manejar dependencias y entornos virtuales. Ejecuta
Poetry Installdespués de clonar el proyecto. - Usar pip: Si prefieres, instala las dependencias enumeradas en el archivo
requirements.txt. - Usar conda: Como alternativa, también puedes usar este gestor de entornos.
- Usar Poetry: Una forma moderna de manejar dependencias y entornos virtuales. Ejecuta
Finalmente, una vez instaladas las dependencias, ejecuta el código con:
poetry run python hashira aiconversation.py
¿Cuáles son las dependencias clave del proyecto?
El proyecto utiliza una variedad de bibliotecas y herramientas que facilitan tanto el desarrollo como la funcionalidad de nuestro chatbot:
- Langchain y PyTorch: Componentes esenciales para manejar y desplegar modelos de lenguaje.
- Transformers: Biblioteca fundamental para la comprensión del lenguaje natural.
- Request: Para realizar solicitudes HTTP necesarias para obtener los datos.
- ChromaDb: Como base de datos vectorial.
- OpenAI: Necesario para funciones avanzadas de IA.
Es crucial revisar el archivo pipproject.term generado por Poetry para entender mejor las dependencias involucradas.
¿Cómo funcionan las utilidades dentro de utils.py?
El archivo utils.py ofrece un conjunto de funciones diseñadas para facilitar diversas tareas en el proyecto:
- DocsJsonLoader: Convierte archivos JSONL en documentos legibles por Langchain.
- LoadConfig: Carga la configuración desde el archivo
config.yaml. - GetOpenAPIKey: Verifica la existencia de una clave API de OpenAI en las variables de entorno.
- GetFilePath: Obtiene la ruta a los datos JSONL.
- GetQueryFromUser: Recibe preguntas de los usuarios, útil para alimentar el chatbot.
- CreateDir y RemoveExistingFile: Manejan la creación de directorios y la eliminación de archivos.
Estas utilidades simplifican el flujo de trabajo, especialmente al organizar y extraer datos.
¿Cómo extraer y estructurar datos desde GitHub?
Para obtener los datos necesarios, seguimos una serie de pasos usando config.yaml y el script en TextStructor:
-
Configurar
config.yaml: Esta configuración contiene las fuentes de donde extraeremos la documentación. Aquí deberán listar:- Repositorios y sus rutas correspondientes para obtener documentación markdown.
- También pueden combinarse otras fuentes como blogs.
-
Usar
TextStructor: Este script tiene funciones para:- Limpiar y procesar texto: Elimina elementos redundantes como emojis.
- Descargar archivos a partir de URLs y guardarlos en formato JSONL, incluyendo metadatos como el título y origen.
- Revisar directorios completos para seleccionar solo archivos markdown necesarios.
Ejemplo de ejecución para descargar datos:
Una vez instaladas las dependencias, ejecuta:
poetry run python hashira text_extractor
Así, descargaremos archivos de documentación manteniendo todos los elementos relevantes en un formato JSONL estructurado y ordenado. Podemos considerar más de 500 archivos, cubriendo desde documentación de librerías hasta entradas de blog.
¿Cómo personalizar la documentación y datos utilizados?
El proyecto ofrece flexibilidad para trabajar con diversos tipos de datos adicionales que puedas tener:
- Repositorios adicionales: Puedes agregar otros repositorios de interés en
config.yamlpara ampliar las fuentes. - Diferentes formatos: El script acepta textos en formatos PDF, Word y CSV, lo que permite customizar la base de datos según los requerimientos de interacción con el chatbot.
¡Anímate a explorar y ampliar tu proyecto utilizando toda la riqueza de estas herramientas y configuraciones! Con cada ajuste, puedes transformar a tu chatbot en una herramienta aún más poderosa y personal para realizar consultas a documentación técnica.