SDK와 프레임워크
NezhaGate는 OpenAI 호환 API와 Anthropic API를 모두 제공하므로, 공식 SDK는 기본 URL과 키만 새로 설정하면 됩니다.
두 가지 기본 URL
| 프로토콜 | Base URL | 용도 |
|---|---|---|
| OpenAI | https://nezhagate.com/v1 | 모든 채팅 모델, 그리고 이미지·영상 엔드포인트 |
| Anthropic | https://nezhagate.com/anthropic | Claude 모델(Anthropic SDK가 /v1/messages를 자동으로 붙입니다) |
예제는 NEZHAGATE_API_KEY 환경 변수에서 키를 읽습니다. 키를 코드에 직접 적지 마세요.
OpenAI SDK
import os
from openai import OpenAI
client = OpenAI(base_url="https://nezhagate.com/v1", api_key=os.environ["NEZHAGATE_API_KEY"])
r = client.chat.completions.create(
model="gpt-5.5",
messages=[{"role": "user", "content": "Hello"}],
)
print(r.choices[0].message.content)OpenAI SDK는 OPENAI_BASE_URL과 OPENAI_API_KEY 환경 변수도 읽습니다. client.responses.create(...)는 Responses API를 호출하며, 이 API는 GPT 모델만 제공합니다.
Anthropic SDK
import os
from anthropic import Anthropic
client = Anthropic(base_url="https://nezhagate.com/anthropic", api_key=os.environ["NEZHAGATE_API_KEY"])
m = client.messages.create(
model="claude-sonnet-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello"}],
)
print(next(b.text for b in m.content if b.type == "text"))base_url은 /v1 없이 /anthropic까지만 지정하세요. ANTHROPIC_BASE_URL과 ANTHROPIC_API_KEY 환경 변수도 쓸 수 있습니다.
LangChain
import os
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="gpt-5.5",
base_url="https://nezhagate.com/v1",
api_key=os.environ["NEZHAGATE_API_KEY"],
use_responses_api=False,
stream_usage=True,
)
print(llm.invoke("Hello").content)LangChain은 일부 GPT 모델이나 특정 파라미터가 있는 요청을 자동으로 Responses API로 전환합니다. use_responses_api=False(JavaScript는 useResponsesApi: false)로 설정하면 채팅 엔드포인트를 그대로 씁니다. 사용자 지정 base_url을 쓸 때는 stream_usage=True를 설정하지 않으면 스트리밍에서 사용량이 반환되지 않습니다.
Vercel AI SDK
import { createOpenAI } from "@ai-sdk/openai";
import { generateText } from "ai";
const gw = createOpenAI({ baseURL: "https://nezhagate.com/v1", apiKey: process.env.NEZHAGATE_API_KEY });
const { text } = await generateText({ model: gw.chat("gpt-5.5"), prompt: "Hello" });
console.log(text);AI SDK 5부터는 gw("model-id")가 Responses API를 사용합니다. gw.chat("model-id")는 채팅 엔드포인트를 사용하며 모든 모델에서 동작합니다. @ai-sdk/anthropic을 쓸 때는 baseURL을 https://nezhagate.com/anthropic/v1(/v1 포함)로 설정하세요.
자주 나오는 오류
base_url에 /v1이 빠졌습니다. https://nezhagate.com/v1이어야 합니다.
base_url이 /v1로 끝나서 요청이 /anthropic/v1/v1/messages로 전송됩니다. /anthropic까지만 입력하세요.
프레임워크가 GPT 모델만 제공하는 Responses API로 전환되었을 수 있습니다. LangChain에서는 use_responses_api=False를 설정하고, Vercel AI SDK에서는 gw.chat(...)을 쓰세요.