File size: 731 Bytes
7b903ca 928da19 e79a6a4 7b903ca 6d23314 e79a6a4 7b903ca 2583351 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | from __future__ import annotations
from typing import Optional
from models import ExplainerResult
from explainers.explainer_percent import explain_percent_question
from explainers.explainer_ratio import explain_ratio_question
from explainers.explainer_algebra import explain_algebra_question
from explainers.explainer_probability import explain_probability_question
def route_explainer(text: str) -> Optional[ExplainerResult]:
for fn in (
explain_percent_question,
explain_ratio_question,
explain_algebra_question,
explain_probability_question
):
result = fn(text)
if result is not None and getattr(result, "understood", False):
return result
return None |