Your privacy choices

Allow optional cookies for referral attribution, visit analytics, and Google Ads purchase measurement.

Back to blog

중국 LLM API를 글로벌 애플리케이션에 연동하는 방법

API 연동중국 LLMOpenAI 호환Claude API개발자 가이드

중국 LLM API가 비용 면에서 상당히 유리하다는 이야기, 한 번쯤 들어보셨을 겁니다. 이 가이드에서는 API 키 발급부터 프로덕션 수준의 코드 작성까지, curl·Python·Node.js 예제와 함께 전 과정을 다룹니다.

핵심부터 말씀드리면, 이미 OpenAI나 Anthropic API를 사용 중이라면 코드를 새로 짤 필요 없이 설정만 바꾸면 됩니다.

개요: 해외에서 중국 LLM에 접근하기

해외 사용자가 중국 LLM API를 이용하려면, 사용자와 중국 모델 제공사 사이에 위치한 통합 플랫폼(Aggregation Platform)을 거치게 됩니다. 이 플랫폼은 글로벌 엔드포인트에서 표준 API 프로토콜을 제공하므로, VPN이나 중국 전화번호, 특별한 네트워크 설정 없이도 바로 사용할 수 있습니다.

기본 아키텍처는 다음과 같습니다:

내 애플리케이션 → 통합 플랫폼 (글로벌 엔드포인트) → 중국 LLM 제공사

통합 플랫폼이 업스트림 제공사 인증, 요청 라우팅, 로드 밸런싱, 과금을 모두 처리합니다. 애플리케이션 입장에서는 OpenAI나 Anthropic을 직접 호출하는 것과 동일하게 동작합니다.

지원 프로토콜:

  • OpenAI 호환: /v1/chat/completions — OpenAI SDK 클라이언트와 그대로 호환
  • Claude 네이티브: /v1/messages — Anthropic SDK와 그대로 호환
  • Responses API: /v1/responses — OpenAI의 에이전트 스타일 포맷 지원

Base URL: https://api.llm-token.cn/v1

이 가이드의 모든 예제는 위 엔드포인트를 사용합니다. 다른 플랫폼을 쓴다면 해당 URL로 교체하세요.

1단계: API 키 발급

절차는 간단합니다:

  1. 통합 플랫폼 웹사이트(예: https://gpt-agent.cc)에 접속합니다.
  2. 이메일로 계정을 생성합니다.
  3. 결제 또는 토큰 구매 페이지로 이동합니다.
  4. 토큰 패키지를 선택합니다. 테스트 용도라면 $10~$20 정도면 충분합니다.
  5. 해외 신용카드, PayPal, 또는 USDT로 결제합니다.
  6. 대시보드에서 API 키를 복사합니다. 결제 즉시 사용 가능합니다.

하나의 API 키로 지원되는 모든 모델을 호출할 수 있습니다. 모델별로 별도 키를 발급받을 필요가 없습니다.

2단계: 클라이언트 설정

Claude Code

Claude Code를 개발 어시스턴트로 사용 중이라면, 설정에서 API 엔드포인트를 지정합니다:

{
  "apiBaseUrl": "https://gpt-agent.cc",
  "apiKey": "your-api-key"
}

이렇게 하면 Claude Code의 모든 요청이 통합 플랫폼을 통해 라우팅되어, 할인된 토큰 단가로 Claude 모델을 사용할 수 있습니다.

Cursor

Cursor 설정에서 AI 구성 섹션으로 이동한 뒤 다음을 입력합니다:

  • API Base URL: https://api.llm-token.cn/v1
  • API Key: 대시보드에서 발급받은 키

VS Code (Continue 등 확장 프로그램)

OpenAI 호환 VS Code 확장 프로그램 대부분은 커스텀 Base URL 설정을 지원합니다. 확장 프로그램 설정을 다음과 같이 수정하세요:

{
  "openai.baseUrl": "https://api.llm-token.cn/v1",
  "openai.apiKey": "your-api-key"
}

자체 애플리케이션

직접 개발한 애플리케이션의 경우, 사용하는 SDK에 따라 설정 방법이 달라집니다. 아래 코드 예제를 참고하세요.

3단계: 코드 예제

curl

연결 테스트를 위한 가장 간단한 방법입니다:

curl https://api.llm-token.cn/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your-api-key" \
  -d '{
    "model": "gpt-4o",
    "messages": [
      {"role": "user", "content": "양자 컴퓨팅을 한 문단으로 설명해 주세요."}
    ]
  }'

