fix: recognize Dutch evolution questions
This commit is contained in:
@@ -27,7 +27,7 @@ from app.services.vector_feature_service import VectorFeatureService
|
||||
class GeoAssistantService:
|
||||
HISTORY_KEYWORDS = (
|
||||
"histor",
|
||||
"evolutie",
|
||||
"evolu",
|
||||
"verander",
|
||||
"trend",
|
||||
"vroeger",
|
||||
@@ -38,6 +38,11 @@ class GeoAssistantService:
|
||||
"gestegen",
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def history_requested(cls, question: str) -> bool:
|
||||
normalized = question.casefold()
|
||||
return any(keyword in normalized for keyword in cls.HISTORY_KEYWORDS)
|
||||
|
||||
def __init__(self, settings: Settings | None = None):
|
||||
self.settings = settings or get_settings()
|
||||
|
||||
@@ -272,7 +277,7 @@ class GeoAssistantService:
|
||||
|
||||
temporal_series: list[AssistantTemporalSeries] = []
|
||||
temporal_context: list[dict[str, Any]] = []
|
||||
include_history = any(keyword in payload.question.casefold() for keyword in self.HISTORY_KEYWORDS)
|
||||
include_history = self.history_requested(payload.question)
|
||||
for key, observations in self._series(datasets):
|
||||
first = observations[0]
|
||||
last = observations[-1]
|
||||
|
||||
@@ -86,6 +86,18 @@ def test_geo_assistant_rejects_model_that_is_not_installed(monkeypatch) -> None:
|
||||
assert exc_info.value.code == "OLLAMA_MODEL_UNAVAILABLE"
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"question",
|
||||
[
|
||||
"Hoe evolueerden bevolking en bosoppervlakte?",
|
||||
"Toon de historische ontwikkeling van water.",
|
||||
"Welke trend zien we sinds 2013?",
|
||||
],
|
||||
)
|
||||
def test_geo_assistant_recognizes_dutch_historical_questions(question: str) -> None:
|
||||
assert GeoAssistantService.history_requested(question) is True
|
||||
|
||||
|
||||
def test_geo_assistant_sends_grounded_context_without_thinking_trace(monkeypatch) -> None:
|
||||
service = GeoAssistantService(ollama_settings())
|
||||
project_id = uuid4()
|
||||
|
||||
Reference in New Issue
Block a user