GTOソルバー API の解析を安全に実行するにはどうすればよいですか?
1 回のリアルタイム解析を短いライフサイクルとして扱います。スケジュールし、そのツリーがクエリ可能になるまでポーリングしてから、そのツリーから返されたトークンのみを読み取ります。
POST /v1/gto/solver に送信し、返された solve ハンドルを保持して、spot_status が queryable になるまで POST /v1/gto/solver/tree をポーリングします。返されたノードの token を POST /v1/gto/solver/node に渡します。このページではスケジューリング、ポーリング、読み取りを扱います。ソルバーの選択やリサーチツリーの設計は扱いません。基本情報
| スケジュール | POST /v1/gto/solver には board、oop_range、ip_range、pot、effective_stack、hero が必要です。 |
|---|---|
| 非同期シグナル | スケジュールの status は computing、queryable、または busy になります。ツリーの spot_status は読み取り可能かどうかを示すシグナルです。 |
| 読み取り範囲 | solve ハンドルはそのツリー/リリース呼び出しでのみ使用し、そのツリーから返された token は /v1/gto/solver/node の node 入力としてのみ使用してください。 |
| クォータ | solve_quotaは、新しい解析がトリガーされた場合にのみ存在します。ツリー、ノード、および任意のリリース操作は無料と文書化されています。 |
| 結果の境界 | 読み取り可能なノードには strategy、または actions と range_strategy を含めることができます。読み取り不可のステータスは戦略を表すものではありません。 |
1. スケジュールしてハンドルを保持する
完全で自己完結したカスタムのフロップ、ターン、またはリバーの状況を使用します。ボードの長さによってストリートが選択されます。返された solve ハンドルを保存してください。これは、後続のツリーおよびリリースリクエスト用の識別子です。
curl -s https://pokerai.bet/v1/gto/solver \
+ -H "Authorization: Bearer $POKERAI_API_KEY" \
+ -H "Content-Type: application/json" \
+ -d '{"board":"2c2h2s","oop_range":"AA,KK","ip_range":"QQ,JJ","pot":6,"effective_stack":100,"hero":"OOP"}'
スケジュールレスポンスは computing または queryable になります。busy の場合、ポーリングできる解析のハンドルはありません。完了した解析ではなく、ソルバーの処理可能容量として扱ってください。公開契約では待機時間や可用性レベルは保証されていません。
2. 戦略を読み取る前にツリーをポーリングする
POST /v1/gto/solver/tree をハンドルとともに呼び出します。フロップの解析では、turn_card は任意です。river_card も任意で、曖昧さを解消する必要がある場合は turn_card と組み合わせます。別の解析のために、どちらのフィールドも勝手に指定しないでください。
curl -s https://pokerai.bet/v1/gto/solver/tree \
+ -H "Authorization: Bearer $POKERAI_API_KEY" \
+ -H "Content-Type: application/json" \
+ -d '{"solve":"<solve ハンドル>"}'
spot_statusがqueryableの場合にのみ続行してください。computingは戦略結果ではありません。no_nodesはクエリしたラウンドまたはランアウトの終端状態であるため、ポーリングを停止してください。expiredはハンドルを使用できなくなったことを意味し、スポットを再度スケジュールする必要があります。
3. ツリーのトークンを使ってノードを読み取る
クエリ可能なツリーは、node、is_hero、status、token などのフィールドを持つノードを返します。そのトークンを node として渡してください。これは API キーや再利用可能な解析ハンドルの代替ではありません。ハンドルとトークンのデータをクライアントログに出力しないでください。
curl -s https://pokerai.bet/v1/gto/solver/node \
+ -H "Authorization: Bearer $POKERAI_API_KEY" \
+ -H "Content-Type: application/json" \
+ -d '{"node":"<この solve ツリーからの token>"}'
ヒーローノードは strategy を返すことがあります。相手ノード、または hole_cards のないリクエストでは、actions と range_strategy が返されることがあります。ノード応答で node_status が computing、expired、または error と報告された場合は、戦略として表示しないでください。error には message が含まれることがあります。
4. 読み取り可能なノードのみを解釈する
読み取り可能なヒーローノードには strategy が含まれることがあります。相手ノード、または hole_cards がないリクエストには、actions と range_strategy が含まれることがあります。これらのフィールドは返されたノードを説明するものであり、別のツリー、スポット、ゲーム形式について保証するものではありません。
ツリーが computing、no_nodes、または expired の場合は、結果を提示する代わりに、ドキュメントに従って停止または再スケジュールしてください。ホスト型 API とデスクトップソルバーのどちらがより適した調査ツールかについては、透明性のある比較を参照してください。
トレーニングとレビューにのみ使用
このライフサイクルは、オフラインのトレーニング、コーチング、ハンドレビュー、学習、研究に使用してください。これは送信済みの解析の状態管理をサポートするものであり、ライブテーブルでの意思決定の提供や、戦略の品質、レイテンシー、パフォーマンスを主張するものではありません。
リアルマネーテーブルでのリアルタイム支援は禁止されています。ソルバーのスケジュール、ポーリング、ノード戦略、リリースフローを、ライブテーブルの自動化やハンド中のアクションプロンプトから除外してください。
ライフサイクルのエンドポイント一覧
ここで説明するライフサイクルには、これら3つの操作で十分です。現行の OpenAPI 契約に記載されているフィールドのみを使用してください。
| エンドポイント | ライフサイクルにおける役割 | 文書化された入力またはシグナル |
|---|---|---|
POST /v1/gto/solver | スケジュール | 必須のスポットフィールド。solve を保存し、status と任意の solve_quota を確認します。 |
POST /v1/gto/solver/tree | ポーリング | solve を送信し、spot_status: queryable になるまで待って、返された token を選択します。 |
POST /v1/gto/solver/node | 読み取り | 対応するツリーの token を node として送信します。任意の hole_cards により、ヒーローの戦略取得を絞り込めます。 |
関連リソース
- 開発者向けドキュメント — 認証、クォータ、およびソルバーのワークフロー
- インタラクティブ API リファレンス — 現在のリクエストおよびレスポンススキーマ
- OpenAPI スナップショット — 機械可読な英語の契約
- GTOソルバー API ガイド — プロダクトのコンテキストと API 機能の全体像
- ポーカーハンドレビュー API ガイド — セッション後のワークフローにソルバー解析を組み込む
- llms.txt — Pokerai API 向けの簡潔な LLM エントリーポイント