Documenten laden voor RAG met LangChain

Retrieval Augmented Generation (RAG) met LangChain

Meri Nova

Machine Learning Engineer

Maak kennis met je instructeur...

 

Meri Nova

 

  • Oprichter van Break Into Data
  • Machine learning engineer
  • Contentmaker op LinkedIn en YouTube

Foto van Meri.

Retrieval Augmented Generation (RAG) met LangChain

Retrieval Augmented Generation (RAG)

 

  • LLM-beperking: kennislimieten

 

RAG: externe data integreren met LLM's

Iemand die een LLM extra info geeft in de vorm van boeken.

1 Gegenereerd met DALL·E 3
Retrieval Augmented Generation (RAG) met LangChain

De standaard RAG-workflow

Eén gebruiker.

Retrieval Augmented Generation (RAG) met LangChain

De standaard RAG-workflow

Een gebruikersvraag die naar een vectordatabase wordt gestuurd.

Retrieval Augmented Generation (RAG) met LangChain

De standaard RAG-workflow

Relevante documenten worden opgehaald uit de vectordatabase.

Retrieval Augmented Generation (RAG) met LangChain

De standaard RAG-workflow

De opgehaalde documenten worden aan de prompt toegevoegd.

Retrieval Augmented Generation (RAG) met LangChain

De standaard RAG-workflow

De prompt wordt naar het LLM gestuurd en de output gaat terug naar de gebruiker.

Retrieval Augmented Generation (RAG) met LangChain

Data voorbereiden voor retrieval

Documenten worden geladen.

Retrieval Augmented Generation (RAG) met LangChain

Data voorbereiden voor retrieval

Documenten worden gesplitst.

Retrieval Augmented Generation (RAG) met LangChain

Data voorbereiden voor retrieval

Documentchunks worden ge-embed.

Retrieval Augmented Generation (RAG) met LangChain

Data voorbereiden voor retrieval

Documentchunks worden opgeslagen.

Retrieval Augmented Generation (RAG) met LangChain

Documentloaders

 

  • Integreer documenten met AI-systemen
  • Ondersteuning voor veelvoorkomende bestandsformaten
  • Externe documentloaders

 

  • CSVLoader
  • PyPDFLoader
  • UnstructuredHTMLLoader

Documenten worden geladen.

Retrieval Augmented Generation (RAG) met LangChain

CSV-bestanden laden

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) met LangChain

PDF-bestanden laden

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) met LangChain

HTML-bestanden laden

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) met LangChain

Laten we oefenen!

Retrieval Augmented Generation (RAG) met LangChain

Preparing Video For Download...