Charger des documents pour le RAG avec LangChain

Retrieval Augmented Generation (RAG) avec LangChain

Meri Nova

Machine Learning Engineer

Rencontrez votre formatrice…

 

Meri Nova

 

  • Fondatrice de Break Into Data
  • Ingénieure en machine learning
  • Créatrice de contenu sur LinkedIn et YouTube

Photo de Meri.

Retrieval Augmented Generation (RAG) avec LangChain

Retrieval Augmented Generation (RAG)

 

  • Limitation des LLM : portée de connaissances

 

→ RAG : intégrer des données externes aux LLM

Une personne donne plus d’informations à un LLM sous forme de livres.

1 Généré avec DALL·E 3
Retrieval Augmented Generation (RAG) avec LangChain

Flux de travail RAG standard

Un seul utilisateur.

Retrieval Augmented Generation (RAG) avec LangChain

Flux de travail RAG standard

Une requête utilisateur envoyée à une base vectorielle.

Retrieval Augmented Generation (RAG) avec LangChain

Flux de travail RAG standard

Documents pertinents récupérés depuis la base vectorielle.

Retrieval Augmented Generation (RAG) avec LangChain

Flux de travail RAG standard

Les documents récupérés sont ajoutés à l’invite du modèle.

Retrieval Augmented Generation (RAG) avec LangChain

Flux de travail RAG standard

L’invite est envoyée au LLM et la réponse est renvoyée à l’utilisateur.

Retrieval Augmented Generation (RAG) avec LangChain

Préparer les données pour la recherche

Chargement des documents.

Retrieval Augmented Generation (RAG) avec LangChain

Préparer les données pour la recherche

Découpage des documents.

Retrieval Augmented Generation (RAG) avec LangChain

Préparer les données pour la recherche

Les segments de documents sont vectorisés.

Retrieval Augmented Generation (RAG) avec LangChain

Préparer les données pour la recherche

Les segments de documents sont stockés.

Retrieval Augmented Generation (RAG) avec LangChain

Chargeurs de documents

 

  • Intégrer des documents aux systèmes d’IA
  • Prise en charge de nombreux formats courants
  • Chargeurs de documents tiers

 

  • CSVLoader
  • PyPDFLoader
  • UnstructuredHTMLLoader

Chargement des documents.

Retrieval Augmented Generation (RAG) avec LangChain

Charger des fichiers 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) avec LangChain

Charger des fichiers 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) avec LangChain

Charger des fichiers 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) avec LangChain

Passons à la pratique !

Retrieval Augmented Generation (RAG) avec LangChain

Preparing Video For Download...