-
Поднять 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.
-
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 со статистикой.
- вход:
-
/generate: приstream=true— SSE-стриминг. -
/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, скриншоты ответов.