Caricamento dei documenti per RAG con LangChain

Retrieval Augmented Generation (RAG) con LangChain

Meri Nova

Machine Learning Engineer

Conosci la tua istruttrice...

 

Meri Nova

 

  • Founder di Break Into Data
  • Machine Learning Engineer
  • Content creator su Linkedin e YouTube

Foto di Meri.

Retrieval Augmented Generation (RAG) con LangChain

Retrieval Augmented Generation (RAG)

 

  • Limiti degli LLM: conoscenza ristretta

 

RAG: integra dati esterni con gli LLM

Una persona che consegna a un LLM più informazioni sotto forma di libri.

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

Il flusso di lavoro RAG standard

Un singolo utente.

Retrieval Augmented Generation (RAG) con LangChain

Il flusso di lavoro RAG standard

Una query utente inviata a un database vettoriale.

Retrieval Augmented Generation (RAG) con LangChain

Il flusso di lavoro RAG standard

Recupero di documenti pertinenti dal database vettoriale.

Retrieval Augmented Generation (RAG) con LangChain

Il flusso di lavoro RAG standard

I documenti recuperati vengono aggiunti al prompt del modello.

Retrieval Augmented Generation (RAG) con LangChain

Il flusso di lavoro RAG standard

Il prompt viene inviato all'LLM e il risultato torna all'utente.

Retrieval Augmented Generation (RAG) con LangChain

Preparare i dati al recupero

Caricamento dei documenti.

Retrieval Augmented Generation (RAG) con LangChain

Preparare i dati al recupero

Suddivisione dei documenti.

Retrieval Augmented Generation (RAG) con LangChain

Preparare i dati al recupero

Creazione di embedding dei blocchi di documento.

Retrieval Augmented Generation (RAG) con LangChain

Preparare i dati al recupero

Archiviazione dei blocchi di documento.

Retrieval Augmented Generation (RAG) con LangChain

Document loader

 

  • Integra documenti con sistemi di AI
  • Supporto per molti formati comuni
  • Loader di terze parti

 

  • CSVLoader
  • PyPDFLoader
  • UnstructuredHTMLLoader

Caricamento dei documenti.

Retrieval Augmented Generation (RAG) con LangChain

Caricare file 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

Caricare file 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

Caricare file 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

Esercitiamoci!

Retrieval Augmented Generation (RAG) con LangChain

Preparing Video For Download...