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,支持超长任务的单次完整输出。

三大代际变革与技术亮点:

  1. 1M “无损”上下文:支撑项目级工程接管

与单纯为了刷榜而盲目拉长上下文的方案不同,GLM-5.2 实现了 Solid 1M 真正可用的长上下文

  • 工程级吞吐: 能够一次性读懂一整个真实的业务仓库(包含后端、前端、配置、测试与文档)。
  • 告别“上下文断层”: 在长达百万字的长程任务后半程,模型依然能持续保留模块边界、架构约束、接口契约和历史决策,不会“读了后面忘前面”。
  1. 开源 Coding 能力 SOTA(全球前三)

在国际权威软件工程能力榜单 FrontierSWE 上,GLM-5.2 斩获了开源模型第一、全球模型第三的顶尖成绩。

  • 其整体真实编程体感和软件工程能力已十分逼近闭源的旗舰模型(如 Claude Opus 级别),能够实现“从自然语言需求到多端可部署产物”的完整开发链路。
  1. “规划-实现-迭代”的智能体工程(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 来调用各个模型。仅需替换以下配置即可:

  1. base_url 替换为 https://wcode.net/api/gpt/v1
  2. api_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(龙虾),步骤如下:

  1. 命令行执行 npm install -g openclaw@latest
  2. 命令行执行 openclaw onboard --install-daemon
  3. I understand this is personal-by-default and shared/multi-user use requires lock-down. Continue? 选择 yes
  4. Onboarding mode 选择 QuickStart
  5. Model/auth provider 选择 Skip for now
  6. Default model 选择 Keep current (default: ...)
  7. Select channel (QuickStart) 选择 Skip for now
  8. Web search 选择 Skip for now
  9. Configure skills now? (recommended) 选择 No
  10. Enable hooks? (这是一个多选,按空格键可选中选项)按空格键选中 📝 command-logger💾 session-memory 这两个选项,然后按回车键进入下一步
  11. (如有) 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的第一层级的modelsagents属性(如果没有则在第一层级添加modelsagents属性),改为如下配置:

{
  ...其他配置,

  "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"
         }
      }
  },

  ...其他配置
}

完成以上配置后,

  1. 执行以下命令,即可通过命令行的方式开始对话:
openclaw tui
  1. 执行以下命令,即可通过 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)

  • 参数: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 技术支持工程师:

(沟通需求✅ → 确认技术方案✅ → 沟通费用与工期✅ → 开发&测试✅ → 验收交付✅ → 维护升级✅)

最受关注模型

DeepSeek V4 Pro

文本生成、深度思考

DeepSeek V4 Flash

文本生成、深度思考

Qwen 3.6 Plus

文本生成、深度思考、视觉理解

XiaoMi MiMo V2.5 Pro

文本生成、深度思考

Kimi K2.6

文本生成、深度思考、工具调用

Tencent Hunyuan Hy3 Preview

文本生成、深度思考

Qwen3.7 Max

文本生成、深度思考

DeepSeek OCR 2

图片识别、OCR

XiaoMi MiMo V2.5

文本生成、深度思考

GLM 5.1

文本生成、深度思考

最新发布模型

GLM 5.2

深度思考、长任务能力

Kimi K2.7 Code

代码补全、编程工具

MiniMax M3

文本生成、深度思考、专业能力

Qwen3.7 Plus

文本生成、深度思考、视觉理解

Qwen3.7 Max

文本生成、深度思考

Doubao Seed 2.0 Mini

文本生成、深度思考、多模态

Doubao Seed 2.0 Lite

文本生成、深度思考、多模态

XiaoMi MiMo V2.5 Pro

文本生成、深度思考

XiaoMi MiMo V2.5

文本生成、深度思考

DeepSeek V4 Pro

文本生成、深度思考

Embedding Models

GLM Embedding 3

文本向量化

Qwen3 Embedding 8B

文本嵌入、文本向量化

Doubao Embedding Large Text 250515

文本向量化

Qwen Text Embedding V4

文本向量化

Qwen Text Embedding V1

文本向量化

Qwen Text Embedding V2

文本向量化

Doubao Embedding Large

文本向量化

Doubao Embedding

文本向量化

Qwen Text Embedding V3

文本向量化

Hunyuan Embedding

文本向量化