BazaarLinkBazaarLink
로그인
문서API 레퍼런스SDK 레퍼런스에이전트 사용법AI 스킬
목차

구조화 평가(Jev)

구조화 평가(Jev)

Jev는 JSON 상태를 이름이 지정된 질문으로 평가하고 boolean, choice 또는 score 유형의 답변을 반환합니다. 명확한 기준을 프로그램에서 처리할 수 있는 평가 결과로 바꿀 때 사용하세요.

평가 및 판단 전용
Jev는 채팅을 지원하지 않습니다. Jev 요청은 POST /v1/evaluations로 보내세요. POST /v1/chat/completions로 보내면 HTTP 400을 반환합니다.
POST/v1/evaluations

BazaarLink API 키로 다음 엔드포인트를 호출하세요. 전체 URL: https://api.bazaarlink.ai/v1/evaluations.

필드 설명

model
string
선택 사항입니다. 생략하면 typesafe-ai/jev가 기본값입니다. 다른 모델 ID는 HTTP 400과 model_not_available 코드를 반환합니다.
state
string | object | array
필수입니다. 평가할 상태를 JSON 문자열, 객체 또는 배열로 제공합니다. 직렬화된 state와 questions의 합계가 32,000 tokens를 넘으면 context_length_exceeded를 반환합니다.
questions
record<string, Question>
필수이며 이름이 지정된 질문을 하나 이상 포함하는 객체입니다. 각 질문 이름은 응답 answers 객체의 키가 됩니다.
type
boolean | choice | score
각 질문에 필수이며 boolean, choice 또는 score 중 하나입니다.
instructions
string | object | array
각 질문에 필수입니다. 판단할 내용을 설명하는 JSON 문자열, 객체 또는 배열입니다.
criteria
object | array
type에 따라 다릅니다. boolean에서는 선택 사항이며, 제공할 경우 키는 true 또는 false만 허용됩니다. choice에는 비어 있지 않은 객체가 필요하고 score에는 순서가 있는 항목 두 개 이상의 배열이 필요합니다.

답변 유형

  • boolean — criteria는 생략할 수 있으며, 지정하는 경우 true와 false 키만 허용됩니다. 답변에는 숫자 probability가 포함됩니다.
  • choice — criteria는 선택지 이름을 JSON 기준에 연결하는 비어 있지 않은 객체여야 합니다. 답변에는 문자열 choice가 포함되며 probabilities의 키는 선택지 이름입니다.
  • score — criteria는 두 항목 이상을 순서대로 담은 배열이어야 합니다. 숫자 score는 criteria 배열 순서에 따른 인덱스 0..N-1의 기댓값이며, probabilities의 키는 해당 인덱스를 문자열로 나타낸 값입니다.

요청 예시

curl --fail-with-body https://api.bazaarlink.ai/v1/evaluations \
  -H "Authorization: Bearer $BAZAARLINK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "typesafe-ai/jev",
  "state": "The support agent issued a full refund and apologised for the delay.",
  "questions": {
    "refunded": {
      "type": "boolean",
      "instructions": "Was a refund issued?"
    },
    "tone": {
      "type": "choice",
      "instructions": "Tone of the agent?",
      "criteria": {
        "apologetic": "The agent apologises",
        "neutral": "No emotional language",
        "hostile": "The agent is rude"
      }
    },
    "quality": {
      "type": "score",
      "instructions": "How complete was the resolution?",
      "criteria": [
        "poor",
        "partial",
        "complete"
      ]
    }
  }
}'

성공 응답 예시

예시 응답에는 id, object, model, answers, usage, rounding, warnings가 포함됩니다. answers의 키는 질문 이름입니다. usage에는 input_tokens, output_tokens, total_tokens가 있고 rounding에는 probabilityDecimals와 scoreDecimals가 표시됩니다. warnings는 배열이며 이 예시에서는 비어 있습니다. answers에서 choice의 probabilities는 선택지 이름을 키로 사용하고, score의 probabilities는 criteria 인덱스를 문자열로 바꾼 값을 키로 사용합니다.

{
  "id": "eval-a3d350e5-2705-4a9b-be7c-838fa4e4eb2b",
  "object": "evaluation",
  "model": "typesafe-ai/jev",
  "answers": {
    "refunded": {
      "type": "boolean",
      "probability": 0.99
    },
    "tone": {
      "type": "choice",
      "choice": "apologetic",
      "probabilities": {
        "apologetic": 1,
        "neutral": 0,
        "hostile": 0
      }
    },
    "quality": {
      "type": "score",
      "score": 1.98,
      "probabilities": {
        "0": 0,
        "1": 0.02,
        "2": 0.98
      }
    }
  },
  "usage": {
    "input_tokens": 394,
    "output_tokens": 74,
    "total_tokens": 468
  },
  "rounding": {
    "probabilityDecimals": 2,
    "scoreDecimals": 2
  },
  "warnings": []
}

채팅 엔드포인트 오류 응답

Jev를 채팅 엔드포인트로 보내면 HTTP 400을 반환합니다. 아래 필드와 값은 처리 코드와 일치합니다. message는 자리표시자이며 실제 문구는 서버가 제공합니다.

{
  "error": {
    "message": "<server-generated message>",
    "type": "invalid_request_error",
    "code": 400
  }
}
Support
Hi! How can we help you?
Send a message and we'll get back to you soon.
구조화 평가(Jev) | BazaarLink