Разделы базы знаний ▾

Инструменты

Инструменты

API быстрый старт — curl, Python, TypeScript

JoinGonka Gateway предоставляет OpenAI + Anthropic совместимый API к децентрализованной сети Gonka. Любой код, написанный для OpenAI API (/v1/chat/completions), работает с Gonka — достаточно изменить base_url и api_key. А инструменты на Anthropic API (Claude Code) подключаются через /v1/messages — напрямую, без прокси.

В этой статье — готовые примеры кода для трёх самых популярных инструментов: curl (командная строка), Python и TypeScript/Node.js (OpenAI-формат). Для Anthropic-формата см. инструкцию Claude Code.

Что вам нужно: API-ключ JoinGonka (формат jg-xxx). Получите бесплатно на gate.joingonka.ai/register вместе с бонусом 10M токенов.

curl — запрос из терминала

Самый быстрый способ проверить работу API — curl:

Обычный запрос:

curl https://gate.joingonka.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer jg-ваш-ключ" \
  -d '{
    "model": "Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    "messages": [
      {"role": "user", "content": "Что такое Gonka?"}
    ]
  }'

Streaming (ответ по частям):

curl https://gate.joingonka.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer jg-ваш-ключ" \
  -d '{
    "model": "Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    "messages": [
      {"role": "user", "content": "Напиши hello world на Python"}
    ],
    "stream": true
  }'

Ответ приходит в формате JSON (обычный) или Server-Sent Events (streaming) — полностью совместим с OpenAI API.

Python — openai SDK

Официальный OpenAI Python SDK работает с JoinGonka Gateway без изменений:

pip install openai

Обычный запрос:

from openai import OpenAI

client = OpenAI(
    base_url="https://gate.joingonka.ai/v1",
    api_key="jg-ваш-ключ",
)

response = client.chat.completions.create(
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    messages=[
        {"role": "user", "content": "Объясни блокчейн простыми словами"}
    ],
)

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

Streaming:

stream = client.chat.completions.create(
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    messages=[{"role": "user", "content": "Напиши сортировку на Python"}],
    stream=True,
)

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

Tool calling:

import json

tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "Получить погоду в городе",
        "parameters": {
            "type": "object",
            "properties": {
                "city": {"type": "string", "description": "Название города"}
            },
            "required": ["city"]
        }
    }
}]

response = client.chat.completions.create(
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    messages=[{"role": "user", "content": "Какая погода в Москве?"}],
    tools=tools,
)

tool_call = response.choices[0].message.tool_calls[0]
print(f"Функция: {tool_call.function.name}")
print(f"Аргументы: {tool_call.function.arguments}")

Qwen3-235B поддерживает нативный tool calling — функции вызываются корректно, без парсинга текстовых ответов.

TypeScript/Node.js — openai SDK

Установка:

npm install openai

Обычный запрос:

import OpenAI from 'openai';

const client = new OpenAI({
  baseURL: 'https://gate.joingonka.ai/v1',
  apiKey: 'jg-ваш-ключ',
});

async function main() {
  const response = await client.chat.completions.create({
    model: 'Qwen/Qwen3-235B-A22B-Instruct-2507-FP8',
    messages: [
      { role: 'user', content: 'Напиши Express.js сервер' },
    ],
  });

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

main();

Streaming:

const stream = await client.chat.completions.create({
  model: 'Qwen/Qwen3-235B-A22B-Instruct-2507-FP8',
  messages: [{ role: 'user', content: 'Объясни async/await' }],
  stream: true,
});

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

Tool calling:

const response = await client.chat.completions.create({
  model: 'Qwen/Qwen3-235B-A22B-Instruct-2507-FP8',
  messages: [{ role: 'user', content: 'Конвертируй 100 USD в EUR' }],
  tools: [{
    type: 'function',
    function: {
      name: 'convert_currency',
      description: 'Конвертация валют',
      parameters: {
        type: 'object',
        properties: {
          amount: { type: 'number' },
          from: { type: 'string' },
          to: { type: 'string' },
        },
        required: ['amount', 'from', 'to'],
      },
    },
  }],
});

const toolCall = response.choices[0].message.tool_calls?.[0];
console.log(`Функция: ${toolCall?.function.name}`);
console.log(`Аргументы: ${toolCall?.function.arguments}`);

Все примеры используют официальный OpenAI SDK — никаких дополнительных библиотек не требуется. Просто замените base_url и api_key.

Поддерживаемые параметры API

JoinGonka Gateway поддерживает все стандартные параметры OpenAI Chat Completions API:

ПараметрТипОписание
modelstringМодель: Qwen/Qwen3-235B-A22B-Instruct-2507-FP8
messagesarrayИстория сообщений (system, user, assistant)
streambooleanПотоковая генерация (SSE). По умолчанию: false
temperaturenumberКреативность ответа (0.0 — 2.0)
max_tokensintegerМаксимальная длина ответа (макс: 2048, по умолчанию: 1024)
toolsarrayОпределения функций для tool calling
tool_choicestring/objectСтратегия вызова функций

Параметры модели Qwen3-235B: контекстное окно — 128K токенов, максимальный ответ — 2048 токенов. Полные спецификации: HuggingFace. Список моделей доступен через GET /v1/models.

Два эндпоинта:

  • OpenAI-формат: POST https://gate.joingonka.ai/v1/chat/completions
  • Anthropic-формат: POST https://gate.joingonka.ai/v1/messages

Аутентификация: Authorization: Bearer jg-ваш-ключ (OpenAI) или x-api-key: jg-ваш-ключ (Anthropic)

Формат ответа полностью совместим с OpenAI и Anthropic — любой SDK, библиотека или фреймворк, поддерживающий OpenAI или Anthropic API, работает с JoinGonka Gateway без модификаций. Claude Code подключается через Anthropic-формат напрямую.

JoinGonka Gateway — OpenAI + Anthropic совместимый API за $0.001/1M токенов. curl, Python, TypeScript — 3 строки кода. Streaming, tool calling, все параметры OpenAI + Anthropic API. Claude Code работает напрямую через /v1/messages. 10M бесплатных токенов на старте.

Хотите узнать больше?

Изучите другие разделы или начните зарабатывать GNK прямо сейчас.

Получить бесплатные 10M токенов →