{"data":{"kind":"file","path":"README.md","version_id":"lg39b0swwtmnjbszoh54rdx6","entry":{"name":"README.md","path":"README.md","is_directory":false,"size":1397,"modified_at":"2026-04-15T15:04:39.592000","content_hash":"236f4b391d9d86d28c044d91d776339d0401e6ba3f9bb044fab8e118489c0ec8"},"entries":[],"content":"# overpass-rl\n\nRL environment for training models to generate Overpass QL queries from natural language using tool calling.\n\n## How it works\n\nThe model has two tools:\n1. `search_tags` — looks up OSM tags for a concept (e.g. \"pharmacy\" → `amenity=pharmacy`)\n2. `query_overpass` — executes an Overpass QL query and returns result count or error feedback\n\nThe model searches for relevant tags, constructs a query, and can retry up to 10 turns on failure.\n\n## Reward\n\nTwo equally-weighted reward signals (0.5 each):\n\n- **Execution reward** — gated on query structure (`[out:json]`, `[bbox:]`, tag filter required). Scores by result count: 1-100 → 1.0, 101-500 → 0.8, 501-2000 → 0.5, 2001-10000 → 0.2, >10000 or 0 → 0.0.\n- **Tag pipeline reward** — checks if the model incorporated `search_tags` results into its `query_overpass` call. Fraction of returned tags that appear in the final query.\n\nMonitoring metrics (weight=0): `search_tags` usage, tag correctness against expected tags.\n\n## Configuration\n\n```toml\n[[env]]\nid = \"laulauland/overpass-rl\"\nargs = { overpass_url = \"http://your-overpass-instance/api/interpreter\" }\n```\n\nDefault URLs point to a self-hosted Overpass instance and tag search service.\n\n## Dataset\n\nTraining: `laulauland/overpass-rl-s1` from Hugging Face Hub.\n\nEvaluation: 60 hand-curated examples (20 easy / 20 medium / 20 hard) across 15 geographic regions.\n","encoding":"utf-8","truncated":false,"total_bytes":1397},"status":null}