GLM-4.7 API 사용 방법: 개발자 가이드 (2026)
Zhipu AI의 최신 모델을 애플리케이션에 통합하기
Hypereal로 구축 시작하기
단일 API를 통해 Kling, Flux, Sora, Veo 등에 액세스하세요. 무료 크레딧으로 시작하고 수백만으로 확장하세요.
신용카드 불필요 • 10만 명 이상의 개발자 • 엔터프라이즈 지원
GLM-4.7 API 사용법: 개발자 가이드 (2026)
GLM-4.7은 중국의 선도적인 AI 기업 중 하나인 Zhipu AI의 최신 대규모 언어 모델입니다. 서구권 모델들과 대등한 성능을 훨씬 낮은 가격에 제공하므로, 비용에 민감한 애플리케이션을 구축하는 개발자들에게 매력적인 선택지입니다. 이 가이드는 프로젝트에 GLM-4.7 API를 통합하는 데 필요한 모든 내용을 다룹니다.
GLM-4.7이란 무엇인가요?
GLM-4.7은 Zhipu AI(ChatGLM 또는 BigModel로도 알려짐)에서 개발한 범용 대규모 언어 모델입니다. GLM (General Language Model) 모델군은 GPT 스타일의 디코더 전용(decoder-only) 접근 방식과 차별화되는 고유한 자기회귀 빈칸 채우기(autoregressive blank-filling) 아키텍처를 사용합니다.
GLM-4.7 모델 변체
| 모델 | 파라미터 | 컨텍스트 윈도우 | 최적 용도 |
|---|---|---|---|
| GLM-4.7 | 비공개 (Large) | 128K tokens | 복잡한 추론, 긴 문서 |
| GLM-4.7-Flash | 비공개 (Smaller) | 128K tokens | 빠른 응답, 대량 처리 |
| GLM-4.7-Vision | 비공개 | 128K tokens | 텍스트 + 이미지 이해 |
| GLM-4.7-Code | 비공개 | 32K tokens | 코드 생성 및 분석 |
성능 벤치마크
| 벤치마크 | GLM-4.7 | GPT-4o | Claude Sonnet 4 | Gemini 2.0 Flash |
|---|---|---|---|---|
| MMLU | 87.2 | 88.7 | 88.4 | 85.1 |
| HumanEval | 85.4 | 90.2 | 92.0 | 84.1 |
| MATH | 68.1 | 76.6 | 73.8 | 70.2 |
| MT-Bench | 9.1 | 9.3 | 9.2 | 8.8 |
GLM-4.7은 대부분의 벤치마크에서 경쟁력이 있으며, 특히 대부분의 서구권 모델을 능가하는 중국어 관련 작업에서 탁월한 성능을 보입니다.
단계 1: Zhipu AI 계정 생성
- open.bigmodel.cn (Zhipu AI의 개발자 플랫폼)으로 이동합니다.
- Register를 클릭하고 이메일로 계정을 생성합니다.
- 이메일 인증을 완료합니다.
- 대시보드에서 API Keys 메뉴로 이동합니다.
- Create API Key를 클릭하고 키를 복사합니다.
참고: 플랫폼 인터페이스는 중국어와 영어를 모두 지원합니다. 신규 계정에는 일반적으로 테스트를 위한 무료 크레딧이 제공됩니다.
단계 2: SDK 설치
Python SDK
pip install zhipuai
Node.js / TypeScript
GLM API는 OpenAI 호환 형식을 따르므로, 맞춤형 base URL과 함께 OpenAI SDK를 사용할 수 있습니다.
npm install openai
Direct HTTP (SDK 미사용)
API는 표준 REST 엔드포인트를 사용하므로 curl이나 기타 HTTP 클라이언트를 사용할 수도 있습니다.
단계 3: 첫 번째 API 호출하기
Python (공식 SDK)
from zhipuai import ZhipuAI
client = ZhipuAI(api_key="your-api-key-here")
response = client.chat.completions.create(
model="glm-4.7",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Explain the difference between REST and GraphQL APIs."}
],
temperature=0.7,
max_tokens=1024
)
print(response.choices[0].message.content)
Python (OpenAI 호환)
from openai import OpenAI
client = OpenAI(
api_key="your-zhipu-api-key",
base_url="https://open.bigmodel.cn/api/paas/v4/"
)
response = client.chat.completions.create(
model="glm-4.7",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Write a Python function to merge two sorted arrays."}
],
temperature=0.7,
max_tokens=1024
)
print(response.choices[0].message.content)
Node.js / TypeScript
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "your-zhipu-api-key",
baseURL: "https://open.bigmodel.cn/api/paas/v4/",
});
async function main() {
const response = await client.chat.completions.create({
model: "glm-4.7",
messages: [
{ role: "system", content: "You are a helpful coding assistant." },
{ role: "user", content: "Write a TypeScript function that debounces any function." },
],
temperature: 0.7,
max_tokens: 1024,
});
console.log(response.choices[0].message.content);
}
main();
cURL
curl https://open.bigmodel.cn/api/paas/v4/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "glm-4.7",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "What is quantum computing?"}
],
"temperature": 0.7,
"max_tokens": 1024
}'
단계 4: 스트리밍 응답 (Streaming Responses)
실시간 출력을 위해 스트리밍을 활성화할 수 있습니다.
Python
from zhipuai import ZhipuAI
client = ZhipuAI(api_key="your-api-key")
stream = client.chat.completions.create(
model="glm-4.7",
messages=[
{"role": "user", "content": "Write a detailed guide on Docker networking."}
],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
Node.js
const stream = await client.chat.completions.create({
model: "glm-4.7",
messages: [{ role: "user", content: "Explain Kubernetes pods in detail." }],
stream: true,
});
for await (const chunk of stream) {
const content = chunk.choices[0]?.delta?.content || "";
process.stdout.write(content);
}
단계 5: Vision (이미지 이해)
이미지를 분석하려면 GLM-4.7-Vision 모델을 사용하세요.
import base64
from zhipuai import ZhipuAI
client = ZhipuAI(api_key="your-api-key")
# 이미지 읽기 및 인코딩
with open("diagram.png", "rb") as f:
image_base64 = base64.b64encode(f.read()).decode("utf-8")
response = client.chat.completions.create(
model="glm-4.7-vision",
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": "Describe this architecture diagram and identify any potential issues."
},
{
"type": "image_url",
"image_url": {
"url": f"data:image/png;base64,{image_base64}"
}
}
]
}
]
)
print(response.choices[0].message.content)
이미지 URL을 직접 전달할 수도 있습니다.
response = client.chat.completions.create(
model="glm-4.7-vision",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "What is in this image?"},
{
"type": "image_url",
"image_url": {"url": "https://example.com/photo.jpg"}
}
]
}
]
)
단계 6: 함수 호출 (Function Calling / Tool Use)
GLM-4.7은 에이전트형 애플리케이션 구축을 위한 함수 호출을 지원합니다.
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get the current weather for a given city",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "The city name, e.g. 'Beijing'"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"description": "Temperature unit"
}
},
"required": ["city"]
}
}
}
]
response = client.chat.completions.create(
model="glm-4.7",
messages=[
{"role": "user", "content": "What is the weather like in Shanghai today?"}
],
tools=tools,
tool_choice="auto"
)
# 모델이 함수 호출을 원하는지 확인
message = response.choices[0].message
if message.tool_calls:
tool_call = message.tool_calls[0]
print(f"Function: {tool_call.function.name}")
print(f"Arguments: {tool_call.function.arguments}")
API 레퍼런스
엔드포인트
| 엔드포인트 | 메소드 | 설명 |
|---|---|---|
/v4/chat/completions |
POST | 채팅 완성 (텍스트 및 비전) |
/v4/embeddings |
POST | 텍스트 임베딩 |
/v4/files |
POST | 컨텍스트를 위한 파일 업로드 |
/v4/fine-tuning/jobs |
POST | 파인튜닝 작업 생성 |
/v4/images/generations |
POST | 이미지 생성 (CogView) |
요청 파라미터
| 파라미터 | 유형 | 기본값 | 설명 |
|---|---|---|---|
model |
string | 필수 | 모델 ID (glm-4.7, glm-4.7-flash 등) |
messages |
array | 필수 | 대화 메시지 |
temperature |
float | 0.95 | 샘플링 온도 (0.0 - 1.0) |
top_p |
float | 0.7 | 뉴클리어스 샘플링 파라미터 |
max_tokens |
integer | 1024 | 최대 응답 길이 |
stream |
boolean | false | 스트리밍 활성화 여부 |
tools |
array | null | 도구 사용을 위한 함수 정의 |
tool_choice |
string | "auto" | 도구 선택 전략 |
가격 책정 (Pricing)
GLM-4.7의 가격은 가장 큰 장점 중 하나입니다.
| 모델 | 입력 (1M 토큰당) | 출력 (1M 토큰당) |
|---|---|---|
| GLM-4.7 | $0.50 | $1.50 |
| GLM-4.7-Flash | $0.05 | $0.15 |
| GLM-4.7-Vision | $0.60 | $1.80 |
| GLM-4.7-Code | $0.40 | $1.20 |
비용 비교
| 모델 | 입력 비용 | 출력 비용 | vs. GLM-4.7 |
|---|---|---|---|
| GLM-4.7 | $0.50/1M | $1.50/1M | -- |
| GPT-4o | $2.50/1M | $10.00/1M | 5-7배 더 비쌈 |
| Claude Sonnet 4 | $3.00/1M | $15.00/1M | 6-10배 더 비쌈 |
| Gemini 2.0 Flash | $0.075/1M | $0.30/1M | 약 50% 저렴 (Flash 기준) |
비용에 민감한 애플리케이션의 경우, 100만 입력 토큰당 단돈 $0.05인 GLM-4.7-Flash가 매우 매력적입니다.
모범 사례 (Best Practices)
1. 작업에 적합한 모델 사용
# 복잡한 추론에는 GLM-4.7 사용
complex_response = client.chat.completions.create(
model="glm-4.7",
messages=[{"role": "user", "content": "Analyze this legal document..."}]
)
# 단순하고 처리가 많은 작업에는 GLM-4.7-Flash 사용
simple_response = client.chat.completions.create(
model="glm-4.7-flash",
messages=[{"role": "user", "content": "Classify this email as spam or not spam."}]
)
2. 128K 컨텍스트 윈도우 활용
GLM-4.7은 최대 128K 토큰의 컨텍스트를 지원합니다. 다음 용도로 활용하세요:
- 분할하지 않고 긴 문서 분석
- 전체 히스토리가 포함된 멀티턴 대화
- 단일 요청으로 대규모 코드베이스 처리
3. 우아한 오류 처리 (Error Handling)
from zhipuai import ZhipuAI, APIError, RateLimitError
client = ZhipuAI(api_key="your-api-key")
try:
response = client.chat.completions.create(
model="glm-4.7",
messages=[{"role": "user", "content": "Hello"}]
)
except RateLimitError:
print("Rate limited. Wait and retry.")
except APIError as e:
print(f"API error: {e.status_code} - {e.message}")
4. 중국어 작업 최적화
GLM-4.7은 중국어 처리에 특히 강력합니다. 애플리케이션이 중국어 사용자를 대상으로 한다면 GPT-4o나 Claude보다 더 나은 성능을 보일 수 있습니다.
response = client.chat.completions.create(
model="glm-4.7",
messages=[
{"role": "system", "content": "You are a professional Chinese copywriter."},
{"role": "user", "content": "Write marketing copy for a new smartphone launch targeting young professionals in China."}
]
)
한계점
- 국제적 지연 시간(Latency): 서버가 주로 중국에 있어, 아시아 이외의 지역 사용자는 지연 시간을 경험할 수 있습니다.
- 콘텐츠 필터링: 중국 AI 모델은 중국 규정에 맞춘 엄격한 콘텐츠 중재(moderation) 정책이 적용됩니다.
- 문서화: 주요 문서는 중국어로 되어 있으나, 영어 문서도 제공되고 있으며 개선되고 있는 중입니다.
- 생태계: OpenAI나 Anthropic 모델에 비해 타사 통합 서비스가 적습니다.
결론
GLM-4.7은 강력한 성능과 공격적인 가격 정책의 매력적인 조합을 제공합니다. 이는 AI 기반 애플리케이션을 구축하는 개발자, 특히 중국어권 시장을 타겟으로 하거나 비용 효율적인 워크로드를 운영하는 개발자들에게 고려해 볼 만한 가치가 있습니다. OpenAI 호환 API 형식을 갖추고 있어 GPT-4에서 이전하는 경우에도 통합이 간단합니다.
LLM 워크플로우와 함께 비디오 생성, 말하는 아바타 또는 음성 합성 같은 AI 기반 미디어 생성이 필요한 개발자들을 위해, Hypereal AI는 최첨단 생성형 AI 모델에 대한 합리적인 종량제 API 액세스를 제공하여 어떤 애플리케이션에도 시각 및 오디오 AI 기능을 쉽게 추가할 수 있도록 지원합니다.
