vicfeuga's picture
Upload 12 files
2e34a98 verified
Raw
History Blame Contribute Delete
1.01 kB
from __future__ import annotations
from typing import Literal, TypedDict
QueryIntent = Literal["data_retrieval", "parameter_info", "both", "out_of_scope"]
class GraphState(TypedDict):
user_query: str
query_intent: QueryIntent
is_valid: bool
filters: dict
extracted_data: list[dict]
leading_country_result: list[dict]
parameter_data: list[dict]
error_message: str
final_response: str
conversation_history: list[dict]
def create_initial_state(
user_query: str,
conversation_history: list[dict] | None = None,
prior_filters: dict | None = None,
) -> GraphState:
return GraphState(
user_query=user_query,
query_intent="out_of_scope",
is_valid=True,
filters=prior_filters or {},
extracted_data=[],
leading_country_result=[],
parameter_data=[],
error_message="",
final_response="",
conversation_history=conversation_history or [],
)