PokerForge PPO Poker Bots

This repository contains runtime artifacts for PokerForge, a full-stack AI poker platform built around heads-up No-Limit Texas Hold'em abstractions.

Files

  • models/medium/ppo_medium_final.zip - PPO medium bot trained for 1M timesteps vs easy.
  • models/hard/ppo_hard_final.zip - PPO hard bot trained for 5M timesteps vs frozen medium.
  • models/*/best_model.zip - best checkpoints from training/evaluation callbacks.
  • reports/evaluation_report.* - latest reproducible bot-vs-bot evaluation report.
  • reports/representative_hands.json - replay-ready sample hand logs for the frontend dashboard.

Runtime Contract

  • Framework: Stable-Baselines3 PPO
  • Observation space: Box(18,)
  • Action space: Discrete(3) where 0=fold, 1=check/call, 2=raise
  • Expected local paths inside PokerForge:
    • backend/data/models/medium/ppo_medium_final.zip
    • backend/data/models/hard/ppo_hard_final.zip

Evaluation Summary

The latest evaluation report is included under reports/. The current honest finding is that medium and hard both beat easy, while hard only shows a marginal, statistically weak edge over medium. This is attributed mainly to the limited 3-action abstraction creating a ceiling on behavioral differentiation.

Reproduce In PokerForge

cd backend
python tools/download_models.py --repo-id Rushisagar221/pokerforge-bots --if-missing
python server.py

Manifest

{
  "repo_id": "Rushisagar221/pokerforge-bots",
  "generated_at": "2026-04-23T14:08:03.040902",
  "artifacts": [
    {
      "path": "models/medium/ppo_medium_final.zip",
      "bytes": 162131,
      "sha256": "b8ed8a7217de2bc790af71a0dbdc6a5a9fd695fcf541351bb965549d3c20c126"
    },
    {
      "path": "models/medium/best_model.zip",
      "bytes": 162116,
      "sha256": "31d26001f967b7d221af016ec1a4c5b1a33f32b71630cb2eea3bf9c8a2e59956"
    },
    {
      "path": "models/hard/ppo_hard_final.zip",
      "bytes": 165087,
      "sha256": "ac3b23fd8188713cd25bcbd1585cfc213d1a05b6254c56ba59ee7119de5896e1"
    },
    {
      "path": "models/hard/best_model.zip",
      "bytes": 165087,
      "sha256": "ac3b23fd8188713cd25bcbd1585cfc213d1a05b6254c56ba59ee7119de5896e1"
    },
    {
      "path": "reports/evaluation_report.json",
      "bytes": 51143,
      "sha256": "1ce452e2e57e67965f13337cb12a736cf658467e3db70ea20b52eaeddb67532a"
    },
    {
      "path": "reports/evaluation_report.md",
      "bytes": 2486,
      "sha256": "2ed28899b86090b97bdacbae1273c4366202344e42ab8b93013cdc260db378bb"
    },
    {
      "path": "reports/representative_hands.json",
      "bytes": 64864,
      "sha256": "33054b06fbfe819dbfb98faafa32534ff149bbd254f9250fb405786fbd2ecaf3"
    }
  ]
}
Downloads last month
48
Video Preview
loading