Skip to main content
Tutorial integrasi model pihak ketiga

GLM

Topik ini menjelaskan cara menggunakan API untuk memanggil model seri GLM di platform Alibaba Cloud Model Studio.

Model glm-4.6 dan glm-4.7 akan dihapus dari daftar pada 10 Oktober 2026. Kami merekomendasikan migrasi ke: qwen3.7-plus, qwen3.8-max, dan qwen3.8-flash.

Titik akhir layanan

Titik akhir layanan bervariasi berdasarkan wilayah. Konfigurasikan URL dasar yang sesuai dengan wilayah yang Anda pilih.
  • Kompatibel dengan OpenAI
  • Kompatibel dengan OpenAI - API Responses
  • DashScope
  • China (Beijing)
  • AS (Virginia)
  • Jerman (Frankfurt)
  • China (Hong Kong)
  • Singapura
base_url untuk panggilan SDK adalah: https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1Titik akhir permintaan HTTP: POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1/chat/completions
Ganti {WorkspaceId} dengan ID ruang kerja aktual Anda.

Memulai

glm-5.2 dan glm-5.2-fast-preview adalah model terbaru dalam seri GLM, dengan panjang konteks hingga 1 juta token. Kedua model ini memungkinkan Anda mengatur mode berpikir dan mode non-berpikir melalui parameter enable_thinking. Anda dapat menjalankan kode berikut untuk langsung memanggil model glm-5.2 dalam mode berpikir. Sebelum memulai, dapatkan Kunci API dan konfigurasikan sebagai variabel lingkungan. Jika Anda menggunakan SDK, Anda juga harus menginstal SDK OpenAI atau DashScope.
  • Kompatibel dengan OpenAI
  • DashScope
  • Kompatibel dengan Anthropic
Parameter enable_thinking bukan parameter standar OpenAI. Di SDK Python OpenAI, parameter ini dilewatkan melalui extra_body. Di SDK Node.js, parameter ini dilewatkan sebagai parameter tingkat atas.
  • Python
  • Node.js
  • HTTP

Kode contoh

from openai import OpenAI
import os

# Inisialisasi klien OpenAI
client = OpenAI(
    # Jika variabel lingkungan belum dikonfigurasi, ganti nilai berikut dengan Kunci API Studio Model Anda: api_key="sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # Saat melakukan panggilan, ganti {WorkspaceId} dengan ID Ruang Kerja aktual Anda.
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)

messages = [{"role": "user", "content": "Siapa kamu?"}]
completion = client.chat.completions.create(
    model="glm-5.2",
    messages=messages,
    # Atur enable_thinking di extra_body untuk mengaktifkan mode berpikir
    extra_body={"enable_thinking": True},
    stream=True,
    stream_options={
        "include_usage": True
    },
)

reasoning_content = ""  # Proses berpikir lengkap
answer_content = ""  # Tanggapan lengkap
is_answering = False  # Menunjukkan apakah fase tanggapan telah dimulai
print("\n" + "=" * 20 + "Proses berpikir" + "=" * 20 + "\n")

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

    delta = chunk.choices[0].delta

    # Kumpulkan hanya konten berpikir
    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

    # Setelah konten diterima, mulai tanggapan
    if hasattr(delta, "content") and delta.content:
        if not is_answering:
            print("\n" + "=" * 20 + "Tanggapan lengkap" + "=" * 20 + "\n")
            is_answering = True
        print(delta.content, end="", flush=True)
        answer_content += delta.content

Tanggapan

====================Proses berpikir====================

Mari saya pertimbangkan secara hati-hati pertanyaan pengguna. Pertanyaannya tampak sederhana, tetapi sebenarnya memiliki kedalaman.

Dari perspektif linguistik, pengguna menggunakan bahasa Tionghoa, yang berarti saya harus merespons dalam bahasa Tionghoa. Ini adalah pertanyaan perkenalan diri dasar, tetapi mungkin memiliki banyak lapisan makna.

Pertama, saya perlu memastikan bahwa sebagai model bahasa, saya harus menyatakan identitas dan sifat saya secara jujur. Saya bukan manusia, juga tidak memiliki kesadaran emosional nyata. Saya adalah asisten AI yang dilatih dengan teknologi pembelajaran mendalam. Ini adalah fakta paling dasar.

