pranavvmurthy26/synthetic-financial-tool-calling-grpo-rlvr-1k
🤖 Synthetic Financial Tool Calling Dataset for GRPO and RLVR This is a synthetic dataset designed for training language models on financial tool calling using GRPO (Group Relative Policy Optimization) with verifiable rewards (RLVR). The dataset contains ~1.1K examples of financial planning queries paired with expected tool calls and answers. Dataset sample schema, { "prompt": [ { "role": "system", "content": "You are a financial planning assistant with tools… See the full description on the dataset page: https://huggingface.co/datasets/pranavvmurthy26/synthetic-financial-tool-calling-grpo-rlvr-1k.
🤖 Synthetic Financial Tool Calling Dataset for GRPO and RLVR
This is a synthetic dataset designed for training language models on financial tool calling using GRPO (Group Relative Policy Optimization) with verifiable rewards (RLVR). The dataset contains ~1.1K examples of financial planning queries paired with expected tool calls and answers.
Dataset sample schema,
{
"prompt": [
{
"role": "system",
"content": "You are a financial planning assistant with tools for portfolio allocation, mortgage affordability, tax optimization, retirement readiness, debt payoff strategies, insurance needs, education funding, and currency exchange.\nAnalyze user requests and call the appropriate tool with all required parameters extracted from their query.\nReturn concise answers with key metrics. Do not ask for clarification - use reasonable defaults if needed."
},
{
"role": "user",
"content": "Age 30, retiring at 58, $95k saved, $15k annual contributions, 75% employer match. Aggressive 8.5% returns, 2.5% inflation. Want $60k retirement income, Social Security $20k at 62, no pension, healthcare $9k/year. Living to 90."
}
],
"answer": "Projected Savings: $3,656,004, Annual Gap: $117,758, Readiness: 97%, Status: Nearly There",
"ground_truth": {
"name": "calculate_retirement_readiness",
"arguments": {
"current_age": 30,
"retirement_age": 58,
"current_savings": 95000,
"annual_contribution": 15000,
"employer_match_percent": 0.75,
"expected_return": 0.085,
"inflation_rate": 0.025,
"desired_retirement_income": 60000,
"social_security_estimate": 20000,
"pension_income": 0,
"healthcare_cost_annual": 9000,
"life_expectancy": 90
}
}
}Fine-tuning an LLM using Reinforcement learning leverages prompt and uses answer optionally to verify reward.
📄 Schema
📊 How the Data is Used
The dataset is used with a GRPO trainer for tool-calling optimization:
- Dataset Loading: Loads prompts, answers, and ground truth tool calls
- Model Generation: The model generates completions (tool calls) given the prompts
- Tool Execution: Generated tool calls are executed against actual tool functions
- Reward Computation: The reward function compares tool execution results against expected answers
- Policy Optimization: GRPO uses rewards to optimize tool-calling behavior through relative comparisons across generations
🛠️ Tool Description and Rewards
Tools
Reference: `financial_tools_complex.py`
The dataset targets 8 financial planning functions with complex argument structures (8-12 parameters each):
Each function returns a deterministic string result, enabling exact-match reward computation during training.
📈 Reward Function
Reference: `financial_tools_reward.py`
The reward function implements a 3-tier scheme:
This structure encourages the model to: (1) learn to make tool calls, and (2) learn to make the correct tool calls with proper arguments.
🦾 Dataset generation
This dataset was generated with the help of kiro.dev.
Citation
If you use this dataset, please cite:
@dataset{pranavvmurthy26-synthetic-financial-tool-calling-grpo-rlvr-1k,
title={Synthetic Financial Tool Calling GRPO RLVR Dataset},
author={Murthy, Pranav},
journel={},
year={2026}
}
