Charger des documents pour RAG avec LangChain

Retrieval Augmented Generation (RAG) avec LangChain

Meri Nova

Machine Learning Engineer

Faites connaissance avec 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)

 

  • Limite des LLM : connaissances restreintes

 

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

Une personne remet plus d'information à un LLM sous forme de livres.

1 Generated with 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 d'utilisateur envoyée à une base de données vectorielle.

Retrieval Augmented Generation (RAG) avec LangChain

Flux de travail RAG standard

Des documents pertinents sont récupérés de la base de données vectorielle.

Retrieval Augmented Generation (RAG) avec LangChain

Flux de travail RAG standard

Les documents récupérés sont ajoutés à l'amorce du modèle.

Retrieval Augmented Generation (RAG) avec LangChain

Flux de travail RAG standard

L'amorce est envoyée au LLM et le résultat est renvoyé à l'utilisateur.

Retrieval Augmented Generation (RAG) avec LangChain

Préparer les données pour la recherche

Chargement de 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

Encodage des segments de documents.

Retrieval Augmented Generation (RAG) avec LangChain

Préparer les données pour la recherche

Stockage des segments de documents.

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 de documents.

Retrieval Augmented Generation (RAG) avec LangChain

Chargement de 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

Chargement de 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

Chargement de 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...