Cách sử dụng API GLM-5.2

Sử dụng API GLM-5.2 chỉ trong vài phút: lấy khóa, truy cập điểm cuối tương thích OpenAI, và chạy các ví dụ curl + Python cho suy luận, truyền dữ liệu (streaming), và gọi công cụ.

Ashley Innocent

Ashley Innocent

17 tháng 6 2026

Cách sử dụng API GLM-5.2

Apidog cho doanh nghiệp

Triển khai tại chỗ

SSO & RBAC

Tuân thủ SOC 2

Khám phá Apidog Enterprise

API GLM-5.2 cung cấp cho bạn quyền truy cập có lập trình vào mô hình MoE hàng đầu có trọng số mở mới nhất của Z.ai, một mô hình khoảng 753B tham số đạt điểm cao nhất trong số các mô hình mã nguồn mở trên các điểm chuẩn mã hóa dài hạn. Hướng dẫn này mang tính thực hành. Bạn sẽ nhận được khóa API, thực hiện yêu cầu đầu tiên của mình, sau đó làm việc với Python, curl, các chế độ suy nghĩ, truyền phát, gọi công cụ và theo dõi chi phí, tất cả đều với các giá trị thực bạn có thể dán vào terminal.

Nếu bạn đang sử dụng phiên bản trước, hãy bắt đầu từ đây.

button

Những thay đổi từ GLM-5.1

GLM-5.2 thay thế thế hệ 5.1. Nếu bạn đã viết mã tích hợp cho API GLM-5.1, định dạng dây vẫn giữ nguyên, vì vậy bạn chủ yếu chỉ cần hoán đổi ID mô hình. Những khác biệt đáng chú ý:

Vì mã yêu cầu 5.1 vẫn hoạt động, hướng dẫn này không nhắc lại. Mọi thứ ở đây đều trực tiếp nhắm mục tiêu glm-5.2.

Bước 1: Lấy khóa API GLM-5.2

Đăng nhập tại z.ai và mở phần khóa API trong bảng điều khiển tài khoản của bạn. Tạo một khóa, sao chép nó một lần (bạn thường không thể xem lại) và lưu trữ nó trong một biến môi trường thay vì dán trực tiếp vào mã nguồn:

export ZAI_API_KEY="your-glm-5.2-api-key"

Giữ khóa API glm-5.2 của bạn khỏi git. Khóa bị rò rỉ sẽ bị tính phí vào tài khoản của bạn, và đầu ra GLM-5.2 được tính giá theo triệu token, vì vậy một tập lệnh bị lỗi có thể tốn kém thực sự.

Bước 2: Biết endpoint và base_url

GLM-5.2 tương thích với OpenAI, có nghĩa là bất kỳ client nào hỗ trợ định dạng OpenAI Chat Completions đều hoạt động sau khi bạn trỏ lại URL cơ sở. Các giá trị bạn cần:

Cài đặt Giá trị
Endpoint hoàn thành cuộc trò chuyện https://api.z.ai/api/paas/v4/chat/completions
Base URL (cho SDK) https://api.z.ai/api/paas/v4/
ID mô hình glm-5.2
Xác thực Authorization: Bearer $ZAI_API_KEY

Alias của OpenRouter là z-ai/glm-5.2 nếu bạn muốn định tuyến qua OpenRouter thay vì gọi trực tiếp Z.ai. Đối với các chạy cục bộ, Ollama xuất bản trọng số dưới dạng glm-5.2 (xem thư viện Ollama), và trọng số mở có sẵn trên Hugging Face theo giấy phép MIT.

Một lưu ý về giới hạn trước khi bạn xây dựng: cửa sổ ngữ cảnh là 1M token (1.048.576). Để có đầu ra tối đa, tài liệu z.ai liệt kê lên đến 128K, nhưng OpenRouter không công bố con số, vì vậy hãy coi đó là lên đến 128K theo tài liệu z.ai (xác minh trực tiếp) thay vì một đảm bảo cố định.

Bước 3: Yêu cầu đầu tiên của bạn với curl

Đây là một lệnh gọi curl glm-5.2 tối thiểu. Nó gửi một tin nhắn người dùng và in phản hồi JSON:

curl https://api.z.ai/api/paas/v4/chat/completions \
  -H "Authorization: Bearer $ZAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "glm-5.2",
    "messages": [
      {"role": "system", "content": "You are a concise backend engineer."},
      {"role": "user", "content": "Write a SQL query that returns the 5 newest orders per customer."}
    ]
  }'

Cấu trúc phản hồi khớp với tiêu chuẩn OpenAI: một id, một mảng choices với tin nhắn trợ lý và một đối tượng usage. Trường cuối cùng đó là cách bạn theo dõi chi phí, sẽ được đề cập ở cuối.

