소개
GLM 5.2는 Z.ai의 장문 컨텍스트 채팅 모델로, 여기서는 /v1/chat/completions의 OpenAI 호환 엔드포인트 하나로 제공합니다. 최대 256개 메시지에 걸쳐 1,048,576토큰까지 읽고 최대 131,072토큰으로 답하므로, 자료 전체를 넣고 결론을 받는 형태입니다.
추론 강도는 high와 max 두 단계이며 기본값은 max입니다. temperature(0~1)와 top_p를 받고, response_format으로 JSON을 돌려주며, 요청마다 도구를 최대 128개까지 선언할 수 있습니다. 메시지 내용은 텍스트만 받고, 응답은 Server-Sent Events로 스트리밍됩니다.
핵심 기능 및 하이라이트
쓰는 양의 여덟 배를 읽습니다
입력 1,048,576에 출력 131,072, 대략 8 대 1입니다. 이 형태가 모델의 용도를 말해 줍니다. 분기 치 티켓, 규정 전문, 메일함 전체를 읽고 다시 쓴 글이 아니라 결론을 돌려주는 일입니다. 답이 입력만큼 길어야 한다면 결과물을 먼저 나누세요.
기본은 max, 대량 처리는 high
reasoning_effort는 max에서 시작하고, 큰 첫 처리에서는 high로 내립니다. 둘 다 같은 요청 본문의 설정이므로 문서 만 건을 저렴하게 훑는 작업과 그중 마흔 건을 꼼꼼히 다시 보는 작업이 하나의 연동으로 됩니다. max는 응답 예산을 추론에 더 많이 쓰기 때문에 여기서는 max_tokens 기본값을 32,768로 두었습니다.
JSON과 도구를 같은 호출에서
response_format을 json_object로 두고 system 메시지에 키를 적거나, 함수를 최대 128개까지 선언하고 언제 실행할지는 tool_choice에 맡기세요. 어느 쪽이든 애플리케이션이 결과를 검증한 뒤에 사용해야 합니다.
요청 파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
messages | 예 | 순서대로 최대 256개 턴이고 내용은 텍스트만입니다. 자료는 user 메시지 하나에, 질문과 출력 형식은 system 메시지에 넣으세요. 1개 이상 · 256개 이하 |
reasoning_effort | 아니요 | high, max 중 하나입니다. Z.ai 자체 API와 마찬가지로 기본값이 max라서 이 필드를 뺀 요청도 가장 신중한 설정으로 돌아갑니다. |
stop | 아니요 | 정지 시퀀스는 1개만, 문자열 또는 요소가 하나인 배열로 지정합니다. Z.ai는 하나만 읽습니다. 1자 이상 · 1개 이상 · 1개 이하 |
max_tokens | 아니요 | 응답을 131,072에서 자릅니다. 읽기 창의 8분의 1이고, 기본값은 32,768입니다. |
temperature | 아니요 | 0에서 1까지, 기본값은 1입니다. 응답을 코드가 파싱한다면 0으로 고정하세요. |
top_p | 아니요 | 0.01에서 1까지이고 기본값은 0.95입니다. 한 비교 안에서는 이 값이나 temperature 중 하나만 조절하세요. |
tools | 아니요 | 요청당 함수 정의 최대 128개입니다. 128개 이하 |
tool_choice | 아니요 | auto, none, required, 또는 함수 하나를 지정한 객체입니다. |
response_format | 아니요 | JSON 객체를 요청하고, system 메시지에 키를 하나씩 다 적어 두세요. |
요금
입력 $0.98 / 출력 $3.08 100만 토큰당
활용 사례
분기 치 지원 티켓을 한 번에
릴리스 기간의 티켓을 모두 요청 하나에 넣고, 반복되는 장애 유형을 근거가 되는 티켓 ID와 함께 요구하세요. 표본 추출로 빠지는 것이 없으니 일주일에 한 번 나타나는 패턴도 드러납니다.
규정과 실제 제품 동작의 대조
규정 전문과 데이터 처리 관련 사내 문서를 나란히 넣고 의무, 이를 충족하는 통제, 그리고 빈틈을 요청하세요. 빈틈마다 근거가 된 조항을 연결하게 합니다.
사내 도구를 호출하는 백엔드
주문 조회, 환불, 권한 확인을 도구로 요청 하나에 선언하고 무엇을 호출할지는 모델에게 맡기세요. 결과는 tool 역할 메시지로 돌아오므로 여러 단계의 처리도 대화 하나 안에서 끝납니다.
프롬프트 가이드 및 실전 팁
표본이 아니라 자료 전체를 넣으세요
이 창은 누군가 만들려던 검색 인덱스보다 대개 더 큽니다. 자료는 user 메시지 하나에 오래된 순서로 넣고, system 메시지는 질문과 출력 형식을 위해 비워 두세요.
기록이 아니라 결론을 요구하세요
POST https://api.spicyapi.ai/v1/chat/completions에 {"model": "zai/glm-5.2", "messages": [{"role": "system", "content": "Return one JSON object with keys: obligations, controls, gaps. Every gap must cite the clause it comes from."}, {"role": "user", "content": "<the regulation>\n\n<our data-handling policy>"}], "reasoning_effort": "high", "max_tokens": 16000, "response_format": {"type": "json_object"}, "temperature": 0}을 보냅니다. temperature를 0으로 두면 같은 자료를 다시 점검할 때 실행 결과끼리 비교하기 쉽습니다.
애매한 행만 끌어올리세요
첫 처리에서 불확실하다고 표시된 몇 건만 같은 자료로 max에서 다시 보내세요. 긴 읽기 비용은 두 번 들지만, 꼼꼼한 답이 정말 중요한 행에 집중됩니다. 131,072를 넘는 max_tokens는 검증에서 거부되고, 이미지와 파일 파트는 받지 않습니다.
API 빠른 시작
curl --fail-with-body -sN https://api.spicyapi.ai/v1/chat/completions \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "zai/glm-5.2/chat",
"messages": [
{
"role": "user",
"content": "Summarise the following release notes into three bullet points."
}
],
"stream": true
}' \
| jq --unbuffered -Rrj 'select(startswith("data: ")) | .[6:] | select(. != "[DONE]") | fromjson | if .error then "\n[error] \(.error.message)\n" else (.choices[0].delta.content? // empty) end'
인증, 전체 스키마, 폴링과 오류 처리는 API 레퍼런스에서 확인하세요.







