Skip to content

negodinaarina/bic-test-repository-llm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 

Repository files navigation

Тестовое задание: FastAPI + LLM Benchmark

Уровни выполнения

Уровень 1 — Минимально рабочее решение

  • Поднять FastAPI-сервер.

  • GET /models — вернуть список моделей, например:

    deepseek/deepseek-chat-v3.1:free
    z-ai/glm-4.5-air:free
    moonshotai/kimi-k2:free
    
  • POST /generate:

    • принимает prompt, model;
    • вызывает OpenRouter (OpenAI-совместимый формат) через requests.post;
    • возвращает ответ модели (текст).
  • API-ключ: из .env (через dotenv)

  • Логирование ошибок в server_logs.txt.


Уровень 2 — Продвинутая реализация

  • POST /generate:

    • параметр max_tokens (по умолчанию 512);
    • вернуть JSON с response, tokens_used, latency_seconds;
    • глобальный обработчик 429 с экспоненциальным retry.
  • POST /benchmark:

    • вход: prompt_file (txt, по строкам), model, runs (int, дефолт 5);
    • метрики latency: avg, min, max, std_dev;
    • сохранить benchmark_results.csv;
    • вернуть JSON со статистикой.

Уровень 3 — Профессиональное решение

  • /generate: при stream=trueSSE-стриминг.
  • /benchmark: при visualize=true — вернуть HTML-таблицу.
  • Провести 10 тестов: 5 для /generate (разные модели, включая stream), 5 для /benchmark (≥3 промпта, разные runs).
  • Замерить общую latency (например, curl -w "%{time_total}").
  • Сравнительная таблица моделей (средняя задержка + std_dev).
  • Приложить: benchmark_results.csv, server_logs.txt, скриншоты ответов.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 95.9%
  • Makefile 2.6%
  • Dockerfile 1.5%