Непустой вывод¶
NonEmptyMetric проверяет, что фактический вывод не пустой и не состоит только из пробельных символов.
Как это работает¶
- Удаляет начальные и конечные пробельные символы из вывода
- Проверяет, что длина результирующей строки больше нуля
- Возвращает
1.0, если вывод непустой,0.0в противном случае
Параметры¶
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
threshold | float | 1.0 | Минимальный балл для прохождения |
У этой метрики нет дополнительных параметров.
Обязательные поля¶
| Поле | Обязательно |
|---|---|
input | Нет |
actual_output | Да |
expected_output | Нет |
Использование¶
from eval_lib.metrics import NonEmptyMetric
from eval_lib.test_case import EvalTestCase
import asyncio
test_case = EvalTestCase(
input="Скажите что-нибудь",
actual_output="Привет, мир!"
)
metric = NonEmptyMetric(threshold=1.0)
result = asyncio.run(metric.evaluate(test_case))
print(result.score) # 1.0
Примеры сценариев¶
Прошел (1.0)¶
metric = NonEmptyMetric()
EvalTestCase(
input="Сгенерируйте ответ",
actual_output="Вот мой ответ."
)
# Вывод непустой
Не прошел (0.0)¶
metric = NonEmptyMetric()
EvalTestCase(
input="Сгенерируйте ответ",
actual_output=""
)
# Вывод пустой