Carregando documentos para RAG com LangChain

Retrieval Augmented Generation (RAG) com LangChain

Meri Nova

Machine Learning Engineer

Conheça sua instrutora...

 

Meri Nova

 

  • Fundadora da Break Into Data
  • Engenheira de Machine Learning
  • Criadora de conteúdo no LinkedIn e YouTube

Foto de Meri.

Retrieval Augmented Generation (RAG) com LangChain

Retrieval Augmented Generation (RAG)

 

  • Limitação dos LLMs: escopo de conhecimento

 

RAG: integra dados externos aos LLMs

Uma pessoa entregando mais informações a um LLM em forma de livros.

1 Gerado com DALL·E 3
Retrieval Augmented Generation (RAG) com LangChain

O fluxo padrão de RAG

Um único usuário.

Retrieval Augmented Generation (RAG) com LangChain

O fluxo padrão de RAG

Uma consulta do usuário sendo enviada para um banco vetorial.

Retrieval Augmented Generation (RAG) com LangChain

O fluxo padrão de RAG

Documentos relevantes sendo recuperados do banco vetorial.

Retrieval Augmented Generation (RAG) com LangChain

O fluxo padrão de RAG

Os documentos recuperados são adicionados ao prompt do modelo.

Retrieval Augmented Generation (RAG) com LangChain

O fluxo padrão de RAG

O prompt é enviado ao LLM e a resposta volta ao usuário.

Retrieval Augmented Generation (RAG) com LangChain

Preparando dados para recuperação

Carregando documentos.

Retrieval Augmented Generation (RAG) com LangChain

Preparando dados para recuperação

Dividindo documentos.

Retrieval Augmented Generation (RAG) com LangChain

Preparando dados para recuperação

Chunks de documentos são incorporados.

Retrieval Augmented Generation (RAG) com LangChain

Preparando dados para recuperação

Chunks de documentos são armazenados.

Retrieval Augmented Generation (RAG) com LangChain

Document loaders

 

  • Integre documentos a sistemas de IA
  • Suporte a muitos formatos comuns
  • Loaders de terceiros

 

  • CSVLoader
  • PyPDFLoader
  • UnstructuredHTMLLoader

Carregando documentos.

Retrieval Augmented Generation (RAG) com LangChain

Carregando arquivos 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) com LangChain

Carregando arquivos 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) com LangChain

Carregando arquivos 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) com LangChain

Vamos praticar!

Retrieval Augmented Generation (RAG) com LangChain

Preparing Video For Download...