Comment créer un flux de travail d’API pour l’analyse de mains de poker ?
Créez un flux d’examen après session qui n’accepte qu’une main terminée, utilise des données API déterministes pour ses cartes, son tableau, son équité et sa stratégie, puis ajoute une recherche GTO après que l’utilisateur a choisi une situation à étudier.
En bref
| Analyse syntaxique de la main | POST /v1/pokerkit/notation/parse analyse la notation publique Poker Hand History en données de jeu structurées. |
|---|---|
| Relecture | POST /v1/pokerkit/games/state renvoie un instantané comprenant le pot, les tapis, le board, les cartes privatives et les actions légales pour les actions soumises. |
| Sémantique | POST /v1/pokerkit/hand-report renvoie la texture, le niveau, les tirages, les outs et les bloqueurs pour une main à cartes fermées et un board. |
| Équité | POST /v1/pokerkit/equity renvoie les équités Monte-Carlo et le nombre d’échantillons. |
| Recherche GTO | POST /v1/gto/preflop renvoie une stratégie mixte pré-résolue pour une ligne d’action préflop documentée. |
1. Analyser ou rejouer la main terminée
N’enregistrez une main qu’après la session, puis transmettez son texte Poker Hand History à l’analyseur de notation. Pour une chronologie d’analyse, envoyez la configuration structurée et les actions au point de terminaison d’état du jeu ; son instantané fournit à l’interface utilisateur une vue factuelle du pot, des tapis, du board, des cartes fermées et des actions autorisées.
{"text": "variant = \"NT\"\nante_trimming_status = true\nantes = [0, 0]\nblinds_or_straddles = [1, 2]\nmin_bet = 2\nstarting_stacks = [200, 200]\nactions = [\"d dh p1 AhKh\", \"d dh p2 QsQd\", \"p1 cbr 6\", \"p2 cc\", \"d db Qh7c2d\"]\n"}
{"result": {"variant": "NT", "ante_trimming_status": true, "antes": [0, 0], "blinds_or_straddles": [1, 2], "bring_in": null, "small_bet": null, "big_bet": null, "min_bet": 2, "starting_stacks": [200, 200], "actions": ["d dh p1 AhKh", "d dh p2 QsQd", "p1 cbr 6", "p2 cc", "d db Qh7c2d"], "automations": [{"name": "ANTE_POSTING", "value": "Ante posting"}, …], "author": null, "event": null, "day": null, "month": null, "year": null, "hand": null, "currency": null}}
2. Expliquer la sémantique du board et de la main
À la street sélectionnée, appelez le point de terminaison du rapport de main avec le hole du joueur et le board. Affichez la texture renvoyée, le niveau de main faite, les tirages, les outs et les bloqueurs sous forme de libellés et d’éléments probants ; ne déduisez pas de recommandation de ces champs descriptifs.
{"hole": "JhTh", "board": "AsKsQs"}
{"result": {"texture": {"cards": ["As", "Ks", "Qs"], "wetness": {"name": "WET", "value": "Wet"}, "connectivity": {"name": "HIGH", "value": "High"}, "rank_band": {"name": "HIGH", "value": "High"}, "straight_draw": {"name": "OPEN_ENDED", "value": "Open-ended"}, "flush_draw": {"name": "LIVE", "value": "Live"}, "are_two_tone": false, "are_monotone": true, "are_rainbow": false}, "tier": {"category": {"name": "STRAIGHT", "value": "Straight"}, "is_nut": false, "pair_tier": null, "two_pair_tier": null, "three_of_a_kind_tier": null, "kicker_tier": null, "nut_rank": {"name": "NON_NUT", "value": "Non-nut"}}, "draws": {"straight_draw": null, "flush_draw": null, "nut_rank": null}, "outs": {"by_category": {}, "count": 0}}}
3. Estimez l’équité avec son contexte d’échantillonnage
Pour une comparaison de revue, envoyez les ranges connues, le board, le nombre d’échantillons et la seed à l’endpoint d’équité. Affichez chaque équité renvoyée à côté de sample_count ; il s’agit d’une estimation pour les ranges et le board fournis, et non d’une promesse concernant la prochaine carte ou d’une instruction de mise.
{"ranges": [["AA"], ["KK"]], "board": "", "sample_count": 2000, "seed": 7}
{"result": {"equities": [0.8235, 0.1765], "sample_count": 2000}}
4. Ajoutez une recherche GTO à l’explication de l’analyse
Associez une ligne d’actions préflop reconstituée à la recherche préflop documentée. Affichez le tableau de stratégie renvoyé sous forme de fréquences mixtes et expliquez que l’utilisateur choisit selon la fréquence ; gardez cette étape de revue distincte du jeu en direct.
curl -s https://pokerai.bet/v1/gto/preflop \
-H "Authorization: Bearer $POKERAI_API_KEY" -H "Content-Type: application/json" \
-d '{"hole_cards":"AhKh","positions":{"hero":"MP"},"preflop_version":"6max_RC_100bb_200NL",
"preflop_actions":[{"position":"SB","action":"small blind","amount":0.5},
{"position":"BB","action":"big blind","amount":1},
{"position":"UTG","action":"raise","amount":3}]}'
5. Créez une interface utilisateur d’explication, et non une invite d’action
Présentez une séquence stable : chronologie de la main, faits sur le board et la main, estimation d'équité, puis fréquences de la stratégie GTO. Indiquez les entrées, les champs renvoyés, la street et les hypothèses. Présentez les alternatives et leur fréquence plutôt qu'un unique bouton « jouer maintenant ».
Formation et analyse uniquement
N’acceptez que des mains déjà terminées et utilisez ce flux de travail pour l’entraînement, le coaching, la revue de mains, l’étude et la recherche après une main. Exigez une revue humaine pour tout coaching ou résultat produit ayant des conséquences. L’assistance en temps réel aux tables avec de l’argent réel est interdite. N’ingérez pas de flux de table en direct, ne sélectionnez pas automatiquement une action et n’exposez pas d’interface de recommandation pendant une main.
Ressources associées
- Documentation développeur — authentification, quotas, SDK, erreurs et comportement de l’API
- Référence API interactive — les schémas actuels des endpoints publics
- Spécification OpenAPI — le contrat anglais lisible par machine
- Guide de l’API de stratégie préflop — comment reconstruire et interroger une séquence d'actions préflop
- Guide MCP Pokerai — ajoutez l’orchestration des agents uniquement une fois le flux d’examen des mains terminées en place
- llms.txt — le point d’entrée concis pour les LLM de Pokerai API