← すべてのガイド
このページの内容
ガイド GTO戦略 · 04/06 ソルバーアプリ 16 分 上級

GTOソルバー API の解析を安全に実行するにはどうすればよいですか?

1 回のリアルタイム解析を短いライフサイクルとして扱います。スケジュールし、そのツリーがクエリ可能になるまでポーリングしてから、そのツリーから返されたトークンのみを読み取ります。

更新日 メンテナンス担当 Pokerai API

直接の回答: 必要なスポットフィールドを POST /v1/gto/solver に送信し、返された solve ハンドルを保持して、spot_statusqueryable になるまで POST /v1/gto/solver/tree をポーリングします。返されたノードの tokenPOST /v1/gto/solver/node に渡します。このページではスケジューリング、ポーリング、読み取りを扱います。ソルバーの選択やリサーチツリーの設計は扱いません。

基本情報

スケジュールPOST /v1/gto/solver には boardoop_rangeip_rangepoteffective_stackhero が必要です。
非同期シグナルスケジュールの statuscomputingqueryable、または busy になります。ツリーの spot_status は読み取り可能かどうかを示すシグナルです。
読み取り範囲solve ハンドルはそのツリー/リリース呼び出しでのみ使用し、そのツリーから返された token/v1/gto/solver/nodenode 入力としてのみ使用してください。
クォータsolve_quotaは、新しい解析がトリガーされた場合にのみ存在します。ツリー、ノード、および任意のリリース操作は無料と文書化されています。
結果の境界読み取り可能なノードには strategy、または actionsrange_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_statusqueryableの場合にのみ続行してください。computingは戦略結果ではありません。no_nodesはクエリしたラウンドまたはランアウトの終端状態であるため、ポーリングを停止してください。expiredはハンドルを使用できなくなったことを意味し、スポットを再度スケジュールする必要があります。

3. ツリーのトークンを使ってノードを読み取る

クエリ可能なツリーは、nodeis_herostatustoken などのフィールドを持つノードを返します。そのトークンを 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 のないリクエストでは、actionsrange_strategy が返されることがあります。ノード応答で node_statuscomputingexpired、または error と報告された場合は、戦略として表示しないでください。error には message が含まれることがあります。

4. 読み取り可能なノードのみを解釈する

読み取り可能なヒーローノードには strategy が含まれることがあります。相手ノード、または hole_cards がないリクエストには、actionsrange_strategy が含まれることがあります。これらのフィールドは返されたノードを説明するものであり、別のツリー、スポット、ゲーム形式について保証するものではありません。

ツリーが computingno_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読み取り対応するツリーの tokennode として送信します。任意の hole_cards により、ヒーローの戦略取得を絞り込めます。

関連リソース