Сохраняйте все артефакты по вашему проекту в этом репозитории. Описание проекта поместите в этот файл, удалив исходный текст с постановкой задачи.
Если вы хотите оставить проект в своём репозитории GitHub для портфолио - просто клонируйте этот репозиторий в свой аккаунт после завершения работы над проектом.
Имя | Роль | Контакт |
---|---|---|
Михаил Рахимов | Team Lead / Mobile | @Klladee |
Артем Игнатьев | ML | @zeustrug |
Федор Волоснев | Backend / TG Bot | @gesu1337 |
Дмитрий Широбоков | Analytic / Backend | @Mr_Dryg |
Александр Руснак | Analytic / Backend | @aleksandrR8 |
В настоящее время наблюдается оптимизация всех бизнес-процессов на основе моделей ИИ и машинного обучения. В частности, для общения с заказчиками внедряются различные разговорные системы, которые в последние годы реализуются на основе больших языковых моделей (LLM). Такие системы могут не только выполнять роль консультантов, но и автоматизировать различные бизнес-функции: собирать информацию, запускать процессы и т.д.
Для создания диалоговых систем на основе облачных технологий Yandex Cloud была разработана технология Yandex Assistant API, которая поддерживает:
- Retrieval-Augmented Generation (RAG). Эта технология основана на использовании текстовой базы знаний, которая дополняет знания LLM предметными знаниями.
- Function Calling (FC) – это технология автоматического вызова произвольных внешних функций языковой моделью, которая позволяет интегрировать бизнес-процессы в диалоговую модель, например, вызов оператора, поиск в базе данных или помещение товара в корзину. Function Calling является важной технологией для построения многоагентных систем (MAS).
Вам необходимо с помощью Yandex Assistant API разработать диалогового умного ассистента, работающего в облаке Yandex Cloud и доступного через Telegram, который помогает абитуриентам (в том числе и иностранным) выбрать правильный факультет для обучения, и помогающий собрать набор необходимых документов для поступления.
Вы можете использовать пример реализации умного ассистента с использованием RAG и FC. Вам будет предоставлен доступ в облако Yandex Cloud, среду Yandex Datasphere и к моделям Yandex GPT 5 Pro и Assistant API.
В рамках проекта вам необходимо:
- Собрать текстовую базу знаний по предметной области, в удобном для RAG формате, на основе собственных знаний, консультаций с экспертами, сбора данных из Интернет и других источников (баз данных, таблиц).
- Реализовать чат-бота на основе RAG.
- Подумать, какой дополнительный функционал может быть реализовать с использованием Function Calling, и реализовать его.
- Протестировать модель как с помощью бесед с реальными людьми, так и с помощью автоматического диалога двух агентов.
- Собрать тестовый датасет диалогов для тестирования качества ассистента и продумать, как осуществлять автоматический сбор метрики качества (с помощью классификаторов, с помощью другой LLM, как-то ещё).
- Оптимизировать содержание и формат текстовой базы знаний, используемые промпты и подходы к FC для увеличения метрики качества ассистента.
- Описать процесс создания ассистента, возникающие трудности при работе с Yandex Cloud и Yandex Assistant API в финальном отчёте.
Использование других языковых моделей:
В процессе решение вы можете использовать другие языковые модели и/или фреймворки для построения интеллектуальных ассистентов, но лучше делать это в сравнении с YandexGPT/Yandex Assistant API. Стоит обосновать необходимость использования других фреймворков (например, хочется реализовать многоагентное решение, и поддержки Yandex Assistant API недостаточно).
При оценивании проекта будут использоваться следующие критерии:
- Насколько оригинальна экспертная информация, собранная в базе знаний RAG (это плюс, если вы сами написали базу знаний для абитуриента МАИ, дополнив её выжимками с веб-сайта МАИ, структурировали знания с использованием таблиц. Ещё большим плюсом будет использование более продвинутых подходов к представлению знаний - графовых и т.д.).
- Использовался ли Function Calling, насколько релевантно
- Построена ли автоматическая система оценки качества ассистента и использовалась ли она для оптимизации качества
- Является ли бот достаточно проактивным, чтобы вовлекать собеседника в какие-то информационные процессы
- Использовались ли дополнительные элементы дизайн-языка Telegram, где это уместно (кнопки, стикеры, красивое оформление)
- Использовали ли вы crowdsourcing для массового сбора экспертной информации, чтобы получить достаточно большой уникальный текстовый датасет.
- Дополнительным плюсом будет использование других языков (английский, китайский), чтобы сделать бота доступным для абитуриентов из разных стран.
- Статья про Retrieval Augmented Generation
- Вебинар Yandex про создание интеллектуальных ассистентов и пример кода
- Продвинутые методы RAG (включая графовый RAG и извлечение знаний из текстов)
- Данные приёмной комиссии за предыдущие годы