Jev
TypeSafe Jev 是一个判断模型,不生成文本,只回答预先定义的问题。请求中提供待判断的内容和一组问题,模型为每个问题返回结构化答案及其概率,程序可直接依据结果执行分支逻辑。
适用场景
适用于:
- 分类与分流:工单归属的处理团队、用户意图类别。
- 是非判断:是否包含个人信息、是否为退款申请、是否为提示词注入。
- 评分与排序:紧急程度、相关度、情绪强度,以及检索结果筛选。
- 大模型输出质检:回答是否切题、是否违规。
不适用于:
- 生成文本、摘要、翻译或代码。
- 图片判断(Jev 仅支持文本和 JSON 输入,图片判断请使用 GPT-6 Luna)。
- 答案无法预先列为选项或级别的开放式问题。
与「对话大模型 + JSON 输出」的对比:
快速开始
1. 准备接入信息:在 OfoxAI 控制台 创建 API Key,并使用以下信息:
https://api.ofox.ai/v1typesafe/jev-latest也可写作 jev-latest/v1/decisionsPOST;不适用 /v1/chat/completions2. 安装 SDK:使用 OpenAI 官方 Python SDK 调用时,需安装包含 client.decisions 的版本:
pip install -U openaiAttributeError: 'OpenAI' object has no attribute 'decisions',表示 SDK 版本过旧,执行上述命令升级即可(实测 openai 3.31.0 可用)。不使用 SDK 时,也可通过下方 cURL 调用。3. 发起调用:
Python
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.ofox.ai/v1", api_key=os.environ["OFOX_API_KEY"])
r = client.decisions.create(
model="typesafe/jev-latest",
input="客户留言:我被重复扣款了,两封邮件都没人回,今天必须退款。",
questions=[{"type": "predicate", "name": "is_frustrated", "instructions": "客户是否不满?"}],
)
print(r.answers[0].probability) # 0.98响应示例:
{
"model": "typesafe/jev-latest",
"answers": [{ "type": "predicate", "name": "is_frustrated", "probability": 0.98 }],
"usage": { "prompt_tokens": 302, "completion_tokens": 23, "total_tokens": 325 }
}probability 表示答案为「是」的概率,0.98 即模型判断客户不满的可能性极高。将 input 替换为实际内容、questions 替换为实际问题,即可用于自己的业务场景。
问题类型
根据所需的结果形式选择问题类型:
示例:「是否为退款申请」使用 predicate;「应由哪个团队处理」使用 choice;「紧急程度如何」使用 score。三个问题可放在同一请求中,一次返回全部答案。
确定问题类型后,请参照问题设计检查问题与选项。
常见报错
完整报错列表见 Decisions API · 常见报错。
官方文档
常见问题
Jev 和用大模型输出 JSON 有什么区别?
Jev 仅在给定的选项和级别内作答,不会返回范围外的值;每个答案附带概率,choice 与 score 另附置信度,可直接用于设置阈值。大模型输出 JSON 需要额外校验,通常也不提供可用的概率。
/v1/decisions 和 /typesafe/v1/systemone 该用哪个?
新项目建议使用 /v1/decisions,可直接通过 OpenAI SDK 调用。已使用 TypeSafe SDK 或其官方示例代码的项目,可使用 /typesafe/v1/systemone,仅需修改 base URL。
Jev 如何计费?
仅按输入 token 计费,输出不计费,单价见模型页。同一请求中的多个问题共享同一份输入,因此将问题合并到一次请求中可降低成本。
置信度高是否意味着答案一定正确?
不一定。选项未覆盖实际情况时,模型仍会从已有选项中选择一个,且置信度可能较高。因此 choice 问题应设置「以上都不是」等兜底选项,并使用人工标注样本进行验证。
score 返回 1.43 表示什么?
score 是按各级概率加权计算的值,级别从 0 开始编号。1.43 表示介于第 1 级与第 2 级之间、更接近第 1 级;各级的具体概率见 probabilities。
是否支持中文内容?
支持。内容与问题均可使用中文,也可内容使用中文、问题使用英文。
Jev 是否支持图片?
不支持,Jev 仅接受文本和 JSON。需要对图片进行判断时,可改用支持图片输入的 GPT-6 Luna(openai/gpt-6-luna),请求格式相同。