Kedua, mempertimbangkan skenario potensial pengguna, mereka mungkin ingin tahu:
1. Layanan apa saja yang bisa saya berikan?
2. Apa bidang keahlian saya?
3. Apa batasan saya?
4. Bagaimana mereka bisa berinteraksi dengan saya lebih baik?

Dalam jawaban saya, saya harus menunjukkan sikap ramah dan terbuka sekaligus tetap profesional dan akurat. Saya harus menyatakan bidang keahlian utama saya, seperti tanya jawab pengetahuan, bantuan penulisan, dan dukungan kreatif, tetapi juga secara jujur menunjukkan batasan saya, seperti kurangnya pengalaman emosional nyata.

Selain itu, agar jawaban lebih lengkap, saya juga harus mengekspresikan sikap positif yang bersedia membantu pengguna menyelesaikan masalah. Saya dapat secara tepat membimbing pengguna untuk mengajukan pertanyaan yang lebih spesifik guna menunjukkan kemampuan saya dengan lebih baik.

Mengingat ini adalah pembuka percakapan terbuka, jawabannya harus ringkas namun informatif, memberikan pemahaman yang jelas kepada pengguna tentang situasi dasar saya dan meletakkan fondasi yang baik untuk percakapan selanjutnya.

Terakhir, nada harus rendah hati dan profesional, tidak terlalu teknis maupun terlalu santai, agar pengguna merasa nyaman dan alami.
====================Tanggapan lengkap====================

Saya adalah model bahasa besar GLM yang dilatih oleh Zhipu AI, dirancang untuk memberikan informasi dan membantu menyelesaikan masalah. Saya dirancang untuk memahami dan menghasilkan bahasa manusia, serta dapat menjawab pertanyaan, memberikan penjelasan, atau berpartisipasi dalam diskusi tentang berbagai topik.

Saya tidak menyimpan data pribadi Anda, dan percakapan kita bersifat anonim. Apakah ada topik yang bisa saya bantu Anda pahami atau diskusikan?
====================Penggunaan token====================

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

Pemanggilan alat streaming

glm-5.2, glm-5.2-fast-preview, glm-5.1, glm-5, glm-4.7, dan glm-4.6 mendukung parameter tool_stream. Parameter ini merupakan boolean yang secara default bernilai false dan hanya berlaku ketika stream diatur ke true. Ketika diaktifkan, argumen dari parameter tool_call dari Function Calling dikembalikan secara inkremental dalam aliran, bukan sekaligus setelah generasi lengkap selesai. Perilaku gabungan dari stream dan tool_stream adalah sebagai berikut:

stream

tool_stream

metode pengembalian tool_call

true

true

Argumen dikembalikan secara inkremental dalam beberapa chunk.

true

false (default)

Argumen dikembalikan sepenuhnya dalam satu chunk.

false

true/false

tool_stream tidak berpengaruh. Argumen dikembalikan sekaligus dalam tanggapan lengkap.

  • Kompatibel dengan OpenAI
  • DashScope
  • Python
  • Node.js
  • HTTP

Kode contoh

from openai import OpenAI
import os

client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # Wilayah Singapura. Ganti {WorkspaceId} dengan ID ruang kerja Bailian Anda. URL bervariasi berdasarkan wilayah.
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Dapatkan informasi cuaca untuk kota tertentu",
            "parameters": {
                "type": "object",
                "properties": {
                    "city": {"type": "string", "description": "Nama kota"}
                },
                "required": ["city"]
            }
        }
    }
]

messages = [{"role": "user", "content": "Bagaimana cuaca di Beijing?"}]

completion = client.chat.completions.create(
    model="glm-5.2",
    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}")

Usaha penalaran (reasoning_effort)

Model glm-5.2, glm-5.2-fast-preview, dan glm-5.1 memiliki mode berpikir yang diaktifkan secara default. Model pertama kali mengeluarkan proses berpikir (reasoning_content) lalu memberikan jawaban akhir. Anda dapat menggunakan parameter reasoning_effort untuk menyesuaikan usaha penalaran. Nilai yang lebih tinggi menunjukkan pemikiran yang lebih menyeluruh. Nilai yang didukung bervariasi berdasarkan model. Jika Anda memberikan nilai yang tidak didukung, kesalahan invalid_parameter_error akan dikembalikan. Pilih nilai dari tabel berikut.

Model

Nilai yang tersedia untuk reasoning_effort

glm-5.2

none (tanpa penalaran, reasoning_tokens=0), minimal, low, medium, high, xhigh, max (tertinggi)