중국 모델을 사용하려면 model 파라미터만 변경하면 됩니다:

curl https://api.llm-token.cn/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your-api-key" \
  -d '{
    "model": "deepseek-r1",
    "messages": [
      {"role": "user", "content": "단계별로 풀어 주세요: 23! / 20! 의 값은?"}
    ]
  }'

Python (OpenAI SDK)

OpenAI Python 패키지가 설치되어 있지 않다면 먼저 설치합니다:

pip install openai

기본 호출 예제:

from openai import OpenAI

client = OpenAI(
    base_url="https://api.llm-token.cn/v1",
    api_key="your-api-key"
)

response = client.chat.completions.create(
    model="qwen-max",
    messages=[
        {"role": "system", "content": "당신은 유능한 어시스턴트입니다."},
        {"role": "user", "content": "베트남의 주요 수출품은 무엇인가요?"}
    ],
    temperature=0.7,
    max_tokens=1024
)

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

Python (Anthropic SDK — Claude 네이티브 프로토콜)

pip install anthropic
import anthropic

client = anthropic.Anthropic(
    base_url="https://gpt-agent.cc",
    api_key="your-api-key"
)

message = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "정렬된 두 리스트를 병합하는 Python 함수를 작성해 주세요."}
    ]
)

print(message.content[0].text)

Node.js (OpenAI SDK)

npm install openai
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.llm-token.cn/v1",
  apiKey: "your-api-key",
});

async function main() {
  const response = await client.chat.completions.create({
    model: "deepseek-v3",
    messages: [
      { role: "user", content: "REST와 GraphQL의 차이점을 설명해 주세요." },
    ],
    temperature: 0.7,
  });

  console.log(response.choices[0].message.content);
}

main();

스트리밍 지원

모든 엔드포인트에서 스트리밍 응답을 지원합니다. 사용자 대면 애플리케이션에서 체감 지연 시간을 줄이는 데 필수적인 기능입니다.

Python 스트리밍 예제:

from openai import OpenAI

client = OpenAI(
    base_url="https://api.llm-token.cn/v1",
    api_key="your-api-key"
)

stream = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "로봇에 관한 짧은 이야기를 써 주세요."}],
    stream=True
)

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

Node.js 스트리밍 예제:

const stream = await client.chat.completions.create({
  model: "gpt-4o",
  messages: [{ role: "user", content: "로봇에 관한 짧은 이야기를 써 주세요." }],
  stream: true,
});

for await (const chunk of stream) {
  const content = chunk.choices[0]?.delta?.content || "";
  process.stdout.write(content);
}

스트리밍은 공식 OpenAI 및 Anthropic API와 동일하게 동작합니다. 별도의 설정이 필요 없습니다.

에러 처리 및 트러블슈팅

자주 발생하는 문제와 해결 방법입니다:

401 Unauthorized API 키가 유효하지 않거나 만료되었습니다. 대시보드에서 키를 다시 확인하세요. 키 끝에 공백이나 줄바꿈 문자가 포함되지 않았는지 점검합니다.

402 Payment Required / 잔액 부족 선불 토큰 잔액이 소진되었습니다. 플랫폼 대시보드에서 충전하세요.

429 Too Many Requests 요청 속도 제한에 걸린 상태입니다. 통합 플랫폼은 대체로 직접 호출보다 높은 동시 처리량을 허용하지만, 제한은 존재합니다. 클라이언트에 지수 백오프(exponential backoff)를 구현하세요:

import time
from openai import OpenAI, RateLimitError

client = OpenAI(base_url="https://api.llm-token.cn/v1", api_key="your-api-key")

