TokenLab

핵심 가이드

Decisions

의사결정 모델로부터 타입이 지정된 확률, 선택지, 점수를 가져옵니다.

POST /v1/systemone은 하나의 state를 명명된 질문들에 대해 평가하고 질문당 하나의 타입이 지정된 답변을 반환합니다. 응답은 동기식 JSON 형식입니다: 코드에서 비교하고 분기할 수 있는 확률, 옵션 이름 또는 점수를 포함합니다. 생성된 텍스트는 반환하지 않습니다.

Decisions와 Chat 비교

Decisions 사용 시Chat 사용 시
코드가 동작을 위해 숫자나 레이블이 필요한 경우사람이나 다른 모델이 답변을 읽어야 하는 경우
요청을 라우팅, 분류 또는 게이트 처리해야 하는 경우: 환불 여부, 담당 팀, 긴급도 등설명, 요약 또는 초안 텍스트가 필요한 경우
한 번의 호출로 동일한 입력에 대해 여러 고정된 질문을 하는 경우도구, 스트리밍, 이미지 또는 다중 턴 메시지가 필요한 경우

Decision 엔드포인트는 messages, tools, stream 또는 기타 채팅 제어 기능을 허용하지 않으며, Batch에서는 사용할 수 없습니다. 메인 채팅 모델은 별도로 구성하십시오.

모델 선택

curl "https://api.tokenlab.sh/v1/models?recommended_for=decision" \
  -H "Authorization: Bearer sk-your-api-key"

category=decision으로 필터링할 수도 있습니다. 요청을 보내기 전에 선택한 모델에 대해 GET /v1/models/{model}을 읽고, 모델 ID를 명시적으로 보내십시오. 이 페이지의 예제는 jev-1.13을 사용합니다.

요청 형태

필드타입참고
modelstringDecision 모델 ID
statestring, JSON object, or JSON array평가할 입력(티켓, 대화 기록, 레코드 등)
questionsobject최소 하나의 질문. 각 키는 질문 이름이며, 각 값은 type, instructions, criteria를 포함합니다

instructions와 각 기준(criterion)은 문자열, JSON 객체 또는 JSON 배열도 허용합니다. 요청 시 알 수 없는 필드는 거부됩니다.

typecriteria답변
noul선택 사항. true와 false 지침을 모두 포함하는 객체noul: 진술이 참일 확률(0에서 1 사이)
choice필수. 1~255개의 옵션 이름으로 구성된 객체, 각 옵션은 지침 또는 null에 매핑됨choice: 옵션 이름 중 하나. probabilities와 confidence를 포함할 수 있음
score필수. 2~10단계 설명으로 구성된 정렬된 배열score: 0부터 마지막 배열 인덱스까지의 숫자(소수점 포함 가능). legend, probabilities, confidence를 포함할 수 있음

티켓 평가

curl https://api.tokenlab.sh/v1/systemone \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jev-1.13",
    "state": "I was charged twice. Please refund the duplicate payment.",
    "questions": {
      "refund_requested": {"type": "noul", "instructions": "Is a refund requested?"},
      "department": {
        "type": "choice", "instructions": "Which team should handle this?",
        "criteria": {"refunds": "Charges and refunds", "technical": "Software bugs"}
      },
      "urgency": {
        "type": "score", "instructions": "Rate urgency",
        "criteria": ["Routine enquiry", "Money affected", "Safety emergency"]
      }
    }
  }'

응답은 질문 이름을 answers 아래에 유지합니다. 아래 값은 예시입니다:

{
  "model": "jev-1.13",
  "answers": {
    "refund_requested": {"type": "noul", "noul": 0.97},
    "department": {"type": "choice", "choice": "refunds"},
    "urgency": {"type": "score", "score": 1}
  },
  "usage": {"input_tokens": 96, "output_tokens": 12}
}

답변 사용

  • 모든 질문은 동일한 이름 아래 동일한 type의 답변을 받습니다.
  • noul 답변은 Boolean이 아닌 확률입니다. 각 작업에 대해 고유한 임계값을 선택하십시오.
  • choice 답변은 항상 전송한 옵션 이름 중 하나입니다.
  • score 답변은 criteria 배열을 인덱싱합니다: 위 예시에서 1은 'Money affected'를 의미합니다.
  • 환불, 에스컬레이션 또는 기타 작업을 수행하기 전에 자체 레이블이 지정된 케이스를 대상으로 Decision을 테스트하십시오.

MCP에서 사용

TokenLab MCP server는 core 및 full 프로필에서 evaluate_decisions를 노출합니다. 먼저 {"category":"decision"}과 함께 list_models를 호출하고 get_model을 호출한 다음, 동일한 model, state, questions를 도구 인수로 전달하십시오. 결과에서 structuredContent.answers와 structuredContent.usage를 읽으십시오. 이 도구는 동기식 결과를 반환하며 비동기 작업 폴링을 사용하지 않습니다.

SDK에서 사용

TokenLab JavaScript SDK 0.1.2+는 evaluateDecisions(body)를 제공하며, Python SDK 0.1.2+는 evaluate_decisions(body)를 제공합니다. 본문(body)은 HTTP 요청과 동일한 JSON입니다. 두 SDK 모두 타입이 지정된 답변과 사용량을 유지하며 실패한 요청을 자동으로 재시도하지 않습니다. SDKs를 참조하십시오.

비용 및 재시도

  • Decision은 응답의 usage.input_tokens 및 usage.output_tokens를 기준으로 모델의 현재 토큰 가격에 따라 과금됩니다.
  • 가격은 변경될 수 있습니다. 가격을 하드코딩하는 대신 모델의 가격 세부 정보나 Pricing API를 확인하십시오.
  • 모델은 출력 가격이 0인 경우에도 출력 토큰을 보고할 수 있습니다.
  • 요청은 귀하의 배송 옵션을 따릅니다. 청구 및 가격 책정을 참조하십시오.
  • 타임아웃 발생 시 결과가 불확실할 수 있습니다. 유료 요청을 다시 보내기 전에 로그나 콘솔에서 요청 상태를 확인하십시오.

일반적인 오류

증상원인해결 방법
messages 또는 stream과 같은 필드에서 400 오류 발생채팅 필드는 이 엔드포인트에 포함되지 않음model, state, questions만 전송하십시오
criteria에서 400 오류 발생choice에 옵션이 0개이거나 255개를 초과함, score에 레벨이 2개 미만이거나 10개를 초과함, 또는 noul 객체에 true나 false가 없음질문 정의를 수정하십시오
약한 신호에서 작업이 실행됨noul 확률이 true 또는 false로 처리됨테스트한 임계값과 비교하십시오

API 참조

주제참조
Evaluate Decisions의사결정 평가
List Models모델 목록 조회
PricingPricing API
Billing & PricingBilling & Pricing

이 페이지의 내용