Skip to main content
三方模型調用教程

GLM-智譜

本文檔介紹如何在阿里雲百鍊平台叫用 Z.AI 直供的模型推理服務。

本文檔描述的功能僅在新加坡地區可用,如需使用模型,需從新加坡地區調用。
阿里雲百鍊為華北2(北京)、新加坡、中國香港地區推出了業務空間專屬網域名稱,能夠為推理請求提供卓越的效能和更高的穩定性,建議遷移至新網域名稱:
  • 華北2(北京)地區:從 https://dashscope.aliyuncs.com 遷移至 https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com
  • 新加坡地區:從 https://dashscope-intl.aliyuncs.com 遷移至 https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com
  • 中國香港地區:從 https://cn-hongkong.dashscope.aliyuncs.com 遷移至 https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com
其中 {WorkspaceId} 為您的業務空間 ID,可在阿里雲百鍊控制台的業務空間詳情頁面查看。現有網域名稱仍可正常使用。

服務開通

  1. 前往百鍊控制台,搜尋 ZHIPU/GLM,找到Z.AIGLM系列文本模型卡片,單擊立即開通;
  2. 在彈窗內確認開通及授權。
完成以上步驟即可調用Z.AI提供的 GLM 模型服務。

快速開始

ZHIPU/GLM-5.3 是 GLM 系列最新模型,支援真正可用的 1M 上下文。運行以下代碼快速調用思考模式的 ZHIPU/GLM-5.3 模型。 需要已擷取與配置 API Key並完成配置API Key到環境變數。如果通過SDK調用,需要安裝SDK
  • OpenAI相容
enable_thinking非 OpenAI 標準參數,OpenAI Python SDK 通過 extra_body傳入,Node.js SDK 作為頂層參數傳入。
  • Python
  • Node.js
  • HTTP

範例程式碼

from openai import OpenAI
import os

# 初始化OpenAI用戶端
client = OpenAI(
    # 如果沒有配置環境變數,請用阿里雲百鍊API Key替換:api_key="sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # 以下為新加坡地區的URL。請將 {WorkspaceId} 替換為您的百鍊業務空間ID,各地區的URL不同。
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)

messages = [{"role": "user", "content": "你是誰"}]
completion = client.chat.completions.create(
    model="ZHIPU/GLM-5.3",
    messages=messages,
    # 通過 extra_body 設定 enable_thinking 開啟思考模式
    # reasoning_effort 控制思考深度,可選值:max(預設)、high、low
    extra_body={"enable_thinking": True, "reasoning_effort": "max"},
    stream=True,
    stream_options={
        "include_usage": True
    },
)

reasoning_content = ""  # 完整思考過程
answer_content = ""  # 完整回複
is_answering = False  # 是否進入回複階段
print("\n" + "=" * 20 + "思考過程" + "=" * 20 + "\n")

for chunk in completion:
    if not chunk.choices:
        print("\n" + "=" * 20 + "Token 消耗" + "=" * 20 + "\n")
        print(chunk.usage)
        continue

    delta = chunk.choices[0].delta

    # 只收集思考內容
    if hasattr(delta, "reasoning_content") and delta.reasoning_content is not None:
        if not is_answering:
            print(delta.reasoning_content, end="", flush=True)
        reasoning_content += delta.reasoning_content

    # 收到content,開始進行回複
    if hasattr(delta, "content") and delta.content:
        if not is_answering:
            print("\n" + "=" * 20 + "完整回複" + "=" * 20 + "\n")
            is_answering = True
        print(delta.content, end="", flush=True)
        answer_content += delta.content

返回結果

====================思考過程====================

讓我仔細思考使用者提出的這個看似簡單但實際上很有深度的問題。

從語言特點來看,使用者使用的是中文,這意味著我應該用中文來回應。這是一個最基礎的自我介紹問題,但背後可能包含著多層次的含義。

首先需要明確的是,作為一個語言模型,我應該誠實地說明自己的身份和本質。我既不是人類,也不具備真正的情感意識,而是一個由深度學習技術訓練的AI助手。這是最基本的事實。

其次,考慮到使用者可能的需求情境,他們或許想瞭解:
1. 我能提供什麼樣的服務
2. 我的專業領域是什麼
3. 我的局限性在哪裡
4. 如何與我更好地互動

在回答中,我應該既表達友好和開放的態度,又保持專業和準確。要說明自己擅長的主要領域,比如知識問答、寫作輔助、創意支援等,但同時也要坦誠地指出自己的局限性,比如缺乏真實的情感體驗。

此外,為了讓回答更加完整,我還應該表達出願意協助使用者解決問題的積極態度。可以適當引導使用者提出更具體的問題,這樣可以更好地展現自己的能力。

考慮到這是一個開放式的開場白,回答時既要簡潔明了,又要包含足夠的資訊量,讓使用者對我的基本情況有一個清晰的認識,同時為後續的對話奠定良好的基礎。

