OpenAI 与 Anthropic 兼容
已经在用 OpenAI 或 Anthropic SDK 了?只需改动两处——base URL 和 API 密钥——就能把它指向 Nexevo。现有代码照常工作,且每次调用都能获得 Nexevo 的智能路由、计费和 BYOK。
端点
POST/v1/chat/completions — OpenAI Chat Completions
POST/v1/messages — Anthropic Messages
两者都完全采用各自厂商的线上格式(支持流式与非流式),因此官方 SDK 无需修改即可使用。这也顺便回答了“有没有 SDK?”这个问题——用你已有的 OpenAI 或 Anthropic SDK 即可。
认证
使用工作区 API 密钥——与 REST API 相同。它将调用绑定到某个工作区;OpenAI 接口从 Authorization: Bearer 头读取,Anthropic 接口从 x-api-key 头读取。SDK 会通过其 api_key 选项自动设置这些头。
选择模型
传入 "nexevo-auto" 作为模型,让 Nexevo 的路由器为每个请求挑选最佳模型;也可以传入一个明确的 Nexevo 模型 id 来固定模型。未知的模型 id 会返回 404。
OpenAI —— Python
python
from openai import OpenAI
client = OpenAI(
base_url="https://nexevo.ai/v1",
api_key="sk-ws-...", # your Nexevo workspace API key
)
resp = client.chat.completions.create(
model="nexevo-auto", # or an explicit Nexevo model id
messages=[{"role": "user", "content": "Summarize our Q2 results."}],
)
print(resp.choices[0].message.content)流式输出
python
stream = client.chat.completions.create(
model="nexevo-auto",
messages=[{"role": "user", "content": "Write a short product update."}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="", flush=True)OpenAI —— JavaScript / TypeScript
javascript
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://nexevo.ai/v1",
apiKey: process.env.NEXEVO_API_KEY, // your workspace API key
});
const resp = await client.chat.completions.create({
model: "nexevo-auto",
messages: [{ role: "user", content: "Summarize our Q2 results." }],
});
console.log(resp.choices[0].message.content);OpenAI —— curl
bash
curl https://nexevo.ai/v1/chat/completions \\
-H "Authorization: Bearer sk-ws-..." \\
-H "Content-Type: application/json" \\
-d '{
"model": "nexevo-auto",
"messages": [{"role": "user", "content": "Hello"}]
}'Anthropic —— Python
Anthropic SDK 会在 base URL 后追加 /v1/messages,因此请将其设置为 https://nexevo.ai。
python
from anthropic import Anthropic
client = Anthropic(
base_url="https://nexevo.ai",
api_key="sk-ws-...", # your Nexevo workspace API key
)
msg = client.messages.create(
model="nexevo-auto",
max_tokens=1024,
messages=[{"role": "user", "content": "Summarize our Q2 results."}],
)
print(msg.content[0].text)Anthropic —— curl
bash
curl https://nexevo.ai/v1/messages \\
-H "x-api-key: sk-ws-..." \\
-H "anthropic-version: 2023-06-01" \\
-H "Content-Type: application/json" \\
-d '{
"model": "nexevo-auto",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Hello"}]
}'这些调用的计费方式与原生聊天通道完全一致(智能路由、统一费率卡),并且若工作区设置了 BYOK 密钥,则会自动使用。响应中的 token usage 为尽力估算值。在这些接口上不会输出推理和工具调用帧;它们只返回 assistant 文本。