GLM 시리즈
Zhipu의 GLM 텍스트 모델로 GLM-5.3, GLM-5.2, GLM-5.1, GLM-5 시리즈와 비전 모델 GLM-5V Turbo가 있습니다. OpenAI 호환 API로 호출하며 Anthropic 네이티브 API도 지원하므로 Claude Code에서 사용할 수 있습니다.
주요 작업
모델
전체 모델 목록과 실시간 가격은 모델 페이지 를 참고하거나 Models API로 조회하십시오. 모델 ID의 접두사는 z-ai/이며 생략할 수 있습니다.
z-ai/glm-5.3텍스트 전용, 1M 컨텍스트z-ai/glm-5.3-flash이미지 입력 지원z-ai/glm-5.1텍스트 전용z-ai/glm-5v-turbo이미지와 PDF 지원GLM 모델은 Zhipu 국제 사이트(zai)가 제공하며, 일부 모델은 Alibaba Cloud Model Studio, Volcano Engine 등의 공급자도 있고 기본적으로 자동 선택됩니다. 지정 방법은 공급자 라우팅을 참고하십시오.
호출 예시
Python
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.ofox.ai/v1", api_key=os.environ["OFOX_API_KEY"])
resp = client.chat.completions.create(
model="z-ai/glm-5.1",
messages=[{"role": "user", "content": "멱등성이 무엇인지 한 문장으로 설명해 주세요."}],
extra_body={"thinking": {"type": "disabled"}},
)
print(resp.choices[0].message.content)사고 모드
모든 GLM 모델은 기본적으로 사고가 켜져 있습니다. 같은 수학 문제로 실측한 사고량과 소요 시간은 다음과 같습니다.
"thinking": {"type": "disabled"}를 전달하면 사고를 끌 수 있습니다. 실측 결과 GLM-5.2, GLM-5.1, GLM-5, GLM-5 Turbo, GLM-5V Turbo, GLM-4.7 FlashX에서 효과가 있었으며, 소요 시간이 크게 줄었습니다(예: GLM-5는 약 4.5분에서 약 10초로 단축). OpenAI SDK에서는 extra_body에 넣으십시오.
사고 토큰은 출력 단가로 과금되며, 수량은 usage.completion_tokens_details.reasoning_tokens에서 확인할 수 있습니다.
사고 내용 읽기
- 스트리밍 응답에서는 사고 내용이
delta.reasoning_content에 있으며, Zhipu 공식 API와 같습니다. - 비스트리밍 응답에서는 사고 내용이
message.reasoning_details에 있으며, 각 항목의text를 순서대로 이어 붙이십시오.
Claude Code에서 사용
GLM 모델은 Anthropic 네이티브 API를 지원하며, 주소는 https://api.ofox.ai/anthropic입니다.
https://api.ofox.ai/anthropicz-ai/glm-5.3curl https://api.ofox.ai/anthropic/v1/messages \
-H "x-api-key: $OFOX_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "z-ai/glm-5.3",
"max_tokens": 8000,
"messages": [{"role": "user", "content": "멱등성이 무엇인지 한 문장으로 설명해 주세요."}]
}'- Anthropic API로 호출하면 사고 내용이
thinking블록으로 반환되며,"thinking": {"type": "disabled"}로 사고를 끌 수도 있습니다(적용 모델은 위와 동일). - 사고를 켤 때는
max_tokens를 충분히 크게 설정하고, 클라이언트 타임아웃을 600초 이상으로 설정하십시오.
Claude Code의 전체 설정 방법은 Claude Code 설정을 참고하십시오.
이미지와 PDF
이미지 입력을 지원하는 모델은 표준 image_url 콘텐츠 블록을 사용합니다. GLM-5V Turbo는 file 콘텐츠 블록으로 PDF도 전달할 수 있습니다.
import base64
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.ofox.ai/v1", api_key=os.environ["OFOX_API_KEY"])
img_b64 = base64.b64encode(open("photo.png", "rb").read()).decode()
resp = client.chat.completions.create(
model="z-ai/glm-5v-turbo",
messages=[{"role": "user", "content": [
{"type": "image_url", "image_url": {"url": f"data:image/png;base64,{img_b64}"}},
{"type": "text", "text": "이 이미지를 설명해 주세요."},
]}],
extra_body={"thinking": {"type": "disabled"}},
)
print(resp.choices[0].message.content)GLM-5.3, GLM-5.2, GLM-5.1, GLM-5, GLM-5 Turbo는 텍스트만 지원하므로 이미지를 전달하지 마십시오.
JSON 출력과 도구 호출
response_format에는 {"type": "json_object"}를 사용하고, 프롬프트에 「JSON으로 반환」과 필요한 필드를 명시하십시오. 도구 호출에는 표준 tools 파라미터를 사용합니다. 작성법은 구조화된 출력과 함수 호출을 참고하십시오.
프롬프트 캐싱
GLM은 반복되는 요청 접두부를 자동으로 캐시하므로 요청을 수정할 필요가 없습니다. 적중량은 usage.prompt_tokens_details.cached_tokens에서 확인할 수 있으며, 적중한 부분은 캐시 읽기 단가로 과금됩니다.
자주 발생하는 오류
기타 일반 오류는 오류 처리를 참고하십시오.
공식 문서
공식 문서는 Zhipu에 직접 연결할 때의 동작을 설명합니다. OfoxAI에서 호출할 때는 모델 ID와 엔드포인트 주소를 이 페이지 기준으로 사용하십시오.
자주 묻는 질문
GLM 모델 ID는 어떻게 작성합니까?
표준 표기법은 z-ai/glm-5.3이며, 접두사를 생략해 glm-5.3으로 써도 됩니다. zhipu/glm-5.3으로 쓰면 404가 반환됩니다.
GLM에서 사고를 끄려면 어떻게 합니까?
"thinking": {"type": "disabled"}를 전달하며, OpenAI SDK에서는 extra_body에 넣습니다. 실측 결과 GLM-5.2, 5.1, 5, 5 Turbo, 5V Turbo에서 효과가 있습니다.
GLM 응답이 몇 분씩 걸릴 정도로 느립니다.
GLM은 기본적으로 사고가 켜져 있어, GLM-5와 GLM-5 Turbo는 복잡한 질문에 1만 토큰 이상을 사고하며 몇 분이 걸릴 수 있습니다. 사고가 필요 없으면 끄거나 사고량이 적은 GLM-5.3 Flash로 바꾸십시오.
Claude Code에서 GLM을 사용할 수 있습니까?
가능합니다. ANTHROPIC_BASE_URL을 https://api.ofox.ai/anthropic으로 설정하고, 모델에 z-ai/glm-5.3 등 GLM 모델 ID를 입력하십시오.
GLM에서 이미지를 인식할 수 있는 모델은 무엇입니까?
GLM-5.3 Flash, GLM-5.3 FlashX, GLM-5V Turbo가 이미지 입력을 지원하며, GLM-5V Turbo는 PDF도 지원합니다. 나머지 GLM 모델은 텍스트만 지원합니다.
GLM에서 Prompt 超长 오류가 납니다.
입력이 모델 컨텍스트를 초과한 것입니다. GLM-5.3 시리즈와 GLM-5.2는 1M 토큰이고, 나머지는 200K 토큰입니다.