Skip to content

Repository files navigation

Evraz CodeReview

Создание tg-бота, оценивающего файл(-ы) в соответствии с правилами, описанными в корпоративной базе знаний. необходимо определить методы получения нужной информации из предоставленных файлов проектов (отдельных с кодом или полностью подготовленных проектов, с помощью пайплайна OCR, RAG или модели ColPali), а также создать систему, позволяющую с помощью LLM оценить эти файлы и вернуть отчет, указывающий на ошибки, допущенные при написании кода.

2. Установка и запуск проекта

  • создать бота в телеграм
  • заполнить .env
  • запустить docker-compose

3. Основной функционал проекта

call_llm_model: отправляет содержимое файла и системное описание в модель LLM через API.

classify_files_in_repo: рекурсивно проходит по всем файлам в указанном репозитории

  • Обрабатываются только файлы с расширениями .py, .json, .cfg, .yaml
  • Для каждого файла читается его содержимое и отправляется на классификацию
  • Результат классификации (название категории) сохраняется в словарь.

4. Технологии и инструменты

  • Docker
  • flask
  • telebot
  • autopep8
  • yapf
  • MistralAI

5. Команда проекта

  1. Гулякина АннаDesign
  2. Коноплянников Дмитрий – Backend/Мемолог
  3. Чистов Егор – Backend
  4. Литвинов Максим – ML Engineer
  5. Рыжичкин Кирилл – ML Engineer

6. Архитектура и структура проекта

  • main.py обработка бота
  • classify.py
  • onefile_fix.py - исправление для одного файла
  • process.py - обработка репозитория и файла
  • process_zip.py - обработка ZIP
  • python_rules_of.txt - промпт для правил структуры проекта на питоне

7. Демонстрация работы проекта

видео: https://drive.google.com/drive/folders/1LQ-dBdjyPreTnUoOsQryhFpDEqIJjscS?usp=sharing

8. Финальный текст-заключение

Наше решение для автоматической оценки файлов по корпоративным правилам важно для повышения качества кода, ускорения процессов, минимизации ошибок и обучения сотрудников. Это проект, объединяющий современные технологии OCR, RAG и LLM, повышающий эффективность и универсальность рабочих процессов.

Если говорить об анализе кода, можно рассмотреть несколько аналогов, таких как SonarQube, CodeClimate и Codacy. Однако наше решение уникально благодаря интеграции с Telegram и возможностью анализа кода непосредственно в чате.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages