BazaarLinkBazaarLink
Masuk
DokumentasiReferensi APIReferensi SDKPenggunaan AgentikSkill AI
Daftar isi

Evaluasi terstruktur (Jev)

Evaluasi terstruktur (Jev)

Jev mengevaluasi state JSON berdasarkan pertanyaan bernama dan mengembalikan jawaban bertipe boolean, choice, atau score. Gunakan saat aplikasi perlu mengubah kriteria yang jelas menjadi hasil evaluasi yang dapat dibaca program.

Khusus evaluasi dan penilaian
Jev tidak mendukung chat. Kirim permintaan Jev ke POST /v1/evaluations; permintaan ke POST /v1/chat/completions akan menerima HTTP 400.
POST/v1/evaluations

Panggil endpoint ini dengan kunci API BazaarLink Anda. URL lengkap: https://api.bazaarlink.ai/v1/evaluations.

Keterangan field

model
string
Opsional. Jika dihilangkan, nilai default-nya typesafe-ai/jev. ID model lain mengembalikan HTTP 400 dengan kode model_not_available.
state
string | object | array
Wajib. Berikan state yang dinilai sebagai string JSON, objek, atau array. Total state dan questions setelah serialisasi yang melebihi 32.000 tokens mengembalikan context_length_exceeded.
questions
record<string, Question>
Wajib, berupa objek tidak kosong yang berisi pertanyaan bernama. Nama tiap pertanyaan menjadi kunci dalam objek answers pada respons.
type
boolean | choice | score
Wajib untuk setiap pertanyaan; pilih boolean, choice, atau score.
instructions
string | object | array
Wajib untuk setiap pertanyaan. Berupa string JSON, objek, atau array yang menjelaskan hal yang perlu diputuskan.
criteria
object | array
Bergantung pada type: opsional untuk boolean dan, jika ada, berupa objek dengan kunci true atau false saja; wajib berupa objek tidak kosong untuk choice; wajib berupa array berurutan dengan sedikitnya dua entri untuk score.

Jenis jawaban

  • boolean — criteria bersifat opsional; jika disertakan, hanya kunci true dan false yang diterima. Jawaban memuat probability numerik.
  • choice — criteria harus berupa objek tidak kosong yang memetakan nama opsi ke kriteria JSON. Jawaban memuat choice berupa string; probabilities menggunakan nama opsi sebagai kunci.
  • score — criteria harus berupa array berurutan dengan sedikitnya dua entri. score berupa angka dan merupakan nilai harapan dari indeks 0..N-1 sesuai urutan array criteria; probabilities menggunakan indeks tersebut dalam bentuk string sebagai kunci.

Contoh permintaan

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"
      ]
    }
  }
}'

Contoh respons berhasil

Contoh respons ini memuat id, object, model, answers, usage, rounding, dan warnings. answers menggunakan nama pertanyaan sebagai kunci. usage memuat input_tokens, output_tokens, dan total_tokens; rounding menampilkan probabilityDecimals dan scoreDecimals. warnings berupa array dan kosong dalam contoh ini. Di dalam answers, probabilities untuk choice memakai nama opsi sebagai kunci, sedangkan probabilities untuk score memakai indeks criteria dalam bentuk string sebagai kunci.

{
  "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": []
}

Respons error pada endpoint chat

Mengirim Jev ke endpoint chat menghasilkan HTTP 400. Field dan nilai berikut sesuai dengan handler; message ditampilkan sebagai teks pengganti dan teks sebenarnya diberikan oleh server.

{
  "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.
Evaluasi terstruktur (Jev) | BazaarLink