finqa_env / models.py
Xxa1's picture
Upload folder using huggingface_hub
079ae3a verified
# envs/finqa_env/models.py
"""
State types for the FinQA environment.
FinQA is a financial question-answering benchmark that evaluates LLMs on their
ability to answer complex financial questions using tool calls (SQL queries,
calculations, etc.) on SEC 10-K filing data.
This environment uses the MCP protocol for tool interactions. Use
``CallToolAction`` and ``ListToolsAction`` from ``openenv.core.env_server.mcp_types``
to interact with the environment.
"""
from openenv.core.env_server import State
# Tool names - defined statically to avoid circular imports
AVAILABLE_TOOLS = ["get_descriptions", "get_table_info", "sql_query", "submit_answer"]
class FinQAState(State):
"""
Internal environment state for tracking the current episode.
All fields are set during reset() and are essential for episode tracking.
Attributes:
current_question: The question being asked
current_company: The company the question is about
ground_truth: The expected answer for reward computation
question_id: Identifier for the current question
# Inherited from State: episode_id, step_count
"""
current_question: str = ""
current_company: str = ""
ground_truth: str = ""
question_id: str = ""