最後,語氣應該保持謙遜和專業,既不過於技術化,也不顯得過分隨意,讓使用者感到舒適和自然。
====================完整回複====================

我是智譜AI訓練的GLM大語言模型,旨在為使用者提供資訊和協助解決問題。我被設計用來理解和產生人類語言,可以回答問題、提供解釋或參與各類話題討論。

我不會儲存您的個人資料,我們的對話是匿名的。有什麼我能幫您瞭解或探討的話題嗎?
====================Token 消耗====================

CompletionUsage(completion_tokens=344, prompt_tokens=7, total_tokens=351, completion_tokens_details=None, prompt_tokens_details=None)

流式工具調用

ZHIPU/GLM-5.3、ZHIPU/GLM-5.2支援tool_stream參數(boolean,預設false),僅在streamtrue時生效。開啟後,Function Calling 返回的 tool_call 參數(arguments)會以流式增量方式逐步返回。 streamtool_stream的組合行為如下:

stream

tool_stream

tool_call 返回方式

true

true

arguments 以增量方式分多個 chunk 返回

true

false(預設)

arguments 在一個 chunk 中完整返回

false

true/false

tool_stream 不生效,arguments 在完整響應中一次性返回

  • OpenAI相容
  • Python
  • Node.js
  • curl

範例程式碼

from openai import OpenAI
import os

client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # 以下為新加坡地區的URL。請將 {WorkspaceId} 替換為您的百鍊業務空間ID,各地區的URL不同。
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "擷取指定城市的天氣資訊",
            "parameters": {
                "type": "object",
                "properties": {
                    "city": {"type": "string", "description": "城市名稱"}
                },
                "required": ["city"]
            }
        }
    }
]

messages = [{"role": "user", "content": "北京天氣怎麼樣"}]

completion = client.chat.completions.create(
    model="ZHIPU/GLM-5.3",
    tools=tools,
    messages=messages,
    extra_body={
        "tool_stream": True,
    },
    stream=True,
    stream_options={"include_usage": True},
)

for chunk in completion:
    if chunk.choices:
        delta = chunk.choices[0].delta
        if hasattr(delta, 'content') and delta.content:
            print(f"[content] {delta.content}")
        if hasattr(delta, 'tool_calls') and delta.tool_calls:
            for tc in delta.tool_calls:
                print(f"[tool_call] id={tc.id}, name={tc.function.name}, args={tc.function.arguments}")
        if chunk.choices[0].finish_reason:
            print(f"[finish_reason] {chunk.choices[0].finish_reason}")
    if not chunk.choices and chunk.usage:
        print(f"[usage] {chunk.usage}")

思考控制(thinking.type 與 reasoning_effort)

ZHIPU/GLM-5.3 始終以思考模式運行,不支援關閉思考,請保持 thinking.typeenabled(使用 enable_thinking 時保持為 true),並通過 reasoning_effort 控制推理深度。

參數

說明

支援的值

thinking.type

控制是否開啟思考,預設為 enabled。ZHIPU/GLM-5.3 不再支援 disabled,傳入 disabled 會導致 API 請求失敗。

enabled

reasoning_effort

控制模型的推理深度。未傳入時預設為 max,推薦使用 max

  • max(預設):深度推理

  • high:增強推理

  • low:輕度推理

清除歷史思考(clear_thinking)

clear_thinking 參數用於控制多輪對話中是否將歷史輪次的 reasoning_content(思考過程)作為上下文輸入給模型。僅 GLM 系列模型支援。
  • true:忽略歷史輪次的 reasoning_content,僅使用可見文本、工具調用與結果等非推理內容作為上下文輸入,可降低上下文長度與成本。
  • false(預設):保留歷史輪次的 reasoning_content 並隨上下文一同提供給模型。若希望啟用 Preserved Thinking,必須在 messages 中完整、未修改、按原順序透傳歷史 reasoning_content,缺失、裁剪、改寫或重排會導致效果下降或無法生效。
該參數隻影響跨輪次的歷史思考內容,不改變模型在當前輪次內是否產生/輸出思考。
以下樣本使用同一組多輪 messages(assistant 訊息中攜帶 reasoning_content)。設定 clear_thinking=true 後,歷史思考內容不會被計入上下文,因此 prompt_tokens 少於 false(預設)的情況,實際數值取決於歷史 reasoning_content 的長度。
  • OpenAI相容
Python
from openai import OpenAI
import os

client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # 以下為新加坡地區的URL。請將 {WorkspaceId} 替換為您的百鍊業務空間ID,各地區的URL不同。
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)

# 多輪對話,assistant 訊息中攜帶 reasoning_content(歷史思考過程)
messages = [
    {"role": "user", "content": "請計算 15 * 23 是多少?"},
    {"role": "assistant", "content": "15 乘以 23 等於 345。", "reasoning_content": "15 * 23 = 345"},
    {"role": "user", "content": "那再加上 55 呢?"},
    {"role": "assistant", "content": "345 加上 55 等於 400。", "reasoning_content": "345 + 55 = 400"},
    {"role": "user", "content": "剛才的中間結果是多少?"},
]

