Sekcje bazy wiedzy ▾

Narzędzia

API szybki start — curl, Python, TypeScript

JoinGonka Gateway zapewnia OpenAI + Anthropic kompatybilne API do zdecentralizowanej sieci Gonka. Każdy kod napisany dla OpenAI API (/v1/chat/completions) działa z Gonka – wystarczy zmienić base_url i api_key. Narzędzia oparte na Anthropic API (Claude Code) są podłączane za pośrednictwem /v1/messages – bezpośrednio, bez proxy.

W tym artykule znajdują się gotowe przykłady kodu dla trzech najpopularniejszych narzędzi: curl (wiersz poleceń), Python i TypeScript/Node.js (format OpenAI). W przypadku formatu Anthropic, zobacz instrukcje Claude Code.

Czego potrzebujesz: klucz API JoinGonka (format jg-xxx). Uzyskaj go bezpłatnie na gate.joingonka.ai/register wraz z bonusem 10M tokenów.

curl — zapytanie z terminala

Najszybszy sposób na sprawdzenie działania API — curl:

Zwykłe zapytanie:

curl https://gate.joingonka.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer jg-twój-klucz" \
  -d '{
    "model": "Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    "messages": [
      {"role": "user", "content": "Co to jest Gonka?"}
    ]
  }'

Streaming (odpowiedź w częściach):

curl https://gate.joingonka.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer jg-twój-klucz" \
  -d '{
    "model": "Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    "messages": [
      {"role": "user", "content": "Napisz hello world w Pythonie"}
    ],
    "stream": true
  }'

Odpowiedź przychodzi w formacie JSON (zwykły) lub Server-Sent Events (streaming) — jest całkowicie zgodna z OpenAI API.

Python — openai SDK

Oficjalny OpenAI Python SDK działa z JoinGonka Gateway bez zmian:

pip install openai

Zwykłe zapytanie:

from openai import OpenAI

client = OpenAI(
    base_url="https://gate.joingonka.ai/v1",
    api_key="jg-twój-klucz",
)

response = client.chat.completions.create(
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    messages=[
        {"role": "user", "content": "Wyjaśnij blockchain prostymi słowami"}
    ],
)

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

Streaming:

stream = client.chat.completions.create(
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    messages=[{"role": "user", "content": "Napisz sortowanie w Pythonie"}],
    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": "Pobierz pogodę w mieście",
        "parameters": {
            "type": "object",
            "properties": {
                "city": {"type": "string", "description": "Nazwa miasta"}
            },
            "required": ["city"]
        }
    }
}]

response = client.chat.completions.create(
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    messages=[{"role": "user", "content": "Jaka jest pogoda w Moskwie?"}],
    tools=tools,
)

tool_call = response.choices[0].message.tool_calls[0]
print(f"Funkcja: {tool_call.function.name}")
print(f"Argumenty: {tool_call.function.arguments}")

Qwen3-235B obsługuje natywne wywoływanie narzędzi — funkcje są wywoływane poprawnie, bez parsowania odpowiedzi tekstowych.

TypeScript/Node.js — openai SDK

Instalacja:

npm install openai

Zwykłe zapytanie:

import OpenAI from 'openai';

const client = new OpenAI({
  baseURL: 'https://gate.joingonka.ai/v1',
  apiKey: 'jg-twój-klucz',
});

async function main() {
  const response = await client.chat.completions.create({
    model: 'Qwen/Qwen3-235B-A22B-Instruct-2507-FP8',
    messages: [
      { role: 'user', content: 'Napisz serwer 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: 'Wyjaśnij 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: 'Konwertuj 100 USD na EUR' }],
  tools: [{
    type: 'function',
    function: {
      name: 'convert_currency',
      description: 'Konwersja walut',
      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(`Funkcja: ${toolCall?.function.name}`);
console.log(`Argumenty: ${toolCall?.function.arguments}`);

Wszystkie przykłady używają oficjalnego OpenAI SDK — nie są wymagane żadne dodatkowe biblioteki. Po prostu zastąp base_url i api_key.

Obsługiwane parametry API

JoinGonka Gateway obsługuje wszystkie standardowe parametry OpenAI Chat Completions API:

ParametrTypOpis
modelstringModel: Qwen/Qwen3-235B-A22B-Instruct-2507-FP8
messagesarrayHistoria wiadomości (system, user, assistant)
streambooleanGeneracja strumieniowa (SSE). Domyślnie: false
temperaturenumberKreatywność odpowiedzi (0.0 — 2.0)
max_tokensintegerMaksymalna długość odpowiedzi (maks: 2048, domyślnie: 1024)
toolsarrayDefinicje funkcji do wywoływania narzędzi
tool_choicestring/objectStrategia wywoływania funkcji

Parametry modelu Qwen3-235B: okno kontekstowe — 128K tokenów, maksymalna odpowiedź — 2048 tokenów. Pełne specyfikacje: HuggingFace. Lista modeli dostępna poprzez GET /v1/models.

Dwa punkty końcowe:

  • Format OpenAI: POST https://gate.joingonka.ai/v1/chat/completions
  • Format Anthropic: POST https://gate.joingonka.ai/v1/messages

Uwierzytelnianie: Authorization: Bearer jg-twój-klucz (OpenAI) lub x-api-key: jg-twój-klucz (Anthropic)

Format odpowiedzi jest w pełni kompatybilny z OpenAI i Anthropic – każdy SDK, biblioteka lub framework obsługujący OpenAI lub Anthropic API działa z JoinGonka Gateway bez modyfikacji. Claude Code łączy się poprzez format Anthropic bezpośrednio.

JoinGonka Gateway — OpenAI + Anthropic kompatybilne API za $0.001/1M tokenów. curl, Python, TypeScript — 3 linie kodu. Streaming, wywoływanie narzędzi, wszystkie parametry OpenAI + Anthropic API. Claude Code działa bezpośrednio przez /v1/messages. 10M darmowych tokenów na start.

Chcesz wiedzieć więcej?

Zapoznaj się z innymi sekcjami lub zacznij zarabiać GNK już teraz.

Odbierz darmowe 10M tokenów →