文档目录

Jev API

Jev 用于根据一段状态信息和一组问题执行结构化判断。它使用独立于 OpenAI 和 Anthropic 的 API 路径,适合需要返回分类、评分或置信度的场景。

地址和认证

POST https://<LLMPOOL_HOST>/jev/v1/systemone
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

API 密钥请在 Board 的 API 密钥 页面创建。请求中的 model 必须填写模型广场中显示的 Jev 模型 ID,不要填写上游服务的模型名称。

请求格式

请求必须包含 model、state 和 questions。state 与 questions 必须是非空 JSON 对象;对象内部的字段由所选 Jev 模型解释,LLMPool 不会改写这些字段。

下面的示例判断一段问答是否正确:

curl -X POST "https://<LLMPOOL_HOST>/jev/v1/systemone" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "JEV_MODEL_FROM_MODELS_PAGE",
    "state": {
      "user_message": "如何申请退款?",
      "assistant_reply": "请在订单详情页提交退款申请。"
    },
    "questions": {
      "correctness": {
        "type": "choice",
        "instructions": "判断回答是否正确解决了用户的问题。",
        "criteria": {
          "pass": "回答正确、完整,并直接解决了问题。",
          "fail": "回答包含事实错误、遗漏重要信息,或没有解决问题。"
        }
      }
    }
  }'

questions 可以包含多个判断维度。每个维度通常包含 type、instructions 和可选的 criteria;具体可用格式以所选 Jev 模型支持的 Questions API 为准。

响应格式

LLMPool 保留 Jev 上游响应中的动态 answers,并将响应中的 model 改写为客户端使用的模型广场 ID。成功响应至少包含 answers 和 usage.input_tokens:

{
  "id": "jev_request_xxx",
  "model": "JEV_MODEL_FROM_MODELS_PAGE",
  "answers": {
    "correctness": {
      "type": "choice",
      "choice": "pass",
      "confidence": 0.98
    }
  },
  "usage": {
    "input_tokens": 128,
    "output_tokens": 0,
    "total_tokens": 128
  }
}

usage.output_tokens 在上游未返回时按 0 处理,id、provider 和 usage.cost 等字段会按上游响应保留。Jev 的费用按输入 Token 计算,具体价格和扣费结果以账户页面为准。

在模型试验场使用

登录 Board 后打开模型试验场 → Jev,选择 API 密钥和模型,填写用户消息、助手回答以及判断维度,即可查看结构化判断结果。试验场生成的请求与本页 API 格式一致。