Завантаження документів для RAG з LangChain

Retrieval Augmented Generation (RAG) з LangChain

Meri Nova

Machine Learning Engineer

Познайомтеся з інструкторкою…

 

Meri Nova

 

  • Засновниця Break Into Data
  • Інженерка з машинного навчання
  • Авторка контенту в Linkedin та YouTube

Фото Мері.

Retrieval Augmented Generation (RAG) з LangChain

Retrieval Augmented Generation (RAG)

 

  • Обмеження LLM: брак знань

 

RAG: інтеграція зовнішніх даних з LLM

Людина передає LLM більше інформації у вигляді книжок.

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

Стандартний робочий процес RAG

Один користувач.

Retrieval Augmented Generation (RAG) з LangChain

Стандартний робочий процес RAG

Запит користувача надсилається до векторної бази.

Retrieval Augmented Generation (RAG) з LangChain

Стандартний робочий процес RAG

Із векторної бази отримують релевантні документи.

Retrieval Augmented Generation (RAG) з LangChain

Стандартний робочий процес RAG

Отримані документи додаються до промпту моделі.

Retrieval Augmented Generation (RAG) з LangChain

Стандартний робочий процес RAG

Промпт надсилається до LLM, а відповідь повертається користувачу.

Retrieval Augmented Generation (RAG) з LangChain

Підготовка даних до пошуку

Відбувається завантаження документів.

Retrieval Augmented Generation (RAG) з LangChain

Підготовка даних до пошуку

Документи розбиваються.

Retrieval Augmented Generation (RAG) з LangChain

Підготовка даних до пошуку

Фрагменти документів вбудовуються.

Retrieval Augmented Generation (RAG) з LangChain

Підготовка даних до пошуку

Фрагменти документів зберігаються.

Retrieval Augmented Generation (RAG) з LangChain

Завантажувачі документів

 

  • Інтегруйте документи з системами ШІ
  • Підтримка багатьох поширених форматів
  • Завантажувачі документів від сторонніх розробників

 

  • CSVLoader
  • PyPDFLoader
  • UnstructuredHTMLLoader

Відбувається завантаження документів.

Retrieval Augmented Generation (RAG) з LangChain

Завантаження файлів 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) з LangChain

Завантаження файлів 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) з LangChain

Завантаження файлів 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) з LangChain

Давайте потренуємось!

Retrieval Augmented Generation (RAG) з LangChain

Preparing Video For Download...