API로 GTO 노드 EV를 어떻게 조회하나요?
실시간 솔버 스팟이 완료되고 해당 트리를 쿼리할 수 있게 되면, 하나의 노드에 대한 EV 배열을 요청하며, 선택적으로 하나의 핸드로 필터링할 수 있습니다.
/v1/gto/solver의 solve 핸들과 /v1/gto/solver/tree의 node_id를 사용해 POST /v1/gto/evs를 호출하세요. 응답의 actions 배열은 evs에서 각 핸드의 EV 배열 순서를 정의합니다.주요 정보
| 엔드포인트 | POST /v1/gto/evs |
|---|---|
| 사전 요구 사항 | 완료된 풀이와 쿼리 가능한 솔버 트리입니다. 먼저 /v1/gto/solver/tree를 폴링하세요. |
| 필수 입력 | solve 및 node_id; hand는 선택적으로 한 핸드로 필터링합니다. |
| 응답 | actions 및 핸드별 evs 배열. 각 EV 배열은 actions와 인덱스별로 대응합니다. |
| 할당량 | 공개 OpenAPI 설명에서는 기점이 된 /v1/gto/solver 풀이 후 이 읽기를 무료로 표시합니다. |
| 접근 | 완료된 풀이와 동일한 인증된 API 영역 및 솔버 핸들 소유권 규칙을 사용하세요. |
사용 시점
솔버 결과를 사용할 수 있게 된 후 오프라인 훈련, 코칭, 핸드 리뷰, 학습 또는 연구 도구에서 노드 EV를 사용하세요. 다른 풀이를 예약하지 않고 하나의 완료된 노드에서 가능한 액션을 비교해야 하는 설명 UI에 유용합니다.
사용하지 말아야 할 때
솔버 트리를 쿼리할 수 있기 전에는 이 엔드포인트를 호출하지 말고, EV 배열을 실시간 액션 추천, 성능 보장 또는 공개 응답 계약을 벗어난 EV의 정의로 취급하지 마세요.
최소 API 요청
가려진 핸들을 자신의 솔버 요청에서 반환된 핸들로 교체하세요. 해당 솔버 트리의 노드 식별자를 사용하세요. 선택 사항인 hand 필드는 응답을 해당 핸드로 제한합니다.
curl -s https://pokerai.bet/v1/gto/evs \
-H "Authorization: Bearer $POKERAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"solve":"eyJ0Ijoic2x2X3h4eXoi...(handle from /v1/gto/solver)","node_id":"root","hand":"2c2d"}'
응답 해석
{"node_id": "root", "task_id": "slv_srp_…", "player": 1, "round": "FLOP", "actions": ["CHECK", "BET 4.000000", "BET 97.000000"], "evs": {"2c2d": [-0.826359, -0.792223, -1.643411], "2c2h": […], …}}
공개 문서 코드 응답 형태에서 actions는 [CHECK, BET 4.000000, BET 97.000000]입니다. evs["2c2d"]의 경우 첫 번째 숫자는 CHECK에, 두 번째는 BET 4.000000에, 세 번째는 BET 97.000000에 대응합니다.
설명 UI에서 두 배열을 함께 유지하세요. API 계약은 이 값을 bb 단위의 핸드별, 액션별 EV로 설명하며, 액션을 선택하거나 결과를 보장하지 않습니다.
할당량 및 준비 상태
원본 /v1/gto/solver 요청이 요금이 부과되는 풀이이므로 이 엔드포인트는 무료로 문서화되어 있습니다. 풀이가 수렴하지 않은 경우 200 응답은 { spot_status: computing }일 수 있습니다. EV 데이터가 준비되었다고 가정하지 말고 쿼리할 수 있게 될 때까지 솔버 트리를 계속 폴링하세요.
오류
| HTTP | 의미 | 수행할 작업 |
|---|---|---|
| 400 | 잘못된 요청 데이터. | 공개 스키마를 기준으로 solve, node_id, 선택적 hand를 확인하세요. |
| 401 | 인증이 누락되었거나 유효하지 않습니다. | 유효한 API 키를 전송하고 브라우저 코드와 로그에 포함하지 마세요. |
| 403 | 풀이 핸들이 유효하지 않거나 본인 것이 아닙니다. | 자신의 솔버 요청에서 인증된 핸들을 사용하세요. |
| 410 | 풀이가 만료되었습니다(TTL). | /v1/gto/solver로 해당 스팟을 다시 예약하세요. |
교육 및 검토 전용
관련 리소스
- 개발자 문서 — 인증, 솔버 수명 주기, 할당량, SDK 및 API 개념
- 대화형 API 참조 — 현재 노드 EV 작업 스키마
- OpenAPI 사양 — 기계 판독 가능한 영어 계약
- Python SDK — 공식 Python 패키지
- TypeScript / JavaScript SDK — 공식 npm 클라이언트
- 공식 MCP 서버 — 에이전트 워크플로를 위한 문서화된 MCP 패키지
- 포커 핸드 검토 API 가이드 — 솔버 분석을 세션 후 워크플로에 배치하세요
- llms.txt — Pokerai API를 위한 간결한 LLM 진입점