跳到主要内容
赞助推荐 Claude Team 合租,少折腾账号
AI 大模型

Jev 客服实测:5 种语言跑通,附 Python 接入代码

15 分钟阅读阅读(4)
赞助推荐 团队协作里的 AI 办公工作台

Jev 最近很受关注,但它和常见聊天模型的工作方式不一样。它不负责写一段客服回复,而是把一条非结构化消息转换成程序可以直接使用的判断:语言、分类、分数、概率。

我用同一套请求测试了中文、英文、德语、法语和西班牙语客服消息。五条请求全部返回成功,耗时 804~900 ms。下面记录测试方法、结果和一个可以直接改造的 Python 接入版本。

赞助推荐 一人公司 · 创业装备库
赞助推荐 一人公司 · 创业装备库

Jev 适合做哪一层

普通聊天模型适合生成回复。Jev 更像一个判断组件:输入一条工单,输出固定选项和概率。

这次请求同时问了四个问题:

  • 消息是什么语言;
  • 应该分给哪个客服部门;
  • 紧急程度是多少;
  • 是否需要人工复核。

这种拆法比让模型一次性“理解工单并写出完整结论”更容易接进业务代码。分类结果可以路由,分数可以做阈值判断,人工复核概率可以决定是否进入人工队列。

官方文档把这三种问题叫作 Choice、Score 和 Noul。Choice 选一个固定选项,Score 在一组等级上打分,Noul 返回 0 到 1 之间的概率。三种问题可以放在同一次请求里。官方 Quick start

这次测试测了什么

样例很小,目标是验证接口和基本的跨语言理解,不是做模型排行榜。每条消息都带有明确的客服意图,结果也用固定字段输出。

语言 客服分流结果 紧急程度 人工复核概率 耗时 输入 / 输出 tokens
中文 shipping 1.32 0.49 900 ms 602 / 151
English billing_refund 0.67 0.50 874 ms 586 / 152
Deutsch technical 2.00 0.48 858 ms 589 / 152
Français order_account 0.01 0.42 875 ms 586 / 152
Español technical 1.46 0.37 804 ms 596 / 151

五条消息都被识别成了对应语言。中文订单延迟被分到 shipping,英文重复扣款被分到 billing_refund,德语登录失败和西班牙语上传崩溃都进入 technical。这些结果符合样例的业务意图,但样本量太小,不能推导出准确率或稳定性结论。

返回的模型版本是 jev-1.13.0。我们请求的是 jev-latest,服务端把它解析成了当前版本。一次请求的输入和输出合计约 740 tokens,五次请求合计 3717 tokens。

TypeSafe API keys 页面脱敏截图

图 1:API key 页面。账号、创建者和 secret 字段已经替换为演示值,只保留 Active 状态和页面结构。

Jev 用量页面截图

图 2:本次五条请求的用量记录。控制台显示 5 次请求、3717 tokens,Spend 约为 $0.0001。价格和额度以你的控制台为准。

最小 Python 请求

这个版本只用 Python 标准库,不依赖 SDK。它读取 .env 中的 TYPESAFE_API_KEY,把 key 放在服务端环境里,不写进代码,也不放到浏览器。

python3 -m venv .venv
.venv/bin/python -m pip install --upgrade pip

.env 只需要这一行:

TYPESAFE_API_KEY=your_typesafe_key_here

真实代码可以保持很小:

import json
import os
from urllib.request import Request, urlopen

payload = {
    "model": "jev-latest",
    "state": "我的订单已经付款三天了,但还没有发货,请尽快帮我查一下。",
    "questions": {
        "language": {
            "type": "choice",
            "instructions": "Which language is the customer message written in?",
            "criteria": {
                "chinese": "Chinese",
                "english": "English",
                "german": "German",
                "french": "French",
                "spanish": "Spanish",
                "other": "Another language or unclear",
            },
        },
        "department": {
            "type": "choice",
            "instructions": "Which customer-service team should handle this request?",
            "criteria": {
                "billing_refund": "Payment, duplicate charge, invoice, or refund issue",
                "technical": "Bug, login failure, crash, or integration problem",
                "order_account": "Order change, delivery address, or account information",
                "shipping": "Shipment tracking, delivery delay, or logistics issue",
                "other": "Anything else",
            },
        },
        "urgency": {
            "type": "score",
            "instructions": "How urgent does the customer sound?",
            "criteria": [
                "Routine; no time pressure",
                "Needs attention soon",
                "Urgent; asks for immediate help",
            ],
        },
        "needs_human_review": {
            "type": "noul",
            "instructions": "Would a human agent need to review this request before an automated reply?",
        },
    },
}

request = Request(
    "https://api.typesafe.ai/v1/systemone",
    data=json.dumps(payload, ensure_ascii=False).encode("utf-8"),
    headers={
        "Authorization": "Bearer " + os.environ["TYPESAFE_API_KEY"],
        "Content-Type": "application/json",
    },
    method="POST",
)

with urlopen(request, timeout=15) as response:
    result = json.loads(response.read().decode("utf-8"))

print(result["answers"]["department"]["choice"])
print(result["answers"]["urgency"]["score"])

官方接口是 POST https://api.typesafe.ai/v1/systemone,认证头是 Authorization: Bearer <API_KEY>。不要把 OpenRouter、Vercel AI Gateway 或其他服务的 key 填到这个地址上。不同渠道的 endpoint、模型名和认证方式不一定相同。

把测试脚本接进自己的项目

这次测试用的脚本还做了几件适合保留在项目里的小事:

  1. 把样例消息集中在 SAMPLES 表里,增加语言时不用改请求逻辑。
  2. 把四个判断放在一个请求中,减少重复的网络往返。
  3. 401 时立即停止,不用拿同一个错误 key 重试五次。
  4. 输出模型版本、延迟和 tokens,便于后续比较版本变化。
  5. dry-run 模式只检查 payload,不消耗 API 用量。

项目里的运行命令是:

./.venv/bin/python run_jev_customer_test.py --dry-run
./.venv/bin/python run_jev_customer_test.py

如果返回 401,先检查 key 是否来自 TypeSafe 控制台、是否复制了完整 secret,以及 .env 里是否混入了引号或空格。401 是认证失败,不是客服问题格式错误。

这次实测后的判断

Jev 值得放在客服系统的“判断层”里试用。它能把多语言消息转成稳定的选项和分数,接入路由、优先级和人工复核都比较直接。

它不能替代客服回复生成,也不能用五条样例证明生产准确率。正式接入前,还需要用真实历史工单做一批标注集,观察每种语言、每个部门和每个阈值下的误分情况。对于低置信度结果,保留人工复核入口会更稳妥。

相关资料:TypeSafe Jev 官方文档Jev 发布说明

赞助推荐 一键部署 AI 大模型
赞助推荐 一键部署 AI 大模型
赞(0)
未经允许不得转载:80aj » Jev 客服实测:5 种语言跑通,附 Python 接入代码
赞助推荐 低成本上手 Claude Code 的中转选择
赞助推荐 低成本上手 Claude Code 的中转选择
赞助推荐 一键部署 AI 大模型
赞助推荐 一键部署 AI 大模型