glm-5.2-fast-preview

none (tanpa penalaran, reasoning_tokens=0), minimal, low, medium, high, xhigh, max (tertinggi)

glm-5.1

none, minimal, low, medium, high, xhigh (tertinggi, max tidak didukung)

Untuk menonaktifkan mode berpikir, atur parameter enable_thinking ke false dalam mode kompatibel OpenAI atau DashScope. Parameter ini memiliki prioritas lebih tinggi daripada reasoning_effort.
Mode kompatibel Anthropic tidak mendukung parameter reasoning_effort. Untuk mendapatkan konten berpikir, gunakan parameter native Anthropic thinking: {"thinking":{"type":"enabled","budget_tokens":1024}}. Ketika diaktifkan, blok content dalam tanggapan akan mencakup blok berpikir dengan type diatur ke thinking.
  • Kompatibel dengan OpenAI
  • DashScope
Python
from openai import OpenAI
import os
client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # Wilayah Singapura. Ganti {WorkspaceId} dengan ID ruang kerja Bailian Anda. URL bervariasi berdasarkan wilayah.
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
    model="glm-5.2",
    messages=[{"role": "user", "content": "Manakah yang lebih besar, 9.9 atau 9.11?"}],
    reasoning_effort="high",
)
print(completion.choices[0].message.content)

Bersihkan riwayat berpikir (clear_thinking)

Parameter clear_thinking mengontrol apakah reasoning_content (proses berpikir) dari putaran sebelumnya dalam percakapan multi-putaran diteruskan ke model sebagai konteks. Parameter ini hanya didukung oleh model seri GLM.
  • true: Mengabaikan reasoning_content dari putaran sebelumnya. Hanya konten non-penalaran seperti teks yang terlihat, pemanggilan alat, dan hasil yang digunakan sebagai input konteks. Hal ini mengurangi panjang konteks dan biaya.
  • false (default): Mempertahankan reasoning_content dari putaran sebelumnya dan memberikannya ke model bersama dengan konteks. Untuk mengaktifkan Preserved Thinking, Anda harus meneruskan reasoning_content historis secara lengkap, tidak diubah, dan dalam urutan aslinya dalam pesan. Konten yang hilang, dipotong, ditulis ulang, atau diurutkan ulang dapat menurunkan performa atau menyebabkan fitur gagal.
Parameter ini hanya memengaruhi konten berpikir historis lintas putaran dan tidak mengubah apakah model menghasilkan atau mengeluarkan konten berpikir pada putaran saat ini.
Contoh berikut menggunakan rangkaian pesan multi-putaran yang sama, di mana pesan assistant berisi reasoning_content. Ketika clear_thinking diatur ke true, konten berpikir historis tidak termasuk dalam konteks. Oleh karena itu, jumlah prompt_tokens lebih rendah dibandingkan ketika diatur ke false (default). Nilai aktual tergantung pada panjang reasoning_content historis.
  • Kompatibel dengan OpenAI
  • DashScope
Python
from openai import OpenAI
import os

client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # Saat melakukan panggilan, ganti {WorkspaceId} dengan ID Ruang Kerja aktual Anda.
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)

# Percakapan multi-putaran di mana pesan assistant membawa reasoning_content (proses berpikir historis)
messages = [
    {"role": "user", "content": "Hitung 15 * 23."},
    {"role": "assistant", "content": "15 dikalikan 23 sama dengan 345.", "reasoning_content": "15 * 23 = 345"},
    {"role": "user", "content": "Bagaimana jika ditambah 55?"},
    {"role": "assistant", "content": "345 ditambah 55 sama dengan 400.", "reasoning_content": "345 + 55 = 400"},
    {"role": "user", "content": "Apa hasil antaranya?"},
]

completion = client.chat.completions.create(
    model="glm-5.2",
    messages=messages,
    extra_body={
        "enable_thinking": True,
        # true: Mengabaikan reasoning_content historis untuk mengurangi panjang konteks dan biaya
        # false (default): Mempertahankan reasoning_content historis (Preserved Thinking)
        "clear_thinking": True,
    },
)
print(completion.usage.prompt_tokens)  # Nilainya lebih kecil saat diatur ke true dibandingkan saat diatur ke false

API Responses

