Update app.py
Browse files
app.py
CHANGED
|
@@ -10,8 +10,7 @@ import requests
|
|
| 10 |
import gradio as gr
|
| 11 |
import pandas as pd
|
| 12 |
from huggingface_hub import login
|
| 13 |
-
from typing import List, Dict, Any, Optional, Union, Callable
|
| 14 |
-
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
|
| 15 |
|
| 16 |
# Константы
|
| 17 |
CACHE_FILE = "gaia_answers_cache.json"
|
|
@@ -411,7 +410,7 @@ class EvaluationRunner:
|
|
| 411 |
def run_evaluation(username: str,
|
| 412 |
agent_code_url: str,
|
| 413 |
model_name: str = "google/flan-t5-small",
|
| 414 |
-
use_cache: bool = True) ->
|
| 415 |
"""
|
| 416 |
Запускает полный процесс оценки с поддержкой кэширования
|
| 417 |
|
|
@@ -422,7 +421,13 @@ def run_evaluation(username: str,
|
|
| 422 |
use_cache: Использовать ли кэширование ответов
|
| 423 |
|
| 424 |
Returns:
|
| 425 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 426 |
"""
|
| 427 |
start_time = time.time()
|
| 428 |
|
|
@@ -443,16 +448,23 @@ def run_evaluation(username: str,
|
|
| 443 |
|
| 444 |
# Вычисляем время выполнения
|
| 445 |
elapsed_time = time.time() - start_time
|
|
|
|
| 446 |
|
| 447 |
-
# Формируем
|
| 448 |
-
|
| 449 |
-
|
| 450 |
-
|
| 451 |
-
|
| 452 |
-
|
| 453 |
-
|
| 454 |
-
|
| 455 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 456 |
|
| 457 |
|
| 458 |
def create_gradio_interface():
|
|
|
|
| 10 |
import gradio as gr
|
| 11 |
import pandas as pd
|
| 12 |
from huggingface_hub import login
|
| 13 |
+
from typing import List, Dict, Any, Optional, Union, Callable, Tuple
|
|
|
|
| 14 |
|
| 15 |
# Константы
|
| 16 |
CACHE_FILE = "gaia_answers_cache.json"
|
|
|
|
| 410 |
def run_evaluation(username: str,
|
| 411 |
agent_code_url: str,
|
| 412 |
model_name: str = "google/flan-t5-small",
|
| 413 |
+
use_cache: bool = True) -> Tuple[str, int, int, str, str, str]:
|
| 414 |
"""
|
| 415 |
Запускает полный процесс оценки с поддержкой кэширования
|
| 416 |
|
|
|
|
| 421 |
use_cache: Использовать ли кэширование ответов
|
| 422 |
|
| 423 |
Returns:
|
| 424 |
+
Tuple[str, int, int, str, str, str]: Кортеж из 6 значений:
|
| 425 |
+
- result_text: Текстовый результат оценки
|
| 426 |
+
- correct_answers: Количество правильных ответов
|
| 427 |
+
- total_questions: Общее количество вопросов
|
| 428 |
+
- elapsed_time: Время выполнения
|
| 429 |
+
- results_url: URL для проверки результатов
|
| 430 |
+
- cache_status: Статус кэширования
|
| 431 |
"""
|
| 432 |
start_time = time.time()
|
| 433 |
|
|
|
|
| 448 |
|
| 449 |
# Вычисляем время выполнения
|
| 450 |
elapsed_time = time.time() - start_time
|
| 451 |
+
elapsed_time_str = f"{elapsed_time:.2f} seconds"
|
| 452 |
|
| 453 |
+
# Формируем URL результатов
|
| 454 |
+
results_url = f"{DEFAULT_API_URL}/results?username={username}"
|
| 455 |
+
|
| 456 |
+
# Формируем статус кэширования
|
| 457 |
+
cache_status = "Cache enabled and used" if use_cache else "Cache disabled"
|
| 458 |
+
|
| 459 |
+
# ИСПРАВЛЕНО: Возвращаем 6 отдельных значений вместо словаря
|
| 460 |
+
return (
|
| 461 |
+
result, # result_text
|
| 462 |
+
runner.get_correct_answers_count(), # correct_answers
|
| 463 |
+
runner.get_total_questions_count(), # total_questions
|
| 464 |
+
elapsed_time_str, # elapsed_time
|
| 465 |
+
results_url, # results_url
|
| 466 |
+
cache_status # cache_status
|
| 467 |
+
)
|
| 468 |
|
| 469 |
|
| 470 |
def create_gradio_interface():
|