Skip to content

werserk/HSE-AI-Assistant-Hack-Python-baseline

Repository files navigation

Baseline of AI Assistant Hack: Python

По вопросам/багам писать в tg: @werserk

Ссылки

Репозиторий: https://github.com/werserk/hse-aiahp-baseline
Тестирующая система: https://dsworks.ru/champ/hse-2024-october
Лендинг: https://www.hse.ru/ai-assistant-hack-python/

Описание

YandexGPT

В бейзлайне использована модель YandexGPT. Если вы хотите использовать её, то вам потребуется получить микро-грант, чтобы не тратить свои кровные на её инференс (там просто нужно создать новый акк и сделать его "платёжным").

Совет: сначала тестируйте свои гипотезы на небольшом сабсете данных (например, 15-20% от всех тестовых данных), а уже после выбора наилучшего варианта генерируйте полный сабмит. Так сможете потратить квоту более эффективно.

Как получить IAM Token и Folder ID можно посмотреть в документации Yandex Cloud.

GigaChat

Так же у Сберовского GigaChat API есть пробный тариф - Freemium. Он тоже даст вам достаточно ресурсов.

Локальный модели

Ну и, конечно, пробуйте запускать модели локально с HuggingFace или других мест.

Вы можете ознакомиться с топовыми LLM моделями здесь - LMSYS Chatbot Arena.

В ветке "new_models" вы можете увидеть пару моделей, которые мы попробовали, но не стали включать в финальный бейзлайн. Возможно они натолкнут вас на умные мысли.

Другие подходы

Пусть мы и сделали акцент на LLM аналогичные ChatGPT, это не значит, что вы не можете использовать другие LLM модели.

Будет круто, если вам пригодятся данные "train" не только для анализа.

Запуск

В контейнере (наконец-то добавлен!)

docker compose up

В локальной среде

Poetry является более продвинутым пакетным менеджером, чем pip. На с большей вероятность не возникнет ситуации, что нужные пакеты установятся неправильно.

poetry install

Переменные окружения

Создали для вас .env.example файл в корне проекта.
Чтобы создать .env файл, запускаем следующую команду:

cp .env.example .env

Структура проекта

.
├── app
│   ├── __init__.py
│   ├── models   <------------------------ подключаемые модели
│   │   ├── base.py
│   │   ├── __init__.py
│   │   └── yandexgpt.py
│   └── utils    <------------------------ утилиты
│       ├── __init__.py
│       ├── metric.py <------------------------ ознакомьтесь с метрикой
│       └── submit.py <------------------------ здесь всё для генерации сабмита
├── data
│   ├── complete <------------------------ подготовленные данные, сабмиты
│   ├── processed <----------------------- промежуточный этап подготовки данных
│   └── raw <----------------------------- исходные данные
│       ├── submit_example.csv
│       ├── test
│       │   ├── solutions.xlsx
│       │   ├── tasks.xlsx
│       │   └── tests.xlsx
│       └── train
│           ├── solutions.xlsx
│           ├── tasks.xlsx
│           └── tests.xlsx
├── main.py <---------------------------- [ВАЖНО] Именно этот скрипт мы будем запускать при проверке ваших решений. Он должен генерировать финальный сабмит.
├── notebooks
│   └── yandexgpt.ipynb
├── poetry.lock
├── pyproject.toml
├── README.md
└── tests
    ├── test_correctness.py <------------------------ проверить на корректность сабмит
    └── test_embedding_generation.py <--------------- попробовать генерацию эмбеддингов и подсчёт метрики


About

Baseline solution of HSE AI Assistant Hack: Python

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published