Sections de la base de connaissances ▾

Outils

API démarrage rapide — curl, Python, TypeScript

JoinGonka Gateway fournit une API compatible OpenAI + Anthropic au réseau décentralisé Gonka. Tout code écrit pour l'API OpenAI (/v1/chat/completions) fonctionne avec Gonka – il suffit de modifier base_url et api_key. Et les outils basés sur l'API Anthropic (Claude Code) se connectent via /v1/messages – directement, sans proxy.

Cet article contient des exemples de code prêts à l'emploi pour les trois outils les plus populaires : curl (ligne de commande), Python et TypeScript/Node.js (format OpenAI). Pour le format Anthropic, voir les instructions Claude Code.

Ce dont vous avez besoin : une clé API JoinGonka (format jg-xxx). Obtenez-la gratuitement sur gate.joingonka.ai/register avec un bonus de 10 millions de jetons.

curl — requête depuis le terminal

La méthode la plus rapide pour tester l'API est curl :

Requête normale :

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

Streaming (réponse par morceaux) :

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

La réponse est au format JSON (normal) ou Server-Sent Events (streaming) — entièrement compatible avec l'API OpenAI.

Python — OpenAI SDK

L'OpenAI Python SDK officiel fonctionne avec JoinGonka Gateway sans modifications :

pip install openai

Requête normale :

from openai import OpenAI

client = OpenAI(
    base_url="https://gate.joingonka.ai/v1",
    api_key="jg-votre-clé",
)

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

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

Streaming :

stream = client.chat.completions.create(
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    messages=[{"role": "user", "content": "Écris un tri en 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": "Obtenir la météo dans une ville",
        "parameters": {
            "type": "object",
            "properties": {
                "city": {"type": "string", "description": "Nom de la ville"}
            },
            "required": ["city"]
        }
    }
}]

response = client.chat.completions.create(
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    messages=[{"role": "user", "content": "Quel temps fait-il à Moscou ?"}],
    tools=tools,
)

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

Qwen3-235B prend en charge le tool calling natif — les fonctions sont appelées correctement, sans analyse des réponses textuelles.

TypeScript/Node.js — OpenAI SDK

Installation :

npm install openai

Requête normale :

import OpenAI from 'openai';

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

async function main() {
  const response = await client.chat.completions.create({
    model: 'Qwen/Qwen3-235B-A22B-Instruct-2507-FP8',
    messages: [
      { role: 'user', content: 'Écris un serveur 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: 'Explique 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: 'Convertis 100 USD en EUR' }],
  tools: [{
    type: 'function',
    function: {
      name: 'convert_currency',
      description: 'Conversion de devises',
      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(`Fonction : ${toolCall?.function.name}`);
console.log(`Arguments : ${toolCall?.function.arguments}`);

Tous les exemples utilisent l'OpenAI SDK officiel — aucune bibliothèque supplémentaire n'est requise. Remplacez simplement base_url et api_key.

Paramètres API pris en charge

JoinGonka Gateway prend en charge tous les paramètres standard de l'API OpenAI Chat Completions :

ParamètreTypeDescription
modelstringModèle : Qwen/Qwen3-235B-A22B-Instruct-2507-FP8
messagesarrayHistorique des messages (système, utilisateur, assistant)
streambooleanGénération en continu (SSE). Par défaut : false
temperaturenumberCréativité de la réponse (0,0 — 2,0)
max_tokensintegerLongueur maximale de la réponse (max : 2048, par défaut : 1024)
toolsarrayDéfinitions de fonctions pour l'appel d'outils
tool_choicestring/objectStratégie d'appel de fonctions

Paramètres du modèle Qwen3-235B : fenêtre de contexte — 128K jetons, réponse maximale — 2048 jetons. Spécifications complètes : HuggingFace. La liste des modèles est disponible via GET /v1/models.

Deux points de terminaison :

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

Authentification : Authorization: Bearer jg-votre-clé (OpenAI) ou x-api-key: jg-votre-clé (Anthropic)

Le format de réponse est entièrement compatible avec OpenAI et Anthropic — tout SDK, bibliothèque ou framework prenant en charge les API OpenAI ou Anthropic fonctionne avec JoinGonka Gateway sans modifications. Claude Code se connecte via le format Anthropic directement.

JoinGonka Gateway — API compatible OpenAI + Anthropic pour 0,001 $ / 1 million de jetons. curl, Python, TypeScript — 3 lignes de code. Streaming, tool calling, tous les paramètres OpenAI + Anthropic API. Claude Code fonctionne directement via /v1/messages. 10 millions de jetons gratuits au démarrage.

Vous voulez en savoir plus ?

Explorez d'autres sections ou commencez à gagner des GNK dès maintenant.

Obtenez 10M de tokens gratuits →