GLM 5.2 模型介绍、API 接口 & 代码示例
z-ai/glm-5.2
GLM-5.2 是智谱面向长程任务时代的旗舰模型。凭借真正可用的 100 万 tokens 上下文窗口,它能够处理项目级工程上下文,更可靠地执行长时间运行的任务,更一致地遵循工程标准,并在单个任务中完成从需求到多平台部署的完整开发工作流。
- 模型 ID
- z-ai/glm-5.2
- 模型系列
- GLM
- 更新日期
- 模型能力
- 深度思考、长任务能力
- 上下文长度
- 1024 K
- 模型价格(每 1000 tokens 输入)
- ¥ 0.009
- 模型价格(每 1000 tokens 输出)
- ¥ 0.03
GLM 5.2 模型介绍:
作为面向“长任务时代”打造的旗舰模型,GLM-5.2 的核心定位是“可靠交付生产级代码”。它引领开发模式从辅助编写代码片段(Vibe Coding)迈向真正的智能体工程(Agentic Engineering),具备极强的软件工程能力与超长上下文处理能力。
核心技术参数与定位:
- 模型定位: 旗舰级基座大模型 / 生产级 Coding & Agent 旗舰。
- 输入/输出模态: 纯文本(专注于深度代码与逻辑推理)。
- 上下文窗口(Context Window): 1M(100万 tokens),且为“实测真正可用”的无损上下文。
- 最大输出长度: 128K tokens,支持超长任务的单次完整输出。
三大代际变革与技术亮点:
- 1M “无损”上下文:支撑项目级工程接管
与单纯为了刷榜而盲目拉长上下文的方案不同,GLM-5.2 实现了 Solid 1M 真正可用的长上下文。
- 工程级吞吐: 能够一次性读懂一整个真实的业务仓库(包含后端、前端、配置、测试与文档)。
- 告别“上下文断层”: 在长达百万字的长程任务后半程,模型依然能持续保留模块边界、架构约束、接口契约和历史决策,不会“读了后面忘前面”。
- 开源 Coding 能力 SOTA(全球前三)
在国际权威软件工程能力榜单 FrontierSWE 上,GLM-5.2 斩获了开源模型第一、全球模型第三的顶尖成绩。
- 其整体真实编程体感和软件工程能力已十分逼近闭源的旗舰模型(如 Claude Opus 级别),能够实现“从自然语言需求到多端可部署产物”的完整开发链路。
- “规划-实现-迭代”的智能体工程(Agentic Engineering)
GLM-5.2 针对长程 Coding Agent 场景进行了数月的强化训练。它不再只是一个“代码生成器”,而是一个能干活的“AI 工程师”。它在万级真实任务环境中得到了验证,覆盖了九大主流编程语言,具备在模糊、复杂目标下的自主拆解、工具调用与错误自检能力。
典型应用场景与深度体验方式:
GLM-5.2 的强悍之处在于处理复杂的系统工程,官方推荐了以下几个主力场景:
| 推荐场景 | 具体表现与体验方式 |
|---|---|
| 项目级工程接管 | 读入整个业务仓库,让它一次性输出系统架构图谱、核心模块职责、核心调用链及潜在技术债。 |
| 长程重构执行 | 开启 /goal 目标模式,让它在跨文件、多步骤的链路中完成模块解耦、接口迁移或跨语言重构,它会先拆解计划、识别风险,最后自主跑通并验证。 |
| 生产级规范压力测试 | 可以将团队的 CLAUDE.md 或 lint 规则、禁止操作清单交给他。在多轮执行中,它能严格守住研发硬约束,降低越界修改、无效依赖和擅自提交的风险。 |
| 移动端真机调试闭环 | 深入理解客户端架构、流式消息、长连接状态等。能够结合 ADB、logcat、真机截图和运行日志进行联动调试,真正闭环解决移动端 Bug。 |
| 微信小程序开发 | 熟练处理页面分包、自定义组件、页面栈、wx.login 鉴权以及三级生命周期。适合将现有的 Web 项目一键迁移重构成符合小程序规范的工程。 |
| 科研代码复刻 | 输入某篇 AI 论文及数据集,它能从零补全未写明的实现细节,用 PyTorch 搭建多文件一致的模型、损失函数、数据管线,并自主修复环境和代码问题,直到对齐论文指标。 |
| 代码生成视频(Coding to Video) | 基于 Remotion 框架,通过编写 React 代码的方式“编程式”地制作动画与视频,打通从“自然语言创意 > 代码生成 > 视频渲染输出”的全新工作流。 |
API 接口地址:
-
Chat Completions API:
https://wcode.net/api/gpt/v1/chat/completions
此 API 接口兼容 OpenAI 的 API 接口规范,可直接使用 OpenAI 的 SDK 来调用各个模型。仅需替换以下配置即可:
base_url替换为https://wcode.net/api/gpt/v1api_key替换为从 https://platform.wcode.net 获取到的 API Key具体可参考下方的各编程语言代码示例中的 OpenAI SDK 调用示例。
请求方法:
POST
各编程语言代码示例:
# TODO: 以下代码中的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
curl --request POST 'https://wcode.net/api/gpt/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer API_KEY' \
--data '{
"model": "z-ai/glm-5.2",
"messages": [
{
"role": "user",
"content": "你好"
}
]
}'
import Foundation
let headers = [
"Authorization": "Bearer API_KEY", // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
"content-type": "application/json"
]
let parameters = [
"model": "z-ai/glm-5.2",
"messages": [
[
"role": "user",
"content": "你好"
]
]
] as [String : Any]
let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
let request = NSMutableURLRequest(url: NSURL(string: "https://wcode.net/api/gpt/v1/chat/completions")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 60.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error as Any)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()
var headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer API_KEY' // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
};
var request = http.Request('POST', Uri.parse('https://wcode.net/api/gpt/v1/chat/completions'));
request.body = json.encode({
"model": "z-ai/glm-5.2",
"messages": [
{
"role": "user",
"content": "你好"
}
]
});
request.headers.addAll(headers);
http.StreamedResponse response = await request.send();
if (response.statusCode == 200) {
print(await response.stream.bytesToString());
}
else {
print(response.reasonPhrase);
}
require 'uri'
require 'net/http'
url = URI("https://wcode.net/api/gpt/v1/chat/completions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer API_KEY' # TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
request["content-type"] = 'application/json'
request.body = "{\"model\":\"z-ai/glm-5.2\",\"messages\":[{\"role\":\"user\",\"content\":\"你好\"}]}"
response = http.request(request)
puts response.read_body
use serde_json::json;
use reqwest;
#[tokio::main]
pub async fn main() {
let url = "https://wcode.net/api/gpt/v1/chat/completions";
let payload = json!({
"model": "z-ai/glm-5.2",
"messages": (
json!({
"role": "user",
"content": "你好"
})
)
});
let mut headers = reqwest::header::HeaderMap::new();
headers.insert("Authorization", "Bearer API_KEY".parse().unwrap()); // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
headers.insert("content-type", "application/json".parse().unwrap());
let client = reqwest::Client::new();
let response = client.post(url)
.headers(headers)
.json(&payload)
.send()
.await;
let results = response.unwrap()
.json::<serde_json::Value>()
.await
.unwrap();
dbg!(results);
}
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "https://wcode.net/api/gpt/v1/chat/completions");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer API_KEY"); // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"model\":\"z-ai/glm-5.2\",\"messages\":[{\"role\":\"user\",\"content\":\"你好\"}]}");
CURLcode ret = curl_easy_perform(hnd);
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://wcode.net/api/gpt/v1/chat/completions"
payload := strings.NewReader("{\"model\":\"z-ai/glm-5.2\",\"messages\":[{\"role\":\"user\",\"content\":\"你好\"}]}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer API_KEY") // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://wcode.net/api/gpt/v1/chat/completions");
request.Headers.Add("Authorization", "Bearer API_KEY"); // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
request.Content = new StringContent("{\"model\":\"z-ai/glm-5.2\",\"messages\":[{\"role\":\"user\",\"content\":\"你好\"}]}", null, "application/json");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
var client = new RestClient("https://wcode.net/api/gpt/v1/chat/completions");
var request = new RestRequest("", Method.Post);
request.AddHeader("Authorization", "Bearer API_KEY"); // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\"model\":\"z-ai/glm-5.2\",\"messages\":[{\"role\":\"user\",\"content\":\"你好\"}]}", ParameterType.RequestBody);
var response = client.Execute(request);
const axios = require('axios');
let data = JSON.stringify({
"model": "z-ai/glm-5.2",
"messages": [
{
"role": "user",
"content": "你好"
}
]
});
let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://wcode.net/api/gpt/v1/chat/completions',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer API_KEY' // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
},
data : data
};
axios.request(config).then((response) => {
console.log(JSON.stringify(response.data));
}).catch((error) => {
console.log(error);
});
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"model\":\"z-ai/glm-5.2\",\"messages\":[{\"role\":\"user\",\"content\":\"你好\"}]}");
Request request = new Request.Builder()
.url("https://wcode.net/api/gpt/v1/chat/completions")
.post(body)
.addHeader("Authorization", "Bearer API_KEY") // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();
$client = new \GuzzleHttp\Client();
$headers = [
'Content-Type' => 'application/json',
'Authorization' => 'Bearer API_KEY', // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
];
$body = '{
"model": "z-ai/glm-5.2",
"messages": [
{
"role": "user",
"content": "你好"
}
]
}';
$request = new \GuzzleHttp\Psr7\Request('POST', 'https://wcode.net/api/gpt/v1/chat/completions', $headers, $body);
$response = $client->sendAsync($request)->wait();
echo $response->getBody();
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://wcode.net/api/gpt/v1/chat/completions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 5,
CURLOPT_TIMEOUT => 300,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => 'z-ai/glm-5.2',
'messages' => [
[
'role' => 'user',
'content' => '你好'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer API_KEY", // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
"content-type: application/json",
],
]);
$response = curl_exec($curl);
$error = curl_error($curl);
curl_close($curl);
if ($error) {
echo "cURL Error #:" . $error;
} else {
echo $response;
}
import requests
import json
url = "https://wcode.net/api/gpt/v1/chat/completions"
payload = {
"model": "z-ai/glm-5.2",
"messages": [
{
"role": "user",
"content": "你好"
}
]
}
headers = {
"Authorization": "Bearer API_KEY", # TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
"content-type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(json.dumps(response.json(), indent=4, ensure_ascii=False))
from openai import OpenAI
client = OpenAI(
base_url="https://wcode.net/api/gpt/v1",
api_key="API_KEY" # TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
)
completion = client.chat.completions.create(
model="z-ai/glm-5.2",
messages=[
{
"role": "user",
"content": "你好"
}
]
)
print(completion.choices[0].message.content)
各 AI 产品/工具/第三方应用接入示例:
配置 Hermes Agent 使用 GLM 5.2 模型:
注意事项:以下配置中的
<API_KEY>需要替换为从 https://platform.wcode.net 获取(创建)的 API Key
方式一:交互式配置
在命令行输入 hermes model,然后选择 Custom endpoint 选项,根据交互式命令引导,分别配置以下信息:
- API base URL:
https://wcode.net/api/gpt/v1 - API Key:
<API_KEY> - Model:
z-ai/glm-5.2
方式二:手动配置
修改 config.yaml(通常位于~/.hermes/config.yaml)
model:
default: "z-ai/glm-5.2"
provider: custom
base_url: "https://wcode.net/api/gpt/v1"
api_key: "<API_KEY>"
context_length: 1024000
配置完成后,就可以开始使用 Hermes Agent ~
配置 Roo Code 使用 GLM 5.2 模型:
注意事项:以下配置中的
<API_KEY>需要替换为从 https://platform.wcode.net 获取(创建)的 API Key
- API Provider:
OpenAI Compatible - Base URL:
https://wcode.net/api/gpt/v1 - API Key:
<API_KEY> - Model:
z-ai/glm-5.2
配置完成后,就可以开始使用 Roo Code ~
配置 Kilo Code 使用 GLM 5.2 模型:
注意事项:以下配置中的
<API_KEY>需要替换为从 https://platform.wcode.net 获取(创建)的 API Key
选择 Use your own API key,然后配置以下信息:
- API Provider:
OpenAI Compatible - Base URL:
https://wcode.net/api/gpt/v1 - API Key:
<API_KEY> - Model:
z-ai/glm-5.2
配置完成后,就可以开始使用 Kilo Code ~
配置 Cline 使用 GLM 5.2 模型:
注意事项:以下配置中的
<API_KEY>需要替换为从 https://platform.wcode.net 获取(创建)的 API Key
- API Provider:
OpenAI Compatible - Base URL:
https://wcode.net/api/gpt/v1 - API Key:
<API_KEY> - Model ID:
z-ai/glm-5.2
配置完成后,就可以开始使用 Cline ~
注:以下安装和配置过程以 Ubuntu Server 24.04 (root 用户) + Node 22 安装 OpenClaw 🦞 2026.3.8 为例
安装 🦞 OpenClaw(龙虾),步骤如下:
- 命令行执行
npm install -g openclaw@latest - 命令行执行
openclaw onboard --install-daemon - I understand this is personal-by-default and shared/multi-user use requires lock-down. Continue? 选择
yes - Onboarding mode 选择
QuickStart - Model/auth provider 选择
Skip for now - Default model 选择
Keep current (default: ...) - Select channel (QuickStart) 选择
Skip for now - Web search 选择
Skip for now - Configure skills now? (recommended) 选择
No - Enable hooks? (这是一个多选,按空格键可选中选项)按空格键选中
📝 command-logger和💾 session-memory这两个选项,然后按回车键进入下一步 - (如有) How do you want to hatch your bot? 选择
Hatch in TUI (recommended)
配置 🦞 OpenClaw(龙虾)使用 GLM 5.2 模型:
注意事项:以下配置中的
<API_KEY>需要替换为从 https://platform.wcode.net 获取(创建)的 API Key
推荐方式:修改 openclaw.json(通常位于~/.openclaw/openclaw.json)
找到openclaw.json的第一层级的models和agents属性(如果没有则在第一层级添加models和agents属性),改为如下配置:
{
...其他配置,
"models": {
"mode": "merge",
"providers": {
"wcode": {
"baseUrl": "https://wcode.net/api/gpt/v1",
"apiKey": "<API_KEY>",
"api": "openai-completions",
"models": [
{
"id": "z-ai/glm-5.2",
"name": "GLM 5.2",
"reasoning": false,
"input": ["text"],
"contextWindow": 1024000,
"maxTokens": 8192
}
]
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "wcode/z-ai/glm-5.2"
}
}
},
...其他配置
}
完成以上配置后,
- 执行以下命令,即可通过命令行的方式开始对话:
openclaw tui
- 执行以下命令,即可通过 Web 界面的方式开始对话:
openclaw dashboard
配置 OpenCode 使用 GLM 5.2 模型:
推荐方式:修改 opencode.json(通常位于~/.config/opencode/opencode.json)
注意事项:以下配置中的
<API_KEY>需要替换为从 https://platform.wcode.net 获取的 API Key
配置如下:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"myprovider": {
"npm": "@ai-sdk/openai-compatible",
"name": "wcode",
"options": {
"baseURL": "https://wcode.net/api/gpt/v1",
"apiKey": "<API_KEY>"
},
"models": {
"z-ai/glm-5.2": {
"name": "GLM 5.2"
}
}
}
}
}
完成以上配置后,执行以下命令,即可启动 OpenCode:
opencode
输入 /models,选择配置的 z-ai/glm-5.2 模型并在 OpenCode 中使用。
API 响应示例(curl):
{
"choices": [
{
"finish_reason": "stop",
"index": 0,
"message": {
"content": "你好!我是由Z.ai训练的大语言模型,基于Transformer架构开发,旨在提供自然语言理解和生成能力。我可以帮助回答问题、撰写文本、提供信息和建议,但我不具备真正的自我意识。\n\n有什么我能帮您解答或协助的问题吗?我很乐意在我的能力范围内为您提供支持。",
"reasoning_content": "让我思考一下如何介绍自己。作为一个语言模型,我需要准确而友好地表达自己的身份和功能。首先,我应该说明自己是GLM大语言模型,这是基本的身份信息。接着需要解释我的主要功能和特点,包括自然语言理解、问答、对话等核心能力。在介绍中,我要强调自己是基于深度学习技术开发的,这说明了技术背景。同时,我也应该提到自己的训练数据来源是互联网上的海量文本数据,这样用户能更好地理解我的知识范围。另外,我要强调持续学习和优化的特点,这样能让用户知道我会不断进步。最后,我应该表达乐于助人的态度,并引导用户提出具体问题,这样能更好地展开对话。需要注意的是,介绍要简洁明了,避免过于技术化的术语,同时保持亲和力。这样的介绍应该能让用户对我有一个清晰的认知,并愿意进一步交流。",
"role": "assistant"
}
}
],
"created": 1781663338,
"id": "chatcmpl-t1781663329s656rb94b91347a7547fc8223ba83",
"model": "glm-5.2",
"object": "chat.completion",
"request_id": "t1781663329s656rb94b91347a7547fc8223ba83",
"usage": {
"completion_tokens": 346,
"completion_tokens_details": {
"reasoning_tokens": 245
},
"prompt_tokens": 24,
"prompt_tokens_details": {
"cached_tokens": 0
},
"total_tokens": 370
}
}
可选参数:
- 温度(Temperature)
- Top-P
- Top-K
- 思考模式推理程度(Reasoning Effort Level)
- 推理强度(Reasoning Effort)
- 思考模式(Thinking)
- 频率惩罚
- 存在惩罚
- 重复惩罚
- Min-P
- Top-A
- 种子
- 最大 tokens 数
- Logit Bias
- 对数概率
- 最高对数概率
- 响应格式
- 结构化输出
- 停止
- 工具
- 工具选择
- 并行工具调用
- 冗长程度
重要提示:由于模型架构不同,部分参数可能仅适用于特定的模型。
温度(Temperature)
-
参数:
temperature -
可选,float,0.0 到 2.0
-
默认:
1.0
此设置影响模型回复的多样性。较低的值会使回复更可预测、更常见;较高的值会鼓励更具多样性且较不常见的回复。当设置为 0 时,模型对相同输入将尽可能的给出相同的回复。
Top-P
-
参数:
top_p -
可选,float,0.0 至 1.0
-
默认:
1.0
top_p 参数控制模型在生成文本时的候选词选择范围。具体来说,模型会生成一组候选 token,然后从累积概率达到或超过 p 的 token 中随机选择一个作为输出。通过这种方式,top_p 能够在保证生成内容的多样性的同时,考虑到概率分布的合理性。
由于 temperature 与 top_p 均可以控制生成文本的多样性,因此建议您只设置其中一个值。
Top-K
-
参数:
top_k -
可选,int,>= 0
-
默认:
0
top_k 会限制模型在每一步对 token 的选择,使其从较小的集合中进行选择。值为 1 表示模型将始终选择最有可能的下一个 token,从而得到可预测的结果。
思考模式推理程度(Reasoning Effort Level)
-
参数:
reasoning -
可选,object
-
默认:
-
reasoning 参数整合了用于控制不同模型间推理强度的设置:
"effort": "xhigh"- 分配最大比例的 token 用于推理(约占 max_tokens 的 95%)"effort": "high"- 分配较大比例的 token 用于推理(约占 max_tokens 的 80%)"effort": "medium"- 分配中等比例的 token 用于推理(约占 max_tokens 的 50%)"effort": "low"- 分配较小比例的 token 用于推理(约占 max_tokens 的 20%)"effort": "minimal"- 分配更小比例的 token 用于推理(约占 max_tokens 的 10%)"effort": "none"- 完全禁用推理
curl 代码示例:
# TODO 1: 以下代码中的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
# TODO 2: 以下代码中的 MODEL_ID 需要替换,模型列表:https://wcode.net/models
curl --request POST 'https://wcode.net/api/gpt/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer API_KEY' \
--data '{
"model": "MODEL_ID",
"messages": [
{
"role": "user",
"content": "你好"
}
],
"reasoning": {
"effort": "high"
}
}'
Python OpenAI SDK 代码示例:
from openai import OpenAI
client = OpenAI(
base_url="https://wcode.net/api/gpt/v1",
api_key="API_KEY" # TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
)
completion = client.chat.completions.create(
model="MODEL_ID", # TODO: 这里的 MODEL_ID 需要替换,模型列表:https://wcode.net/models
messages=[
{
"role": "user",
"content": "天空为什么是蓝色的?"
}
],
extra_body={
"reasoning": {
"effort": "high"
}
}
)
print(completion.choices[0].message.content)
推理强度(Reasoning Effort)
-
参数:
reasoning_effort -
可选,string
-
取值范围:
high|max -
默认:
high
控制模型的推理强度。
思考模式(Thinking)
-
参数:
thinking -
可选,object
-
默认:
{"type": "enabled"}
用于控制模型的思考模式。以 object 形式传入,通过 type 字段指定模型在回答前是否进行内部推理,以及具体推理策略。
示例
"thinking": {
"type": "enabled"
}
thinking.type
-
参数:
thinking.type -
必选,string
-
取值范围:
enabled|disabled -
默认:
enabled
指定 thinking 对象的 type 字段,控制思考策略。
enabled:开启思考模式,模型强制先思考再回答。disabled:关闭思考模式,模型直接回答问题,不进行思考。
频率惩罚
-
参数:
frequency_penalty -
可选,float,-2.0 至 2.0
-
默认:
0.0
frequency_penalty 可根据词条在输入中出现的频率来控制其重复使用。它会尝试减少那些在输入中出现频率较高的词条的使用频率,这与它们出现的频率成正比。词条惩罚会随着出现次数的增加而增加。负值将鼓励词条重复使用。
存在惩罚
-
参数:
presence_penalty -
可选,float,-2.0 至 2.0
-
默认:
0.0
presence_penalty 调整模型重复输入中已使用的特定标记的频率。值越高,重复的可能性就越小,负值则相反。标记惩罚不会随着出现次数而变化。负值会鼓励标记重用。
重复惩罚
-
参数:
repetition_penalty -
可选,float,0.0 至 2.0
-
默认:
1.0
repetition_penalty 有助于减少输入中标记的重复。较高的值会降低模型重复标记的可能性,但过高的值会使输出不够连贯(通常会出现缺少小词的连续句子)。标记惩罚会根据原始标记的概率进行调整。
Min-P
-
参数:
min_p -
可选,float,0.0 至 1.0
-
默认:
0.0
min_p 表示某个 token 被考虑的最小概率,该概率是相对于最可能的 token 的概率而言的。如果 min_p 设置为 0.1,则意味着它只允许概率至少为最佳选项十分之一的 token 被考虑。
Top-A
-
参数:
top_a -
可选,float,0.0 到 1.0
-
默认:
0.0
top_a 仅考虑概率“足够高”的 top tokens,该概率基于最可能的 token 概率。可以将其视为一个动态的 Top-P。较低的 Top-A 值会根据概率最高的 token 集中选择,但范围会更窄。较高的 Top-A 值不一定会影响输出的创造性,但会根据最大概率优化过滤过程。
种子
-
参数:
seed -
可选,int
如果指定了 seed 参数,推理将确定性地进行采样,即使用相同种子和参数的重复请求应该返回相同的结果。某些模型无法保证确定性。
最大 tokens 数
-
参数:
max_tokens -
可选,int,>= 1
max_tokens 可设定模型在响应中可以生成的 token 数量的上限。模型不会生成超过此限制的 token。其最大值等于上下文长度减去 prompt 长度。
Logit Bias
-
参数:
logit_bias -
可选,object
logit_bias 是一个可选参数,用于修改指定 token 在模型生成输出中出现的可能性。
对数概率
-
参数:
logprobs -
可选,boolean
logprobs 设置是否返回输出 token 的对数概率。如果为 true,则返回每个输出 token 的对数概率。
最高对数概率
-
参数:
top_logprobs -
可选,int,0 至 20
top_logprobs 是一个介于 0 和 20 之间的整数,指定在每个 token 位置要返回的最可能 token 的数量,每个 token 都会带有相应的对数概率。如果使用此参数,则必须将 logprobs 设置为 true。
响应格式
-
参数:
response_format -
可选,object
response_format 强制模型产出特定的输出格式。将其设置为 { "type": "json_object" } 可启用 JSON 模式,保证模型生成的消息为有效的 JSON。
注意:使用 JSON 模式时,应同时通过 system 或 user 提示词指示模型生成 JSON。
结构化输出
-
参数:
structured_outputs -
可选,boolean
指示模型是否能够使用 response_format 中的 json_schema 返回结构化输出。
停止
-
参数:
stop -
可选,array
如果模型遇到 stop 数组中指定的任意 token,则立即停止生成。
工具
-
参数:
tools -
可选,array
工具调用参数,遵循 OpenAI 的工具调用请求格式。对于非 OpenAI 提供者,会相应地进行转换。
工具选择
-
参数:
tool_choice -
可选,array
控制模型调用哪个工具。'none' 表示模型不会调用任何工具,而是生成一条消息。'auto' 表示模型可以在生成消息或调用一个或多个工具之间进行选择。'required' 表示模型必须调用一个或多个工具。通过 {"type": "function", "function": {"name": "my_function"}} 指定特定工具会强制模型调用该工具。
并行工具调用
-
参数:
parallel_tool_calls -
可选,boolean
-
默认:
true
是否在使用工具时启用并行函数调用。如果为 true,模型可以同时调用多个函数。如果为 false,函数将按顺序依次调用。
冗长程度
-
参数:
verbosity -
可选,string
-
取值范围:
low|medium|high -
默认:
medium
控制模型响应的冗长程度和长度。较低的值会生成更简洁的回答,而较高的值会生成更详细、更全面的回答。
以上文档为标准版 API 接口文档,可直接用于项目开发和系统调用。如果标准版 API 接口无法满足您的需求,需要定制开发 API 接口,请联系我们的 IT 技术支持工程师:
(沟通需求✅ → 确认技术方案✅ → 沟通费用与工期✅ → 开发&测试✅ → 验收交付✅ → 维护升级✅)
![]()