OpenAI 與 Anthropic 相容性
已經在使用 OpenAI 或 Anthropic SDK?只要改兩處——base URL 與 API key——就能將它指向 Nexevo。你現有的程式碼可繼續運作,且每次呼叫都能享有 Nexevo 的智慧路由、計費與 BYOK。
端點
POST/v1/chat/completions — OpenAI Chat Completions
POST/v1/messages — Anthropic Messages
兩者皆使用各自廠商精確的傳輸格式(串流與非串流),因此官方 SDK 無需修改即可運作。這也回答了「有 SDK 嗎?」——直接使用你既有的 OpenAI 或 Anthropic SDK。
驗證
使用工作區 API key——與 REST API 相同。它會將呼叫綁定至單一 workspace;OpenAI 介面從 Authorization: Bearer 標頭讀取,Anthropic 介面則從 x-api-key 讀取。SDK 會從其 api_key 選項自動設定這些值。
選擇模型
將 "nexevo-auto" 作為 model 傳入,可讓 Nexevo 的路由器為每個請求挑選最佳模型;或傳入明確的 Nexevo model id 來指定。未知的 model 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"}]
}'呼叫的計費方式與原生 chat 通道完全相同(智慧路由、單一費率卡),且若設有 workspace BYOK key,則會自動使用。回應中的 token usage 為盡力估算。這些介面不會發出 reasoning 與 tool-call 框;它們只回傳 assistant 文字。