📚 Литературный RAG
из pdf
🤖
Если в школе перед уроком литературы чтение даже краткого содержания произведения
казалось тяжелым испытанием, то теперь, благодаря RAG
и LLM
,
вы можете создать собственное ультракраткое содержание и задавать по нему
вопросы.
Что делать? Создайте свой RAG
по тексту краткого
содержания романа «Капитанская дочка» и ответьте на вопросы из предоставленного
датасета.
Что на входе? Датасет с вопросами в столбце
question
и pdf
файл с кратким содержанием романа.
Загрузка файлов с помощью кода
# Для загрузки файла с текстом можно использовать команду
!wget https://stepik.org/media/attachments/lesson/1084288/The_Daughter_of_The_Commandant.pdf
import pandas as pd
df = pd.read_csv("https://stepik.org/media/attachments/lesson/1084288/pushkin_questions.csv")
Что на выходе? csv
файл, содержащий два столбца -
question
, answer
.
Замечание: Ваше решение будет зачтено, если в нём будет минимум
8
правильных ответов. Корректность ответа проверяем по ключевым
словам. Поэтому не беспокойтесь о формате ответа, но главное - длина каждого
ответа не должна превышать 70
символов (иначе этот ответ не будет
засчитан)
План решения, если не знаете как начать:
1. Выберите нужный document loader
2. Разбейте текст на фрагменты с помощью text splitter
3. Переведите полученные фрагменты текста в векторные представления (эмбеддинги)
4. Поместите эмбеддинги в векторную базу данных
5. Используйте retviever
для поиска похожих фрагментов
6. Напишите промпт и отправляйте запрос в LLM
, чтобы получить ответ на
вопрос
кажется, алгоритм проверки работает не корректно. Мою работу он проверил на 8/15, я начал углубляться для доработки качества, провел свою оценку вручную и она вышла в 14/15.
@Максим_Марков, проверим
@Максим_Марков, в тестирующей системе была проверка на длину ответа. Если длина больше 50 символов, то ответ не засчитывался. В условии задачи об этом было сказано, но немного поправил формулировку и увеличил порог до 70 символов. Если убрать это ограничение, то у вас 14 правильных ответов, да
@Никита_Тенишев, понял, спасибо! Видимо, пропустил это ограничение...