Cargar documentos para RAG con LangChain

Retrieval Augmented Generation (RAG) con LangChain

Meri Nova

Machine Learning Engineer

Conoce a tu instructora...

 

Meri Nova

 

  • Fundadora de Break Into Data
  • Ingeniera de Machine Learning
  • Creadora de contenido en LinkedIn y YouTube

Foto de Meri.

Retrieval Augmented Generation (RAG) con LangChain

Retrieval Augmented Generation (RAG)

 

  • Límite de los LLM: restricciones de conocimiento

 

RAG: integra datos externos con LLM

Una persona entregando más información a un LLM en forma de libros.

1 Generado con DALL·E 3
Retrieval Augmented Generation (RAG) con LangChain

Flujo estándar de RAG

Un único usuario.

Retrieval Augmented Generation (RAG) con LangChain

Flujo estándar de RAG

Una consulta de usuario que se envía a una base de datos vectorial.

Retrieval Augmented Generation (RAG) con LangChain

Flujo estándar de RAG

Se recuperan documentos relevantes de la base de datos vectorial.

Retrieval Augmented Generation (RAG) con LangChain

Flujo estándar de RAG

Los documentos recuperados se añaden al prompt del modelo.

Retrieval Augmented Generation (RAG) con LangChain

Flujo estándar de RAG

El prompt se envía al LLM y se devuelve la salida al usuario.

Retrieval Augmented Generation (RAG) con LangChain

Preparar datos para la recuperación

Cargando documentos.

Retrieval Augmented Generation (RAG) con LangChain

Preparar datos para la recuperación

Dividiendo documentos.

Retrieval Augmented Generation (RAG) con LangChain

Preparar datos para la recuperación

Se incrustan fragmentos de documentos.

Retrieval Augmented Generation (RAG) con LangChain

Preparar datos para la recuperación

Se almacenan fragmentos de documentos.

Retrieval Augmented Generation (RAG) con LangChain

Cargadores de documentos

 

  • Integra documentos con sistemas de IA
  • Soporta muchos formatos comunes
  • Cargadores de terceros

 

  • CSVLoader
  • PyPDFLoader
  • UnstructuredHTMLLoader

Cargando documentos.

Retrieval Augmented Generation (RAG) con LangChain

Cargar archivos CSV

from langchain_community.document_loaders.csv_loader import CSVLoader

csv_loader = CSVLoader(file_path='path/to/your/file.csv')

documents = csv_loader.load() print(documents)
[Document(page_content='Team: Nationals\n"Payroll (millions)": 81.34\n"Wins": 98',
          metadata={'source': 'path/to/your/file.csv', 'row': 0}),
 Document(page_content='Team: Reds\n"Payroll (millions)": 82.20\n"Wins": 97',
          metadata={'source': 'path/to/your/file.csv', 'row': 1}),
 Document(page_content='Team: Yankees\n"Payroll (millions)": 197.96\n"Wins": 95',
          metadata={'source': 'path/to/your/file.csv', 'row': 2})]
Retrieval Augmented Generation (RAG) con LangChain

Cargar archivos PDF

from langchain_community.document_loaders import PyPDFLoader

pdf_loader = PyPDFLoader('rag_paper.pdf')
documents = pdf_loader.load()
print(documents)
[Document(page_content='Retrieval-Augmented Generation for\nKnowledge-Intensive...',
          metadata={'source': 'Rag Paper.pdf', 'page': 0})]
Retrieval Augmented Generation (RAG) con LangChain

Cargar archivos HTML

from langchain_community.document_loaders import UnstructuredHTMLLoader

html_loader = UnstructuredHTMLLoader(file_path='path/to/your/file.html')

documents = html_loader.load() first_document = documents[0]
print("Content:", first_document.page_content) print("Metadata:", first_document.metadata)
Content: Welcome to Our Website
Metadata: {'source': 'path/to/your/file.html', 'section': 0}
Retrieval Augmented Generation (RAG) con LangChain

¡Vamos a practicar!

Retrieval Augmented Generation (RAG) con LangChain

Preparing Video For Download...