Jev 101
简体中文 ▾
简体中文English
API 接入/获取与接入

完成第一次调用:HTTP、Python 与 JavaScript

从一条脱敏文本得到一个真实的类型化答案,保留模型和用量信息。

本课使用哪条渠道

本课使用当前可自助开通的 OpenRouter。先完成:注册 → 充值 Credits → 创建 OPENROUTER_API_KEY。如果你选的是 Cloudflare 或 Vercel,请按渠道页使用对应凭据和入口,不能只替换模型名。

最小请求

把下面内容保存为 request.json:

{
  "model": "typesafe/jev-1.13",
  "state": "客户说:我还没有收到包裹,请查询物流。",
  "questions": {
    "asks_shipping": {
      "type": "noul",
      "instructions": "Does the customer ask about delivery or shipping?"
    }
  }
}

在终端设置 OPENROUTER_API_KEY 后调用专用 Decisions API:

curl --fail-with-body https://openrouter.ai/api/alpha/decisions \
  -H "Authorization: Bearer $OPENROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @request.json

Python

安装 requests,把代码保存为 first_call.py:

python -m pip install requests
import json, os, requests

with open("request.json", encoding="utf-8") as file:
    payload = json.load(file)

response = requests.post(
    "https://openrouter.ai/api/alpha/decisions",
    headers={"Authorization": f"Bearer {os.environ['OPENROUTER_API_KEY']}"},
    json=payload,
    timeout=30,
)
response.raise_for_status()
print(response.json())

JavaScript

使用 Node.js 20 或更新版本;不要在浏览器里放 Key:

import { readFile } from "node:fs/promises";

const payload = JSON.parse(await readFile("request.json", "utf8"));
const response = await fetch("https://openrouter.ai/api/alpha/decisions", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.OPENROUTER_API_KEY}`,
    "Content-Type": "application/json"
  },
  body: JSON.stringify(payload)
});
if (!response.ok) throw new Error(`${response.status}: ${await response.text()}`);
console.log(await response.json());

验收

响应应包含 answers.asks_shipping、答案类型和 0~1 的概率。记录实际模型、用量和错误;确认成功后再加重试、限流和业务动作。

本页来源与验证边界

核对日期:2026-09-19。文档整理,不代表本站完成了真实 API 或业务效果测试。

OpenRouter · Jev 1.13 →
阅读进度只保存在当前浏览器