Лабораторная 3. Применение языковых моделей
Требуемые условия завершения
Открыто с: четверг, 13 ноября 2025, 00:00
Срок сдачи: среда, 24 декабря 2025, 00:00
Требования аналогичны 2 лабораторной, можно строить на её основе.
- Цель лабораторной: пощупать возможности работы с языковыми моделями и их комбинирования с чем-нибудь (инструменты, RAG, шаблонные промпты, роли)
- Баллы: 5-20+ баллов, в зависимости от масштабов и качества.
- Работа в группах: аналогично лабораторной 2.
- Где брать языковые модели: можно воспользоваться Ollama, при необходимости обращайте внимание на то, поддерживает ли модель работу с инструментами (tools).
- Помимо языковых моделей вы можете использовать готовые решения для менеджмента промптов: тут можно посмотреть обсуждение и ссылки, большой список разных полезных штук можно полистать здесь
- Качество обработки данных и промптов также оценивается
- Генерировать куски кода с LLM разрешается, пока вы понимаете, что происходит, и можете за него нести ответственность
Вариант 1. Генератор текстов
Реализуйте генератор текста в какой-то доменной области.
Примеры областей:
- Отзывы на курсовые и выпускные работы.
- Соберите датасет из отзывов с разными оценками на sfedu.hub.
- Можно в стиле RAG подсовывать в промпт отзывы на близкие темы или с тех же кафедр.
- Можно обернуть поиск по датасету в инструмент и пусть нейронка сама ищет.
- В качестве параметров генерации могут выступать тема работы, оценка, данные студента и преподавателя, плюсы и минусы работы, стиль направления/кафедры (сравните стиль текста у ФИИТ и у педагогов).
- Следите за объёмом текста.
- Форматирование заданий в moodle
- Нужно выделить типы лабораторных, требования к стилю оформления, выяснить язык, в котором форматируются лабы, описать это всё в промптах.
- Агент может дополнительно спрашивать/ревьювить лабораторную и предлагать исправления.
- Школьные сочинения
- На какую оценку писать (чтобы можно было получить не идеальные сочинения)
- От лица школьника какого класса
- Описания игровых предметов
- По названию предмета, сухому описанию, жанру игры или ещё чему-нибудь генерируются разные описания как подспорье геймдизайнеру.
Скорее всего вам понадобится:
- Хранилище шаблонов промптов – можно взять готовые или просто хранить форматные строки.
- Принятие переменных от пользователя или делегировать сбор информации нейронке
- Генерация разных вариантов – кнопка “перегенерировать” с перезапуском генерации и изменением параметров типа температуры.
- Автоматическая проверка из кода длины текста и запрос нейронке “сгенерировать ещё” или “сократи”. Либо выдать ей инструмент, который считает количество символов, и просить её саму валидировать при необходимости.
- Имитация цепочки рассуждений – сначала просить генерировать план, проревьювить его, потом по нему генерировать текст, потом проревьювить текст и выдать финальную версию.
- Роли – чтобы отделять системный промпт с настройками ассистента от запросов и входных данных пользователя.
Вариант 2. Поиск по базе знаний
На основе варианта 2 из лабораторной с эмбединнгами реализуйте RAG: обогащайте запрос пользователя данными из базы.
Вариант 3. Генератор викторин
Реализуйте ассистента, который помогает генерировать викторины.
Пример решения:
- Подготавливаем шаблон промпта/набора промптов, в которых расписываем, какая роль у ассистента, какие данные ему использовать, как работать, в каком формате выдать результат.
- Даём пользователю добавить в контекст файлы, на основе которых надо сделать викторину (материал лекции, статья из википедии, глава из книги)
- Модуль автотестирования: смотрим, как хорошо отвечает на вопросы эта/другая языковая модель с пустым контекстом/с заполненным важной информацией контекстом.
- Добавляем инструменты, например, для поиска в базе из лабораторной 2 или чтения файлов с базой знаний.
Вариант 4. Рекомендательная система (content-based)
Реализуйте ассистента на основе LLM, который через общение с пользователем подбирает ему фильмы/игры/вариант лабораторной.
Пример сценария:
- Ассистент задаёт вопросы, на основе которых он сможет лучше понять, что порекомендовать. Можно их сгенерировать один раз с помощью хорошей модели.
- RAG: на основе ответов ищутся похожие записи в базе данных, как в лабораторной 2, найденными записями обогащается контекст и это отправляется как один большой запрос LLM.
- Агентный режим: на основе этого контекста модель что-то делает в агентном режиме и потом пользователю выдаётся список фильмов.
- Она может задать уточняющие вопросы.
- Она может порассуждать. Даже если модель без ризонинга, вы можете составить ей промпты с планом рассуждений (попросить модель получше и переиспользовать) и сделать несколько вызовов.
- Вы можете использовать LLM, которая умеет использовать инструменты. Тогда поиск в базе из лабораторной 2 можно обернуть в инструмент и дать ей его, либо найти готовые.
Вариант 5. Калькулятор
Реализуйте калькулятор как инструмент для нейронки, сделайте так, чтобы нейронка могла им пользоваться и протестируйте на школьных задачах. Сравните качество ответов с/без инструмента, сравните несколько моделей. Можно совместить с лабораторной 4.