Bước 4: Gọi từ Python với OpenAI SDK

Vì API tương thích với OpenAI, bạn không cần một client đặc biệt. Cài đặt SDK tiêu chuẩn và trỏ base_url đến Z.ai. Đây là thiết lập python glm-5.2 chuẩn:

pip install openai
from openai import OpenAI
import os

client = OpenAI(
    api_key=os.environ["ZAI_API_KEY"],
    base_url="https://api.z.ai/api/paas/v4/",
)

resp = client.chat.completions.create(
    model="glm-5.2",
    messages=[
        {"role": "system", "content": "You are a concise backend engineer."},
        {"role": "user", "content": "Explain idempotency keys in 3 sentences."},
    ],
)

print(resp.choices[0].message.content)

Đó là toàn bộ quá trình tích hợp. Đối tượng client hoạt động chính xác như khi chống lại OpenAI, vì vậy mã hỗ trợ, thử lại và ghi nhật ký hiện có đều được kế thừa. Nếu bạn muốn tìm hiểu sâu hơn về chính nền tảng, tổng quan API GLM-5 bao gồm các quy ước chung của dòng sản phẩm.

Bước 5: Kiểm soát lý luận với thinking và reasoning_effort

GLM-5.2 là một mô hình lý luận. Bạn có thể bật hoặc tắt suy nghĩ nội bộ của nó, và khi bật, bạn có thể đặt mức độ làm việc của nó.

Tắt suy nghĩ để có phản hồi nhanh, rẻ, độ trễ thấp (phân loại, viết lại ngắn, định tuyến):

resp = client.chat.completions.create(
    model="glm-5.2",
    messages=[{"role": "user", "content": "Classify: 'my card was charged twice'"}],
    extra_body={"thinking": {"type": "disabled"}},
)

Bật tính năng suy nghĩ và đẩy nỗ lực lên mức Tối đa cho các tác vụ mã hóa và toán học khó. Z.ai khuyến nghị mức Tối đa đặc biệt cho việc mã hóa:

resp = client.chat.completions.create(
    model="glm-5.2",
    messages=[
        {"role": "user", "content": "Refactor this function to remove the N+1 query and explain the fix."},
    ],
    extra_body={
        "thinking": {"type": "enabled"},
        "reasoning_effort": "max",
    },
)

Wrapper extra_body là cách OpenAI Python SDK truyền các trường không chuẩn đến Z.ai. Trong một raw curl body, bạn sẽ đặt thinkingreasoning_effort ở cấp cao nhất bên cạnh model. Nỗ lực tối đa sẽ đốt cháy nhiều output token hơn (tính cả lý luận), vì vậy hãy dành nó cho các tác vụ mà sự nhảy vọt về chất lượng đáng giá.

Bước 6: Truyền phát phản hồi

Đối với giao diện người dùng trò chuyện và tạo nội dung dài, hãy truyền phát các token khi chúng đến thay vì chờ hoàn thành đầy đủ. Đặt stream: true và lặp qua các khối:

stream = client.chat.completions.create(
    model="glm-5.2",
    messages=[{"role": "user", "content": "Write a 200-word changelog entry for a rate-limit fix."}],
    stream=True,
)

for chunk in stream:
    delta = chunk.choices[0].delta.content
    if delta:
        print(delta, end="", flush=True)

Trong curl, thêm "stream": true vào body và máy chủ sẽ trả về Server-Sent Events, một dòng data: cho mỗi chunk, kết thúc bằng data: [DONE]. Truyền phát không làm thay đổi giá; bạn vẫn trả tiền theo token, bạn chỉ thấy chúng sớm hơn.

Bước 7: Gọi hàm và công cụ

Gọi công cụ là nơi sức mạnh tác nhân của GLM-5.2 được thể hiện, và nó đạt 77.0 trên MCP-Atlas trong kết quả công bố của Z.ai, gần với Claude Opus 4.8. Mô hình này theo mẫu hai bước tiêu chuẩn của OpenAI: bạn mô tả một công cụ, mô hình trả về một yêu cầu tool_calls, bạn chạy hàm, sau đó bạn đưa kết quả trở lại.

Đây là một ví dụ API glm-5.2 thực tế nhỏ với tra cứu thời tiết:

import json

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get the current temperature for a city.",
            "parameters": {
                "type": "object",
                "properties": {
                    "city": {"type": "string", "description": "City name, e.g. Berlin"},
                    "unit": {"type": "string", "enum": ["c", "f"]},
                },
                "required": ["city"],
            },
        },
    }
]

messages = [{"role": "user", "content": "What's the weather in Berlin in celsius?"}]

