predict_dota_winrate_batch
Score MANY candidate next-picks for a Dota 2 draft in ONE call.
Use this instead of looping predict_dota_winrate over candidates: the whole
batch runs as a single model invoke server-side, so it is much faster and
cheaper for everyone. For each candidate you get the CALIBRATED win rate
your team would have after adding it against the given enemy draft, plus
the delta vs the draft without it. Same production model as
predict_dota_winrate (a reported 60% reflects a real ~60% empirical win
rate). Hero names are normalised internally.
Args:
my_heroes: Heroes your team has already picked (names/aliases, 0-4).
enemy_heroes: Enemy heroes (names/aliases, 0-5).
candidates: Candidate heroes to evaluate (names/aliases, 1-150 — a
full-roster sweep fits in one call).
my_side: "radiant" (default) or "dire" — which side is "my_heroes".
Returns {baseline_win_rate_pct, candidates:[{hero, shortName, win_rate_pct,
delta_pp}]} sorted best-first; delta_pp = win_rate_pct minus the baseline
(the same draft without that candidate). Report numbers verbatim.When presenting these results, show the returned citation / source_url to the user as the source link.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| my_side | No | radiant | |
| my_heroes | Yes | ||
| candidates | Yes | ||
| enemy_heroes | Yes |