Чат-бот по обществознанию: поиск по учебникам с Qwen и FAISS
В России вводятся единые государственные учебники. В моей текущей версии бота загружены два учебника по обществознанию - за 9 и 10 класс. Я хотел сделать помощника, который ищет определения и объяснения именно в этих материалах, а не в интернете и не в общих знаниях модели.
У бота нет веб-поиска. В системном промпте написано: отвечать по найденным фрагментам, и если ответа в них нет - так и сказать. Это не значит, что «модель знает только учебник»: знания из базовых весов Qwen у нее остались. Идея в том, чтобы при сборке промпта убирать все лишнее и ограничивать контекст теми параграфами, которые ученику реально нужны.
Зачем ограничивать модель учебником Обычный ответ модели не обязательно совпадает с формулировками нужного учебника. Это становится проблемой на уроке, где за ответ по конкретному учебнику ставят оценку, а за «философский» ответ из общих знаний - нет. Поэтому задача бота - не «понять обществознание», а «найти нужный параграф и передать его модели в чистом виде».