glm-5.2 mendukung panggilan melalui API Responses yang kompatibel dengan OpenAI. Hanya wilayah China (Beijing) dan Singapura yang didukung. Untuk titik akhir, lihat Titik akhir layanan. Saat memanggil API Responses, Anda dapat menambahkan alat web_search (Pencarian web), web_extractor (Ekstraktor web), dan code_interpreter (Interpreter kode) ke parameter tools.
Python
from openai import OpenAI
import os

client = OpenAI(
    # Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan Kunci API Studio Model Anda: api_key="sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # URL berikut untuk wilayah Singapura. Untuk wilayah lain, gunakan https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)

response = client.responses.create(
    model="glm-5.2",
    input="Halo! Perkenalkan dirimu dalam satu kalimat.",
    # Opsional: aktifkan alat pencarian web, ekstraktor web, dan interpreter kode
    tools=[
        {"type": "web_search"},
        {"type": "web_extractor"},
        {"type": "code_interpreter"},
    ],
)

# Dapatkan tanggapan model
print(response.output_text)

Fitur lainnya

ModelPercakapan multi-putaranPemanggilan FungsiOutput terstrukturPencarian webMode parsialCache konteks
glm-5.2DidukungDidukungDidukung
Hanya dalam mode non-berpikir
Tidak didukungTidak didukungDidukung
Hanya cache implisit yang didukung
glm-5.2-fast-previewDidukungDidukungDidukung
Hanya dalam mode non-berpikir
Tidak didukungTidak didukungDidukung
Hanya cache implisit yang didukung
glm-5.1DidukungDidukungDidukung
Hanya dalam mode non-berpikir
Tidak didukungTidak didukungDidukung
Cache eksplisit dan implisit keduanya didukung
glm-5DidukungDidukungDidukung
Hanya dalam mode non-berpikir
Tidak didukungTidak didukungDidukung
Hanya cache implisit yang didukung
glm-4.7DidukungDidukungDidukung
Hanya dalam mode non-berpikir
Tidak didukungTidak didukungDidukung
Hanya cache implisit yang didukung
glm-4.6DidukungDidukungDidukung
Hanya dalam mode non-berpikir
Tidak didukungTidak didukungDidukung
Hanya cache implisit yang didukung

Nilai parameter default

Model

enable_thinking

suhu

top_p

top_k

repetition_penalty

glm-5.2

true

1.0

0.95

20

1.0

glm-5.1

true

1.0

0.95

20

1.0

glm-5

true

1.0

0.95

20

1.0

glm-4.7

true

1.0

0.95

20

1.0

glm-4.6

true

1.0

0.95

20

1.0

Untuk informasi lebih lanjut tentang parameter, lihat Kompatibel dengan OpenAI - Chat.

Perhatian

Model open-source pihak ketiga yang dideploy di cloud (seperti glm-5.2) menangani hiperparameter secara berbeda dari versi resmi model tersebut: versi resmi melakukan validasi ambang batas pada hiperparameter dan kembali ke nilai default ketika ambang batas dilampaui; versi yang dideploy di cloud langsung meneruskan nilai parameter yang diberikan pengguna tanpa validasi ambang batas. Oleh karena itu, pengaturan hiperparameter yang tidak tepat (seperti mengatur repetition_penalty ke 0.1) dapat menyebabkan output yang tidak diharapkan (seperti pencetakan berulang). Kami merekomendasikan menggunakan nilai hiperparameter default (lihat tabel nilai parameter default di atas) untuk model open-source pihak ketiga dan menghindari parameter kustom.

Model dan penagihan

Model seri GLM adalah model penalaran hibrida yang dirancang oleh Zhipu AI untuk agen. Model ini menyediakan mode berpikir dan non-berpikir.
  • glm-5.2: Model GLM terbaru dengan panjang konteks 1 juta. Mendukung Pemanggilan Fungsi, output terstruktur, dan cache implisit. Anda dapat memanggilnya menggunakan antarmuka kompatibel OpenAI, DashScope, dan kompatibel Anthropic.
Untuk informasi tentang panjang konteks model dan harga, lihat Konsol Studio Model. Penagihan didasarkan pada jumlah token input dan output.
Dalam mode berpikir, rantai-pikiran ditagih sebagai token output.

Kode kesalahan

Jika terjadi kesalahan, lihat Kode kesalahan untuk informasi troubleshooting.
Rencana Token (Team Edition)
Model playground
  • Pembuatan audio
  • Pembuatan musik
Statistik dan Pemantauan
Asset Center
Dukungan layanan