Загрузка документов для 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 Создано с помощью 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...