Sezioni dell'archivio conoscenza ▾

Strumenti

Avvio rapido API — curl, Python, TypeScript

JoinGonka Gateway fornisce un'API compatibile con OpenAI + Anthropic alla rete decentralizzata Gonka. Qualsiasi codice scritto per l'API OpenAI (/v1/chat/completions) funziona con Gonka — è sufficiente modificare base_url e api_key. E gli strumenti basati su Anthropic API (Claude Code) si collegano tramite /v1/messages — direttamente, senza proxy.

In questo articolo — esempi di codice pronti all'uso per i tre strumenti più popolari: curl (command line), Python e TypeScript/Node.js (formato OpenAI). Per il formato Anthropic, vedi le istruzioni per Claude Code.

Cosa ti serve: una chiave API JoinGonka (formato jg-xxx). Ottienila gratuitamente su gate.joingonka.ai/register insieme a un bonus di 10M di token.

curl — richiesta dal terminale

Il modo più veloce per verificare il funzionamento dell'API — curl:

Richiesta normale:

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

Streaming (risposta a pezzi):

curl https://gate.joingonka.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer jg-tua-chiave" \
  -d '{
    "model": "Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    "messages": [
      {"role": "user", "content": "Scrivi hello world in Python"}
    ],
    "stream": true
  }'

La risposta arriva in formato JSON (normale) o Server-Sent Events (streaming) — completamente compatibile con l'API OpenAI.

Python — openai SDK

L'SDK ufficiale di OpenAI per Python funziona con JoinGonka Gateway senza modifiche:

pip install openai

Richiesta normale:

from openai import OpenAI

client = OpenAI(
    base_url="https://gate.joingonka.ai/v1",
    api_key="jg-tua-chiave",
)

response = client.chat.completions.create(
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    messages=[
        {"role": "user", "content": "Spiegami la blockchain in parole semplici"}
    ],
)

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

Streaming:

stream = client.chat.completions.create(
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    messages=[{"role": "user", "content": "Scrivi un algoritmo di ordinamento in 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": "Ottieni il meteo in una città",
        "parameters": {
            "type": "object",
            "properties": {
                "city": {"type": "string", "description": "Nome della città"}
            },
            "required": ["city"]
        }
    }
}]

response = client.chat.completions.create(
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    messages=[{"role": "user", "content": "Che tempo fa a Mosca?"}],
    tools=tools,
)

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

Qwen3-235B supporta il tool calling nativo — le funzioni vengono chiamate correttamente, senza parsing delle risposte testuali.

TypeScript/Node.js — openai SDK

Installazione:

npm install openai

Richiesta normale:

import OpenAI from 'openai';

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

async function main() {
  const response = await client.chat.completions.create({
    model: 'Qwen/Qwen3-235B-A22B-Instruct-2507-FP8',
    messages: [
      { role: 'user', content: 'Scrivi un server 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: 'Spiegami 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: 'Converti 100 USD in EUR' }],
  tools: [{
    type: 'function',
    function: {
      name: 'convert_currency',
      description: 'Conversione valute',
      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(`Funzione: ${toolCall?.function.name}`);
console.log(`Argomenti: ${toolCall?.function.arguments}`);

Tutti gli esempi usano l'SDK ufficiale di OpenAI — non sono richieste librerie aggiuntive. Basta sostituire base_url e api_key.

Parametri API supportati

JoinGonka Gateway supporta tutti i parametri standard dell'API OpenAI Chat Completions:

ParametroTipoDescrizione
modelstringModello: Qwen/Qwen3-235B-A22B-Instruct-2507-FP8
messagesarrayStoria dei messaggi (system, user, assistant)
streambooleanGenerazione in streaming (SSE). Predefinito: false
temperaturenumberCreatività della risposta (0.0 — 2.0)
max_tokensintegerLunghezza massima della risposta (max: 2048, predefinito: 1024)
toolsarrayDefinizioni delle funzioni per tool calling
tool_choicestring/objectStrategia di chiamata delle funzioni

Parametri del modello Qwen3-235B: finestra di contesto — 128K token, risposta massima — 2048 token. Specifiche complete: HuggingFace. L'elenco dei modelli è disponibile tramite GET /v1/models.

Due endpoint:

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

Autenticazione: Authorization: Bearer jg-la-tua-chiave (OpenAI) o x-api-key: jg-la-tua-chiave (Anthropic)

Il formato di risposta è completamente compatibile con OpenAI e Anthropic — qualsiasi SDK, libreria o framework che supporta OpenAI o Anthropic API funziona con JoinGonka Gateway senza modifiche. Claude Code si connette tramite il formato Anthropic direttamente.

JoinGonka Gateway — un'API compatibile con OpenAI + Anthropic a $0.001/1M di token. curl, Python, TypeScript — 3 righe di codice. Streaming, tool calling, tutti i parametri OpenAI + Anthropic API. Claude Code funziona direttamente tramite /v1/messages. 10M di token gratuiti all'inizio.

Vuoi saperne di più?

Esplora altre sezioni o inizia a guadagnare GNK subito.

Ricevi 10M token gratuiti →