Skip to main content

TypeScript SDK

Отправляйте chat.completions запросы к GonkaGate из TypeScript через официальный OpenAI SDK.

Отправьте один chat.completions запрос из TypeScript через официальный OpenAI SDK, а затем адаптируйте ту же форму клиента под ваш рантайм.

Минимальный рабочий пример

Установите openai, задайте GONKAGATE_API_KEY и выполните один запрос.

Команда
npm install openai
Минимальный рабочий пример
import OpenAI from "openai";

const apiKey = process.env.GONKAGATE_API_KEY;

if (!apiKey) {
  throw new Error("Set GONKAGATE_API_KEY before running this example.");
}

const client = new OpenAI({
  baseURL: "https://api.gonkagate.com/v1",
  apiKey
});

async function main() {
  const response = await client.chat.completions.create({
    model: "qwen/qwen3-235b-a22b-instruct-2507-fp8",
    messages: [{ role: "user", content: "Hello, GonkaGate!" }]
  });

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

main().catch(console.error);

Ожидаемый результат: вы получаете текст в response.choices[0]?.message?.content, а response.usage можно логировать или использовать для проверки стоимости.

Перед реальным трафиком подставьте актуальный идентификатор модели GonkaGate. Значение в примере выше приведено только для ориентира.

Что нужно заранее

  • GONKAGATE_API_KEY, доступный в рантайме, где запускается этот код
  • Актуальный идентификатор модели GonkaGate для нужной нагрузки
  • Серверное место для хранения ключа, чтобы он не попадал в браузер и публичные бандлы

Замечания для TypeScript

  • Официальный SDK поддерживает Node.js, Deno, Bun, Cloudflare Workers и Vercel Edge Runtime.
  • Пример использует process.env как базовый сценарий для Node.js и Bun. В Deno или edge-рантаймах оставьте тот же baseURL и ту же форму запроса, но читайте ключ через secret API вашей платформы.
  • Работа в браузере отключена по умолчанию. Не включайте dangerouslyAllowBrowser для публичных клиентских приложений с реальным gp-... ключом.
  • Перед продакшен-нагрузкой явно задайте на клиенте timeout и maxRetries.
  • Если код сужает response.usage, добавьте денежные поля GonkaGate в тип:
Замечания для TypeScript
type GonkaGateUsage = {
  prompt_tokens: number;
  completion_tokens: number;
  total_tokens: number;
  base_cost_usd: number;
  platform_fee_usd: number;
  total_cost_usd: number;
};

// После `await client.chat.completions.create(...)`
const usage = response.usage as GonkaGateUsage | undefined;

if (usage) {
  console.log(`Total cost: $${usage.total_cost_usd.toFixed(6)}`);
}

Частые ошибки и ограничения

  • 401 invalid_api_key обычно означает, что ключ отсутствует, имеет неверный формат или не загрузился в тот рантайм, где создаётся клиент.
  • 404 model_not_found обычно означает, что SDK настроен правильно, но идентификатор модели устарел.
  • 429 insufficient_quota означает, что для запроса не хватает доступного USD-баланса.

См. также

Была ли эта страница полезной?