如果你的技術棧已經使用以 OpenAI 為基礎的 AI SDK,Novita AI 大致上只是 base URL、API key 與 model ID 的變更。OpenAI 官方 TypeScript SDK 支援自訂 endpoint,而 Novita 的文件在 https://api.novita.ai/openai/v1/chat/completions 提供 OpenAI 相容的 chat completions,因此第一步遷移非常小。
這使得 Novita 在你想要保留現有 SDK 工作流程、測試不同模型後端而無需重寫應用程式時,成為一個實用的選擇。
OpenAI TypeScript SDK 與 Novita AI:哪些改變、哪些保持不變
| 項目 | OpenAI SDK 預設 | Novita AI 設定 | 為什麼重要 |
|---|---|---|---|
| 用戶端函式庫 | openai |
openai |
沿用相同的 TypeScript 套件。 |
| Base URL | OpenAI endpoint | https://api.novita.ai/openai |
SDK 會自動加上版本化路徑。 |
| API key | OpenAI key | Novita API key | 驗證方式改變,但呼叫形態不變。 |
| 模型名稱 | OpenAI model ID | Novita model ID | 將 model ID 視為 provider 專屬。 |
| 第一個請求 | chat.completions.create() |
chat.completions.create() |
從相同的請求模式開始。 |
如何使用 Novita AI 設定 OpenAI TypeScript SDK
安裝 SDK:
npm install openai
然後將它指向 Novita:
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.NOVITA_API_KEY,
baseURL: "https://api.novita.ai/openai",
});
const response = await client.chat.completions.create({
model: "openai/gpt-oss-120b",
messages: [
{ role: "system", content: "You are a concise technical assistant." },
{ role: "user", content: "Show me the shortest Novita SDK setup in TypeScript." },
],
});
console.log(response.choices[0]?.message?.content);
先從 chat completions 開始。Novita 的公開文件目前記載了 OpenAI 相容的 chat completions 路徑,因此這是最安全的第一個測試。
Novita AI 上的 Python OpenAI SDK 對應寫法
相同的模式在 Python 中也適用:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["NOVITA_API_KEY"],
base_url="https://api.novita.ai/openai",
)
response = client.chat.completions.create(
model="openai/gpt-oss-120b",
messages=[
{"role": "user", "content": "Explain the Novita setup in one paragraph."}
],
)
print(response.choices[0].message.content)
何時將 Novita Agent Sandbox 與 OpenAI SDK 搭配使用
使用 SDK 進行模型呼叫,當工作流程需要隔離執行程式碼、瀏覽器操作或檔案處理時,再使用 Novita Agent Sandbox。這種分工讓推論與執行分離,正是 coding agent 的正確架構。
OpenAI SDK 遷移技巧,提升開發者體驗
- 使用
https://api.novita.ai/openai作為 SDK 的 base URL。OpenAI SDK 會自動為你加上版本化路徑,因此不需要手動加上/v1。 - 在測試前替換成 Novita 支援的 model ID。SDK 程式碼可以保持不變,但 model ID 是 provider 專屬的。
- 將 OpenAI 相容性視為遷移捷徑,而不是保證每個較新的平台功能都會有相同行為。上線前請檢查最新的 Novita 文件。
- 如果你的工作流程需要執行產生的程式碼、檔案操作或瀏覽器操作,請將執行移到 Agent Sandbox,而不是在你的本機執行。
常見問題
只使用 OpenAI TypeScript SDK 就足夠了嗎?
就模型呼叫而言,是的。就隔離執行而言,不是。如果應用程式是 agent 型的,請搭配 Agent Sandbox。
我可以在 JavaScript 和 TypeScript 中使用相同的程式碼嗎?
可以。SDK 的用法相同。
接下來應該閱讀什麼?
請閱讀 Novita LLM API 指南 與 chat completions 參考,然後在正式環境使用前,於模型庫中確認確切的 model ID。
