NezhaGateNezhaGate

NezhaGate는 OpenAI 호환 API와 Anthropic API를 모두 제공하므로, 공식 SDK는 기본 URL과 키만 새로 설정하면 됩니다.

두 가지 기본 URL

프로토콜Base URL용도
OpenAIhttps://nezhagate.com/v1모든 채팅 모델, 그리고 이미지·영상 엔드포인트
Anthropichttps://nezhagate.com/anthropicClaude 모델(Anthropic SDK가 /v1/messages를 자동으로 붙입니다)

예제는 NEZHAGATE_API_KEY 환경 변수에서 키를 읽습니다. 키를 코드에 직접 적지 마세요.

OpenAI SDK

pip install openai
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

pip install anthropic
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

pip install langchain-openai
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

npm install ai @ai-sdk/openai
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 포함)로 설정하세요.

자주 나오는 오류

OpenAI SDK에서 404가 날 때

base_url에 /v1이 빠졌습니다. https://nezhagate.com/v1이어야 합니다.

Anthropic SDK에서 404가 날 때

base_url이 /v1로 끝나서 요청이 /anthropic/v1/v1/messages로 전송됩니다. /anthropic까지만 입력하세요.

프레임워크를 통한 호출에서 GPT가 아닌 모델이 실패할 때

프레임워크가 GPT 모델만 제공하는 Responses API로 전환되었을 수 있습니다. LangChain에서는 use_responses_api=False를 설정하고, Vercel AI SDK에서는 gw.chat(...)을 쓰세요.

다른 연동