Ładowanie dokumentów do RAG za pomocą LangChain

Retrieval Augmented Generation (RAG) z LangChain

Meri Nova

Machine Learning Engineer

Poznaj swojego instruktora...

 

Meri Nova

 

  • Założycielka Break Into Data
  • Inżynier Machine Learning
  • Twórczyni treści na LinkedIn i YouTube

Zdjęcie Meri.

Retrieval Augmented Generation (RAG) z LangChain

Retrieval Augmented Generation (RAG)

 

  • Ograniczenie LLM: ograniczona wiedza

 

RAG: integracja zewnętrznych danych z LLM

Osoba przekazująca LLM dodatkowe informacje w postaci książek.

1 Generated with DALL·E 3
Retrieval Augmented Generation (RAG) z LangChain

Standardowy przepływ pracy RAG

Pojedynczy użytkownik.

Retrieval Augmented Generation (RAG) z LangChain

Standardowy przepływ pracy RAG

Zapytanie użytkownika wysyłane do bazy wektorowej.

Retrieval Augmented Generation (RAG) z LangChain

Standardowy przepływ pracy RAG

Odpowiednie dokumenty pobierane z bazy wektorowej.

Retrieval Augmented Generation (RAG) z LangChain

Standardowy przepływ pracy RAG

Pobrane dokumenty dodawane do promptu modelu.

Retrieval Augmented Generation (RAG) z LangChain

Standardowy przepływ pracy RAG

Prompt wysyłany do LLM, wynik zwracany użytkownikowi.

Retrieval Augmented Generation (RAG) z LangChain

Przygotowanie danych do wyszukiwania

Ładowanie dokumentów.

Retrieval Augmented Generation (RAG) z LangChain

Przygotowanie danych do wyszukiwania

Podział dokumentów.

Retrieval Augmented Generation (RAG) z LangChain

Przygotowanie danych do wyszukiwania

Fragmenty dokumentów są osadzane.

Retrieval Augmented Generation (RAG) z LangChain

Przygotowanie danych do wyszukiwania

Fragmenty dokumentów są przechowywane.

Retrieval Augmented Generation (RAG) z LangChain

Narzędzia do ładowania dokumentów

 

  • Integracja dokumentów z systemami AI
  • Obsługa wielu popularnych formatów plików
  • Zewnętrzne narzędzia do ładowania dokumentów

 

  • CSVLoader
  • PyPDFLoader
  • UnstructuredHTMLLoader

Ładowanie dokumentów.

Retrieval Augmented Generation (RAG) z LangChain

Ładowanie plików 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) z LangChain

Ładowanie plików 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) z LangChain

Ładowanie plików 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) z LangChain

Czas na ćwiczenia!

Retrieval Augmented Generation (RAG) z LangChain

Preparing Video For Download...