def call_with_retry(messages, model="gpt-4o", max_retries=3):
    for attempt in range(max_retries):
        try:
            return client.chat.completions.create(model=model, messages=messages)
        except RateLimitError:
            wait = 2 ** attempt
            time.sleep(wait)
    raise Exception("최대 재시도 횟수 초과")

500 / 502 / 503 서버 에러 업스트림 측의 일시적 장애입니다. 통합 플랫폼이 보통 자동으로 복구합니다. 잠시 후 재시도하세요. 수 분 이상 지속되면 플랫폼 상태 페이지를 확인합니다.

타임아웃 에러 긴 응답이 필요한 경우(큰 max_tokens 값이나 DeepSeek-R1 같은 추론 모델), 클라이언트 타임아웃을 늘려 주세요:

client = OpenAI(
    base_url="https://api.llm-token.cn/v1",
    api_key="your-api-key",
    timeout=120.0  # 초 단위
)

성능 최적화 팁

작업에 맞는 모델을 선택하세요. 단순 분류 작업에 GPT-4o를 쓸 필요가 없습니다. GLM-4-Flash나 Qwen-Turbo를 쓰면 비용이 1/50 수준으로 줄어듭니다. 작업 복잡도에 맞춰 모델을 선택하세요.

캐싱을 활용하세요. 유사한 프롬프트를 반복 전송하는 경우(예: 고객 서비스 템플릿), 플랫폼의 캐시 히트 메커니즘이 자동으로 비용을 절감해 줍니다. 시스템 메시지는 고정하고 사용자 입력만 변경하는 구조로 프롬프트를 설계하면 캐시 적중률이 높아집니다.

사용자 대면 앱에는 스트리밍을 사용하세요. 스트리밍을 적용하면 첫 번째 토큰이 전체 응답 완료보다 훨씬 빨리 도착하므로, 체감 지연 시간이 크게 줄어듭니다.

프롬프트 길이를 최적화하세요. 입력 토큰도 비용입니다. 시스템 프롬프트는 간결하게 유지하고, 매 요청마다 불필요한 컨텍스트를 넣지 마세요.

긴급하지 않은 요청은 배치 처리하세요. 야간 데이터 처리 같은 시간에 민감하지 않은 워크로드는 비피크 시간대에 몰아서 처리하면 지연 시간이 줄어들 수 있습니다.

지원 모델 및 특성 비교

모델 선택 시 참고할 수 있는 요약표입니다:

모델 적합한 용도 컨텍스트 윈도우 상대 비용
GPT-4o 범용, 복잡한 추론 128K 중상
Claude 3.5 Sonnet 코딩, 분석, 긴 문서 처리 200K 중상
DeepSeek-R1 수학, 논리, 단계별 추론 64K
DeepSeek-V3 범용, 가성비 우수 128K 중하
Qwen-Max 다국어, 코딩, 추론 128K
Qwen-Plus 성능과 비용의 균형 128K 중하
Qwen-Turbo 속도 중시, 단순 작업 128K
Kimi (Moonshot) 초장문 문서, 리서치 200K
GLM-4 이중 언어 작업, 범용 128K 중하
GLM-4-Flash 대량 처리, 비용 민감 128K 최하
MiniMax 대화형 AI, 챗봇 64K

마무리

중국 LLM API 연동은 어렵지 않습니다. OpenAI API를 호출할 수 있다면, 통합 플랫폼을 통해 중국 LLM도 동일한 방식으로 호출할 수 있습니다. 프로토콜도 같고, SDK도 같고, 코드 변경도 최소한입니다 — 대부분 Base URL과 API 키만 바꾸면 끝입니다.

진짜 장점은 접근성입니다. 하나의 API 키로 서양과 중국 제공사를 아우르는 수십 개 모델에 접근할 수 있고, 직접 계약 대비 상당히 저렴한 가격에 이용할 수 있습니다. 동남아시아, 유럽, 한국 등 어디서든 AI 비용을 최적화하려는 팀에게 현재 가장 현실적인 선택지입니다.

소액 테스트 잔액으로 시작해서 모델 품질이 요구 사항에 맞는지 확인한 뒤, 점진적으로 확장해 나가세요.