本快速入門將示範如何透過相容於 OpenAI 的聊天補全 API,在 Novita AI 上呼叫 GLM 5.2。請使用經過驗證的模型 ID zai-org/glm-5.2、Novita AI 的基本 URL,並先發送一個小型請求,然後再測試模型的 1,048,576 個代幣的上下文窗口、131,072 個代幣的最大輸出、函數呼叫、結構化輸出、推理支援,或目前模型列表中所顯示的相容於 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 個代幣 |
| 最大輸出 | 131,072 個代幣 |
| 輸入模態 | 文字 |
| 輸出模態 | 文字 |
| 端點系列 | chat/completions,相容於 Anthropic 的端點 |
| 函數呼叫 | 支援 |
| 結構化輸出 | 支援 |
| 推理 | 支援 |
| 輸入價格 | 每百萬個代幣 $1.40 美元 |
| 快取讀取輸入價格 | 每百萬個代幣 $0.26 美元 |
| 輸出價格 | 每百萬個代幣 $4.40 美元 |
定價以每百萬個代幣計算。若要快速估算,請將提示詞代幣數量乘以輸入費率,並將產生的代幣數量乘以輸出費率。當你的應用程式重複發送相同的可重複使用上下文時,例如系統提示詞、工具架構、政策區塊或穩定的程式碼庫摘要,快取讀取定價可以降低成本。
舉例來說,一個包含 100,000 個未快取輸入代幣和 5,000 個輸出代幣的請求,其估算如下:
| 組成 | 計算方式 | 預估成本 |
|---|---|---|
| 輸入 | 0.1 百萬個代幣 x $1.40 美元 | $0.14 美元 |
| 輸出 | 0.005 百萬個代幣 x $4.40 美元 | $0.022 美元 |
| 總計 | 輸入 + 輸出 | $0.162 美元 |
這僅是簡單的代幣費率估算。實際生產成本也取決於提示詞重複使用、重試次數、截斷、串流行為、回應長度,以及你的應用程式是否重複包含可能被快取或摘要的大型上下文區塊。
如何發出你的第一個 GLM 5.2 API 請求
在測試完整的 100 萬個代幣上下文窗口之前,請先使用一個小型提示詞。這能為你提供一個清晰的基準,用於驗證身分驗證、模型路由、回應形狀以及延遲。
安裝 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
}'
對於較長的回應,請啟用串流,以便你的應用程式能在完整補全完成之前開始接收代幣:
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 數值,並在可用時記錄使用情況資料。長上下文模型很容易發送非常大的提示詞,因此成本控制始於從第一個原型就開始測量提示詞和補全代幣。
何時使用 GLM 5.2
當你的任務對於一般的聊天上下文來說過於龐大,或者當模型需要透過工具、檔案或結構化輸出來協調多個步驟時,GLM 5.2 是一個非常合適的選擇。
良好的評估目標包括:
- 程式碼庫分析: 在同一個請求中要求模型檢視架構筆記、檔案對應圖、依賴關係描述以及精選的程式碼片段。
- 編碼代理: 在代理迭代的過程中,將任務目標、限制條件、工具架構、先前的決策以及工作筆記保留在上下文中。
- 長文件綜合: 在不進行激進區塊分割的情況下,摘要政策、技術規格、合約、研究筆記或產品文件。
- 遷移規劃: 提供模型系統地圖、限制條件、部署計畫以及風險登記冊,然後請其找出缺口或排序問題。
- 結構化提取: 將長篇原始文件與嚴格的 JSON 架構結合,以供下游系統使用。
GLM 5.2 並非自動適用於每個請求的正確模型。對於短文本分類、基本對話、簡單提取或高流量低延遲的流量,請比較 Novita AI 模型庫 中的較小模型,並查看 Novita AI 定價頁面 上的當前費率。一個 100 萬個代幣的模型,在你確實需要其上下文、輸出上限或代理導向功能時,才最具價值。
函數呼叫與結構化輸出
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 個代幣的請求可能很有用,但大多數應用程式應該逐步達到這個規模。
從這些控制項開始:
- 預算提示詞: 將穩定的指令、變動的使用者輸入、檢索結果以及工具架構分開,以便你能夠看出是哪個部分驅動了代幣數量。
- 在完整填充之前使用檢索: 首先發送最相關的檔案或段落,然後僅在任務需要更多證據時才擴展上下文。
- 限制輸出長度: GLM 5.2 支援很高的最大輸出,但大多數工作流程並不需要 131,072 個產生的代幣。將
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 個代幣的上下文窗口。
GLM 5.2 的最大輸出是多少?
目前 Novita AI 的列表顯示 GLM 5.2 的最大輸出為 131,072 個代幣。除非你的工作流程確實需要非常長的回應,否則請設定較小的 max_tokens 數值。
GLM 5.2 在 Novita AI 上的費用是多少?
目前的定價頁面列出 GLM 5.2 的價格為:每百萬個輸入代幣 $1.40 美元,每百萬個快取讀取輸入代幣 $0.26 美元,以及每百萬個輸出代幣 $4.40 美元。
GLM 5.2 支援函數呼叫嗎?
是的。目前的 GLM 5.2 列表顯示支援函數呼叫。當模型應從受控的應用程式工具中進行選擇,而不是僅回傳自然語言文字時,請使用此功能。
GLM 5.2 支援結構化輸出嗎?
是的。目前的 GLM 5.2 列表顯示支援結構化輸出。請先驗證應用程式中產生的 JSON 或符合架構形狀的回應,然後再用於下游。
