完成第一次调用: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 →阅读进度只保存在当前浏览器