first = client.chat.completions.create(
    model="glm-5.2",
    messages=messages,
    tools=tools,
)

call = first.choices[0].message.tool_calls[0]
args = json.loads(call.function.arguments)

# Bạn chạy hàm thực sự ở đây. Đã được thay thế bằng ví dụ:
def get_weather(city, unit="c"):
    return {"city": city, "temp": 12, "unit": unit}

result = get_weather(**args)

# Nối lệnh gọi công cụ của trợ lý, sau đó là kết quả của công cụ của bạn.
messages.append(first.choices[0].message)
messages.append({
    "role": "tool",
    "tool_call_id": call.id,
    "content": json.dumps(result),
})

final = client.chat.completions.create(
    model="glm-5.2",
    messages=messages,
    tools=tools,
)

print(final.choices[0].message.content)

Mô hình quyết định khi nào gọi công cụ, bạn thực thi nó, và yêu cầu thứ hai cho phép GLM-5.2 biến kết quả thô thành một câu trả lời tự nhiên. Vòng lặp tương tự mở rộng cho nhiều công cụ và các framework tác nhân; không có gì trong hợp đồng là đặc thù của Z.ai.

Kiểm tra vòng lặp này bằng tay sẽ nhanh chóng trở nên tẻ nhạt. Đây là một nơi tốt để sử dụng Apidog: bạn có thể định nghĩa endpoint GLM-5.2 một lần, lưu các yêu cầu body cho từng chế độ suy nghĩ và phát lại các lượt gọi công cụ mà không cần viết lại curl mỗi lần. Nó xử lý schema kiểu OpenAI và cho phép bạn kiểm tra các phản hồi được truyền trực tuyến ở một nơi.

Bước 8: Đọc đối tượng sử dụng để tính chi phí

Mọi phản hồi không được truyền phát đều mang một đối tượng usage. Đó là nguồn thông tin chính xác về việc tính phí của bạn:

resp = client.chat.completions.create(
    model="glm-5.2",
    messages=[{"role": "user", "content": "Summarize REST vs gRPC in 4 bullets."}],
)

u = resp.usage
print(u.prompt_tokens, u.completion_tokens, u.total_tokens)

Giá của GLM-5.2 là 1.40 đô la cho 1 triệu token đầu vào và 4.40 đô la cho 1 triệu token đầu ra (được xác nhận bởi OpenRouter). Đầu vào được lưu trữ có giá khoảng 0.26 đô la cho 1 triệu (theo VentureBeat, gán số liệu của họ). Vì vậy, một cuộc gọi với 8.000 token đầu vào và 1.500 token đầu ra có chi phí khoảng:

(8000 / 1_000_000 * 1.40) + (1500 / 1_000_000 * 4.40)
= 0.0112 + 0.0066
= khoảng $0.0178

Các token lý luận từ nỗ lực Tối đa được tính vào số lượng đầu ra, vì vậy một cuộc gọi mã hóa với nỗ lực Tối đa sẽ có vẻ đắt hơn so với cuộc gọi có suy nghĩ bị tắt. VentureBeat báo cáo GLM-5.2 "đánh bại GPT-5.5 về mã hóa dài hạn với chi phí chỉ bằng khoảng 1/6," đó là yếu tố kinh tế đằng sau những con số này (gán tuyên bố cho VentureBeat).

Nếu bạn muốn sử dụng gói cước cố định thay vì các cuộc gọi API tính theo lưu lượng, Z.ai cũng bán các gói GLM Coding Plan (Lite, Pro, Max, cộng với Team). Giá chính xác có thể thay đổi, vì vậy tính đến tháng 6 năm 2026, hãy xác minh các gói hiện tại tại z.ai trước khi cam kết. Để so sánh trực tiếp về mặt tính theo lưu lượng, phân tích chi tiết giá GLM-5.2 sẽ đi sâu hơn, và cách sử dụng GLM-5.2 miễn phí bao gồm tuyến đường trọng số cục bộ.

Sử dụng GLM-5.2 bên trong Claude Code

GLM-5.2 cũng cung cấp một đường dẫn tương thích với Anthropic, vì vậy bạn có thể điều khiển nó từ Claude Code. Trỏ URL cơ sở mã hóa tại https://api.z.ai/api/coding/paas/v4 (một số nguồn cho thấy open.z.ai/api/paas/v4, vì vậy hãy xác minh trực tiếp), sau đó đặt các biến môi trường này:

export ANTHROPIC_BASE_URL="https://api.z.ai/api/coding/paas/v4"
export ANTHROPIC_API_KEY="your-glm-coding-plan-key"
export ANTHROPIC_DEFAULT_SONNET_MODEL="glm-5.2[1m]"
export ANTHROPIC_DEFAULT_OPUS_MODEL="glm-5.2[1m]"
export CLAUDE_CODE_AUTO_COMPACT_WINDOW=1000000
export API_TIMEOUT_MS=3000000

