dota-draft / README.md
asusevski's picture
Document small model benefits and secrets
4ef7c80
|
Raw
History Blame Contribute Delete
2.46 kB

A newer version of the Gradio SDK is available: 6.20.0

Upgrade
metadata
title: Dota Draft
emoji: ⚔️
colorFrom: red
colorTo: gray
sdk: gradio
sdk_version: 6.18.0
python_version: '3.13'
app_file: app.py
pinned: false
tags:
  - track:wood
  - sponsor:openai
  - achievement:agent

Dota Draft

Dota Draft is an AI-assisted drafting workbench for Dota 2 Captains Mode. It lets a player walk through the full pick/ban sequence, record both teams' drafts, and generate draft recommendations from a small-model chat-completions agent backed by OpenDota MCP context.

Build Small submission

What it does

  • Initialize the draft with side selection and first drafting team.
  • Step through the full 20-action Captains Mode pick/ban order.
  • Record picks and bans for both teams.
  • Generate a structured backend payload containing the current picks, bans, sides, player IDs, and unavailable heroes after each draft event.
  • When it is your turn, call an OpenAI-compatible small model through the Hugging Face Router and combine that with OpenDota MCP data to recommend a pick or ban.

Tech

The app is a Gradio Space. The draft UI is implemented in app.py, the recommendation agent lives in agent.py, and the OpenDota MCP connection is defined in mcp.py.

The default model is Qwen/Qwen3.6-27B:featherless-ai, which is under the Build Small 32B parameter cap. A small language model is a good fit for this draft assistant because the task is narrow and highly structured: the model does not need broad open-ended world knowledge, it needs to rank a constrained hero pool against a compact draft state and the latest OpenDota context. Keeping the model small reduces latency, cost, and infrastructure requirements, which makes the app easier to run on a public CPU Space while still leaving the strategic reasoning in an inspectable prompt-and-tool loop.

Runtime configuration is provided through Space Secrets and environment variables:

  • OPENAI_API_KEY: Hugging Face token used by the OpenAI-compatible Hugging Face Router.
  • HF_TOKEN: Hugging Face token available to Hub-aware libraries if needed.
  • OPENAI_MODEL: optional model override.
  • OPENDOTA_API_KEY: optional OpenDota API key for higher-rate OpenDota requests.