completion = client.chat.completions.create(
    model="ZHIPU/GLM-5.3",
    messages=messages,
    extra_body={
    "thinking": {
        "type": "enabled",
        "clear_thinking": False  # False = 保留思考內容
      }
  }
)
print(completion.usage.prompt_tokens)  # true 時少於 false

其它功能

模型多輪對話Function Calling結構化輸出連網搜尋首碼續寫上下文緩衝思考深度控制
ZHIPU/GLM-5.3支援支援不支援不支援支援支援支援
reasoning_effort
ZHIPU/GLM-5.2支援支援支援
僅非思考模式
不支援支援支援支援
reasoning_effort
上下文緩衝類型為隱式緩衝,自動開啟,與阿里雲百鍊的隱式緩衝服務有以下不同:
  • 緩衝最少 Token 數為 512(百鍊為 256)。

參數預設值

模型

enable_thinking

temperature

top_p

top_k

repetition_penalty

ZHIPU/GLM-5.3

true(不可關閉)

1.0

0.95

-

-

ZHIPU/GLM-5.2

true

1.0

0.95

-

-

-表示沒有預設值,也不支援設定。

模型列表與計費

GLM 系列模型是Z.AI專為智能體設計的混合推理模型,提供思考與非思考兩種模式,其中 ZHIPU/GLM-5.3 僅支援思考模式。 模型上下文長度與價格資訊請參見百鍊控制台 按照模型的輸入與輸出 Token 計費。
思考模式下,思維鏈按照輸出 Token 計費。

錯誤碼

如果執行報錯,請參見錯誤碼進行解決。 以下為Z.AI專屬的業務錯誤碼。HTTP 錯誤碼與百鍊通用錯誤碼一致,請參見上述連結。

錯誤分類

錯誤碼

錯誤資訊

基礎錯誤

500

內部錯誤

身分識別驗證錯誤

1000

身分識別驗證失敗

1001

Header 中未收到 Authentication 參數,無法進行身分識別驗證

1002

Authentication Token 非法,請確認 Authentication Token 正確傳遞

1003

Authentication Token 已到期,請重建/擷取

1004

通過 Authentication Token 的驗證失敗

1100

賬戶讀寫

賬戶錯誤

1110

您的賬戶當前處於非使用中。請檢查賬戶資訊

1111

您的賬戶不存在

1112

您的賬戶已被鎖定,請聯絡客服解鎖

1113

您的賬戶已欠費,請儲值後重試

1120

無法成功訪問您的賬戶,請稍後重試

1121

賬戶存違規行為,帳號已被鎖定

API 呼叫錯誤

1200

API 呼叫錯誤

1210

API 呼叫參數有誤,請檢查文檔

1211

模型不存在,請檢查模型代碼

1212

當前模型不支援 ${method} 調用方式

1213

未正常接收到 ${field} 參數

1214

${field} 參數非法。請檢查文檔

1215

${field1}${field2} 不能同時設定,請檢查文檔

1220

您無權訪問 ${API_name}

1221

API ${API_name} 已下線

1222

API ${API_name} 不存在

1230

API 呼叫流程出錯

1231

您已有請求:${request_id}

1234

網路錯誤,錯誤id:${error_id},請聯絡客服

1261

Prompt 超長

API 策略阻止錯誤

1300

API 呼叫被策略阻止

1301

系統檢測到輸入或產生內容可能包含不安全或敏感內容,請您避免輸入易產生敏感內容的提示,感謝您的配合

1302

您當前使用該 API 的並發數過高,請降低並發,或聯絡客服增加限額

1303

您當前使用該 API 的頻率過高,請降低頻率,或聯絡客服增加限額

1304

該 API 已達今日調用次數限額,如有更多需求,請聯絡客服購買

1305

該 API 已觸發流量限制

1308

已達到 ${number} ${unit} 的使用上限。您的限額將在 ${next_flush_time} 重設

1309

您的 GLM Coding Plan 套餐已到期,暫無法使用,前往官方續訂後即可恢複 https://bigmodel.cn/claude-code

1310

您已達到每周/每月使用上限,您的限額將在 ${next_flush_time} 重設

1311

當前訂閱套餐暫未開放${model_name}許可權

1312

該模型當前訪問量過大,請您稍後再試,或切換其他模型如 ${model_name}

1313

您的賬戶當前使用模式不符合公平使用原則,請求頻率已受到限制。詳情請參閱《條款與協議-訂閱及自動續約協議》,如需恢複請前往個人中心-編程套餐總覽-頂部申請釋放保留

Token Plan
模型體驗
  • 音樂產生
用量統計與效能監控
資產中心
服務支援