本快速入門說明如何透過與 OpenAI 相容的聊天完成 API 在 Novita AI 上呼叫 GLM 5.2。請使用已驗證的模型 ID zai-org/glm-5.2、Novita AI 基礎 URL,以及一個小型的第一個請求,然後再測試模型的 1,048,576 token 上下文視窗、131,072 token 最大輸出、函式呼叫、結構化輸出、推理支援,或當前模型列表中顯示的與 Anthropic 相容的存取方式。
GLM 5.2 API 快速入門前置需求
GLM 5.2 是 Z.AI 針對長時程自主工作推出的旗艦模型。Novita AI 模型頁面將其描述為專為持續性任務打造的模型,例如規劃、執行、迭代優化、編碼以及交付可投入生產的結果。對開發者而言,實務重點很簡單:GLM 5.2 不只是另一個短對話模型。它定位在需要模型擁有足夠上下文來掌握大型任務、程式碼庫、文件集或代理狀態的工作流程。
在 Novita AI 上,GLM 5.2 透過無伺服器模型 API 提供。如果你想評估該模型,卻不想自行搭建 GPU 基礎設施、透過自訂推論堆疊路由流量,或自行管理長上下文服務,那麼這點就很重要。你只需要使用 Novita AI 的 API 金鑰、與 OpenAI 相容的端點,以及確切的模型 ID:
zai-org/glm-5.2
目前的 Novita AI LLM API 指南 記錄了該平台針對聊天和完成任務的 OpenAI 相容方法。聊天完成 API 參考 則記錄了下方範例所使用的 REST 路徑:
https://api.novita.ai/openai/v1/chat/completions
請使用模型頁面取得模型特定細節,例如上下文長度、最大輸出、定價、模態以及支援的端點系列。請使用 API 參考來了解請求參數、驗證、串流與聊天訊息結構。
GLM 5.2 API 規格與定價
Novita AI 目前對 GLM 5.2 的清單顯示為一個無伺服器的純文字輸入、純文字輸出模型,具備長上下文和代理導向的功能支援。
| 欄位 | 目前 Novita AI 的值 |
|---|---|
| 顯示名稱 | GLM 5.2 |
| API 模型 ID | zai-org/glm-5.2 |
| 存取路徑 | 無伺服器 |
| 上下文視窗 | 1,048,576 tokens |
| 最大輸出 | 131,072 tokens |
| 輸入模態 | 文字 |
| 輸出模態 | 文字 |
| 端點系列 | chat/completions,與 Anthropic 相容端點 |
| 函式呼叫 | 支援 |
| 結構化輸出 | 支援 |
| 推理 | 支援 |
| 輸入價格 | 每百萬 tokens $1.40 |
| 快取讀取輸入價格 | 每百萬 tokens $0.26 |
| 輸出價格 | 每百萬 tokens $4.40 |
定價以每百萬 tokens 列出。若要快速估算,請將提示 token 乘以輸入費率,生成的 token 乘以輸出費率。當你的應用程式重複傳送相同的可重複使用上下文(例如系統提示、工具架構、政策區塊或穩定的儲存庫摘要)時,快取讀取定價可以降低成本。
例如,一個包含 100,000 個未快取輸入 token 和 5,000 個輸出 token 的請求,估算如下:
| 元件 | 計算 | 預估成本 |
|---|---|---|
| 輸入 | 0.1 百萬 tokens × $1.40 | $0.14 |
| 輸出 | 0.005 百萬 tokens × $4.40 | $0.022 |
| 總計 | 輸入 + 輸出 | $0.162 |
這只是一個簡單的 token 費率估算。實際生產成本也取決於提示重複使用、重試、截斷、串流行為、回應長度,以及你的應用程式是否反複包含可能被快取或摘要的大型上下文區塊。
如何發出你的第一個 GLM 5.2 API 請求
在測試完整的 1M token 上下文視窗之前,先從一個小型提示開始。這可以為你提供一個乾淨的基準,用於驗證身分、模型路由、回應形狀和延遲。
安裝 OpenAI Python SDK,並將你的 Novita AI 金鑰儲存為環境變數:
pip install openai
export NOVITA_API_KEY="YOUR_NOVITA_API_KEY"
然後使用 Novita AI 基礎 URL 呼叫 GLM 5.2:
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="zai-org/glm-5.2",
messages=[
{
"role": "system",
"content": "You are a practical software architecture assistant.",
},
{
"role": "user",
"content": "Review this migration plan and list the highest-risk steps.",
},
],
max_tokens=1200,
temperature=0.3,
)
print(response.choices[0].message.content)
如果你偏好直接使用 REST 呼叫,請使用聊天完成路徑:
curl --request POST \
--url https://api.novita.ai/openai/v1/chat/completions \
--header "Authorization: Bearer $NOVITA_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "zai-org/glm-5.2",
"messages": [
{
"role": "system",
"content": "You are a concise engineering reviewer."
},
{
"role": "user",
"content": "Create a release-risk checklist for a payments API change."
}
],
"max_tokens": 1200,
"temperature": 0.3
}'
對於較長的回應,請啟用串流,以便你的應用程式能在完整完成之前開始接收 token:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["NOVITA_API_KEY"],
base_url="https://api.novita.ai/openai",
)
stream = client.chat.completions.create(
model="zai-org/glm-5.2",
messages=[
{
"role": "user",
"content": "Draft a phased plan for refactoring a monolith into services.",
}
],
max_tokens=2000,
temperature=0.3,
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="")
將 API 金鑰保留在原始碼控制之外,設定明確的 max_tokens 值,並在可用時記錄用量資料。長上下文模型很容易發送非常大的提示,因此成本控制始於從第一個原型就開始測量提示與完成 token。
何時使用 GLM 5.2
當你的任務對於一般的對話上下文來說過大,或者模型需要透過工具、檔案或結構化輸出來協調多個步驟時,GLM 5.2 是一個強力的選擇。
適合評估的目標包括:
- 儲存庫分析: 要求模型在一次請求中檢視架構說明、檔案對應、依賴描述以及選定的程式碼片段。
- 編碼代理: 在代理迭代時,將任務目標、限制、工具架構、先前的決策和工作記錄保留在上下文中。
- 長文件綜合: 摘要政策、技術規格、合約、研究筆記或產品文件,而不需進行激進的分塊。
- 遷移規劃: 提供模型系統地圖、限制、上線計劃和風險登記冊,然後要求找出漏洞或排序問題。
- 結構化提取: 將長篇原始文件與嚴格的 JSON 模式結合,用於下游系統。
GLM 5.2 並非自動適用於每個請求的最佳模型。對於短分類、基本對話、簡單提取或高流量低延遲的流量,請比較 Novita AI 模型庫 中較小的模型,以及 Novita AI 定價頁面 上的當前費率。當你確實需要上下文、輸出上限或代理導向功能時,1M token 模型才最有價值。
函式呼叫與結構化輸出
GLM 5.2 清單顯示支援函式呼叫和結構化輸出。當模型應傳回你的應用程式可以操作而非僅是散文的內容時,這些功能非常有用。
當你的應用程式公開受控工具時,函式呼叫是一個很好的選擇,例如:
- 擷取客戶記錄,
- 開立工單,
- 檢查部署狀態,
- 搜尋內部知識庫,
- 計算報價,
- 或將請求路由到專門的服務。
以下是一個最小化的工具呼叫模式:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["NOVITA_API_KEY"],
base_url="https://api.novita.ai/openai",
)
tools = [
{
"type": "function",
"function": {
"name": "create_release_ticket",
"description": "Create a release ticket after risk review.",
"parameters": {
"type": "object",
"properties": {
"title": {"type": "string"},
"risk_level": {
"type": "string",
"enum": ["low", "medium", "high"],
},
"summary": {"type": "string"},
},
"required": ["title", "risk_level", "summary"],
},
},
}
]
response = client.chat.completions.create(
model="zai-org/glm-5.2",
messages=[
{
"role": "user",
"content": "Assess this release and create a ticket if risk is medium or high.",
}
],
tools=tools,
tool_choice="auto",
max_tokens=1000,
)
print(response.choices[0].message)
當你想要回應符合可預測的架構時,結構化輸出很有用。即使你要求 JSON,請務必在你的應用程式中保留驗證邏輯。將模型的輸出視為生成的候選內容,進行解析、驗證必填欄位,並使用修復提示或備援路徑來處理錯誤。
有關工具設計的更多背景資訊,請參閱 Novita AI 的 函式呼叫與結構化輸出 指南,以及專門針對 GLM 的 GLM 函式呼叫 指南。
長上下文使用的生產注意事項
標題中的上下文視窗是上限,而非預設操作模式。一個 1,048,576 token 的請求可能很有用,但大多數應用程式應逐步達到這個大小。
從這些控制項開始:
- 為提示編列預算: 將穩定的指令、易變的使用者輸入、檢索結果和工具架構分開,這樣你就能看出哪個部分在驅動 token 數量。
- 在完全填充之前先使用檢索: 先傳送最相關的檔案或段落,然後只在任務需要更多證據時才擴展上下文。
- 限制輸出長度: GLM 5.2 支援很高的最大輸出,但大多數工作流程並不需要 131,072 個生成的 token。將
max_tokens設定為最小有用的值。 - 串流長回應: 串流可以改善使用者體驗,並讓你的服務更優雅地處理長完成。
- 驗證結構化結果: 架構可以減少模糊性,但你的應用程式仍需要解析器檢查、重試以及清晰的錯誤處理。
- 追蹤快取機會: 如果每次都以新鮮輸入的方式傳送,重複的上下文區塊可能會很昂貴。及早識別可重複使用的提示、政策和工具定義。
- 保留一個較小模型的備援方案: 許多路由系統對簡單情況使用較小模型,並保留長上下文模型給需要其全部容量的任務。
對於編碼代理,一個實務模式是將持久的專案上下文保留在提示之外,僅檢索與當前任務相關的檔案,並要求 GLM 5.2 產生一個有邊界的計劃或補丁審查,而不是一篇開放式的長篇大論。這可以在保持成本可讀的同時,仍然給予模型足夠的上下文來推理系統中重要的部分。
常見問題
GLM 5.2 在 Novita AI 上可用嗎?
是的。GLM 5.2 在 Novita AI 上以無伺服器模型的形式列出,API 模型 ID 為 zai-org/glm-5.2。
GLM 5.2 在 Novita AI 上的上下文視窗是多少?
目前 Novita AI 清單顯示 GLM 5.2 的上下文視窗為 1,048,576 tokens。
GLM 5.2 的最大輸出是多少?
目前 Novita AI 清單顯示 GLM 5.2 的最大輸出為 131,072 tokens。除非你的工作流程真的需要非常長的回應,否則請設定較小的 max_tokens 值。
GLM 5.2 在 Novita AI 上的費用是多少?
目前的定價頁面列出 GLM 5.2 的輸入 token 價格為每百萬 $1.40,快取讀取輸入 token 價格為每百萬 $0.26,輸出 token 價格為每百萬 $4.40。
GLM 5.2 支援函式呼叫嗎?
是的。目前的 GLM 5.2 清單顯示支援函式呼叫。當模型應從受控的應用程式工具中選擇,而不只是回傳自然語言文字時,請使用此功能。
GLM 5.2 支援結構化輸出嗎?
是的。目前的 GLM 5.2 清單顯示支援結構化輸出。請在你應用程式中使用這些輸出之前,先驗證生成的 JSON 或符合架構的回應。
