本快速入门介绍如何通过兼容 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 列出。对于一个快速估算,将提示 tokens 乘以输入费率,将生成的 tokens 乘以输出费率。当您的应用程序重复发送相同的可复用上下文(例如系统提示、工具模式、策略块或稳定的仓库摘要)时,缓存读取定价可以降低成本。
例如,一个包含 100,000 个未缓存输入 tokens 和 5,000 个输出 tokens 的请求估算如下:
| 组成部分 | 计算 | 估算成本 |
|---|---|---|
| 输入 | 0.1 百万 tokens x $1.40 | $0.14 |
| 输出 | 0.005 百万 tokens x $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
}'
为了获得更长的响应,启用流式传输,以便您的应用程序可以在完整补全完成之前开始接收 tokens:
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 值,并在可用时记录使用数据。长上下文模型很容易发送非常大的提示,因此成本控制始于从第一个原型开始就测量提示和补全 tokens。
何时使用 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 个生成 tokens。将
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 的价格为每百万输入 tokens $1.40,每百万缓存读取输入 tokens $0.26,每百万输出 tokens $4.40。
GLM 5.2 支持函数调用吗?
是的。当前的 GLM 5.2 列表显示支持函数调用。当模型应从受控应用程序工具中进行选择而不是仅返回自然语言文本时,请使用此功能。
GLM 5.2 支持结构化输出吗?
是的。当前的 GLM 5.2 列表显示支持结构化输出。在将其用于下游系统之前,请在您的应用程序中验证生成的 JSON 或模式形状的响应。
