Подключение
Базовый URL, учётные данные и доступный сервер.
Держите допустимую грамматику рядом с пределом миллисекунд и проверяйте начальные нули, пробелы и единицы на входе парсера.
Базовый URL, учётные данные и доступный сервер.
Модель, которую предоставляет настроенный endpoint.
Объём контекста и поддержка инструментов определяются моделью и сервером.
import re
def duration_ms(text):
if not isinstance(text, str):
raise ValueError("duration.text")
match = re.fullmatch(r"(0|[1-9][0-9]{0,8})(ms|s|m|h)", text)
if not match:
raise ValueError("duration.syntax")
result = int(match[1]) * {"ms": 1, "s": 1000, "m": 60000, "h": 3600000}[match[2]]
if result > 86400000:
raise ValueError("duration.range")
return result