NezhaGateNezhaGate

NezhaGate отдаёт и OpenAI-совместимый API, и API Anthropic, поэтому официальным SDK достаточно поменять base URL и ключ.

Два базовых адреса

ПротоколBase URLНазначение
OpenAIhttps://nezhagate.com/v1Все чат-модели, а также эндпоинты изображений и видео
Anthropichttps://nezhagate.com/anthropicМодели Claude (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, который отдаёт только модели 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 адрес до /anthropic, без /v1. Также работают переменные окружения 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 потоковый вывод не возвращает usage, если не задать 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).

Частые ошибки

404 от OpenAI SDK

В base_url не хватает /v1; должно быть https://nezhagate.com/v1.

404 от Anthropic SDK

base_url заканчивается на /v1, поэтому запросы уходят на /anthropic/v1/v1/messages. Адрес должен заканчиваться на /anthropic.

Модель, которая не GPT, не работает через фреймворк

Возможно, фреймворк переключился на Responses API, который отдаёт только модели GPT: в LangChain задайте use_responses_api=False, а в Vercel AI SDK используйте gw.chat(...).

Другие интеграции