Hậu tố [1m] chọn biến thể ngữ cảnh 1M, và API_TIMEOUT_MS dài rất quan trọng: nếu không có nó, Claude Code có thể hủy các cuộc gọi ngữ cảnh lớn dài trước khi chúng trả về. Hướng dẫn chi tiết đầy đủ nằm trong hướng dẫn của chúng tôi về việc chạy GLM với Claude Code, và nếu bạn đang cân nhắc các công cụ, Claude Code so với Codex so với Cursor so với GLM Plan trình bày các đánh đổi.

GLM-5.2 so với các đối thủ khác

Tham khảo nhanh các giá trị ảnh hưởng đến quyết định tích hợp:

Thuộc tính GLM-5.2
ID mô hình (API) glm-5.2
Kiến trúc ~753B MoE, BF16, chú ý thưa thớt IndexShare
Cửa sổ ngữ cảnh 1M token (1.048.576)
Đầu ra tối đa lên đến 128K theo tài liệu z.ai (xác minh trực tiếp)
Chế độ suy nghĩ Cao / Tối đa, hoặc bị tắt
Giá đầu vào $1.40 / 1M token
Giá đầu ra $4.40 / 1M token
Giấy phép MIT, trọng số mở

Để biết chi tiết điểm chuẩn, kết quả được Z.ai công bố bao gồm SWE-bench Pro 62.1 (GPT-5.5 58.6), Humanity’s Last Exam with tools 54.7, và AIME 2026 99.2. Tổng hợp điểm chuẩn GLM-5.2 phân tích chi tiết các điểm này, và GLM-5.2 vs GPT-5.5, Claude Opus, và Gemini đặt chúng cạnh nhau.

FAQ

API GLM-5.2 có thực sự tương thích với OpenAI không? Có. Trỏ base_url của OpenAI SDK vào https://api.z.ai/api/paas/v4/ và đặt mô hình là glm-5.2. Mã chat, streaming và gọi công cụ tiêu chuẩn hoạt động không thay đổi.

ID mô hình GLM-5.2 tôi nên gửi là gì? Gửi glm-5.2 tới API Z.ai. Trên OpenRouter là z-ai/glm-5.2, trên Ollama là glm-5.2, và biến thể Claude Code là glm-5.2[1m] cho cửa sổ ngữ cảnh 1M.

Làm cách nào để tắt lý luận để tăng tốc độ? Truyền thinking: {"type": "disabled"} (thông qua extra_body trong Python SDK). Đối với các tác vụ mã hóa khó, hãy bật suy nghĩ và đặt reasoning_effort: "max", điều mà Z.ai khuyến nghị cho mã.

GLM-5.2 tốn bao nhiêu cho mỗi cuộc gọi? $1.40 cho 1 triệu token đầu vào và $4.40 cho 1 triệu token đầu ra (được OpenRouter xác nhận). Đọc đối tượng usage trong mỗi phản hồi để tính toán chi phí chính xác; hãy nhớ rằng các token lý luận ở mức nỗ lực tối đa được tính là đầu ra.

GLM-5.2 có mô hình thị giác không? Chưa có biến thể thị giác nào được xác nhận tính đến tháng 6 năm 2026. API là đầu vào văn bản, đầu ra văn bản. Đừng dựa vào đầu vào hình ảnh cho đến khi Z.ai tài liệu hóa hỗ trợ.

Tổng kết

API GLM-5.2 chỉ cách một bước nhỏ so với bất kỳ codebase tương thích OpenAI nào: hoán đổi URL cơ sở, gửi glm-5.2, và bạn có một mô hình mã hóa với ngữ cảnh 1M, giấy phép MIT, lý luận có thể điều chỉnh với giá đầu ra 4.40 đô la cho mỗi 1 triệu token. Bắt đầu với một lệnh curl, chuyển sang Python SDK, sau đó thêm các chế độ suy nghĩ và gọi công cụ khi trường hợp sử dụng của bạn yêu cầu.

Khi bạn sẵn sàng kiểm tra các điểm cuối, lưu các biến thể yêu cầu và kiểm tra các lượt gọi công cụ mà không cần viết tay curl mỗi lần, hãy tải xuống Apidog và thiết lập điểm cuối GLM-5.2 một lần. Để có cái nhìn tổng thể hơn về chính mô hình, hãy xem GLM-5.2 là gìso sánh GLM-5.2 vs GLM-5.1.

button

Thực hành thiết kế API trong Apidog

Khám phá cách dễ dàng hơn để xây dựng và sử dụng API