Seções da Base de Conhecimento ▾

Ferramentas

API início rápido — curl, Python, TypeScript

JoinGonka Gateway fornece uma API compatível com OpenAI + Anthropic para a rede descentralizada Gonka. Qualquer código escrito para a API OpenAI (/v1/chat/completions) funciona com Gonka — basta alterar base_url e api_key. E ferramentas baseadas na API Anthropic (Claude Code) se conectam via /v1/messages — diretamente, sem proxy.

Neste artigo, exemplos de código prontos para as três ferramentas mais populares: curl (linha de comando), Python e TypeScript/Node.js (formato OpenAI). Para o formato Anthropic, consulte as instruções do Claude Code.

O que você precisa: uma chave API JoinGonka (formato jg-xxx). Obtenha gratuitamente em gate.joingonka.ai/register, juntamente com um bônus de 10M tokens.

curl — solicitação do terminal

A maneira mais rápida de verificar a API é com curl:

Requisição normal:

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

Streaming (resposta em partes):

curl https://gate.joingonka.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer jg-sua-chave" \
  -d '{
    "model": "Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    "messages": [
      {"role": "user", "content": "Escreva 'olá mundo' em Python"}
    ],
    "stream": true
  }'

A resposta vem em formato JSON (normal) ou Server-Sent Events (streaming) — totalmente compatível com a API OpenAI.

Python — SDK openai

O SDK oficial do OpenAI Python funciona com o JoinGonka Gateway sem alterações:

pip install openai

Requisição normal:

from openai import OpenAI

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

response = client.chat.completions.create(
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    messages=[
        {"role": "user", "content": "Explique blockchain em termos 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": "Escreva uma classificação em 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": "Obter o clima em uma cidade",
        "parameters": {
            "type": "object",
            "properties": {
                "city": {"type": "string", "description": "Nome da cidade"}
            },
            "required": ["city"]
        }
    }
}]

response = client.chat.completions.create(
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    messages=[{"role": "user", "content": "Qual é o clima em Moscou?"}],
    tools=tools,
)

tool_call = response.choices[0].message.tool_calls[0]
print(f"Função: {tool_call.function.name}")
print(f"Argumentos: {tool_call.function.arguments}")

Qwen3-235B suporta tool calling nativo — as funções são chamadas corretamente, sem analisar respostas de texto.

TypeScript/Node.js — SDK openai

Instalação:

npm install openai

Requisição normal:

import OpenAI from 'openai';

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

async function main() {
  const response = await client.chat.completions.create({
    model: 'Qwen/Qwen3-235B-A22B-Instruct-2507-FP8',
    messages: [
      { role: 'user', content: 'Escreva um servidor 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: 'Converta 100 USD para EUR' }],
  tools: [{
    type: 'function',
    function: {
      name: 'convert_currency',
      description: 'Conversão de moedas',
      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(`Função: ${toolCall?.function.name}`);
console.log(`Argumentos: ${toolCall?.function.arguments}`);

Todos os exemplos usam o SDK oficial da OpenAI — nenhuma biblioteca adicional é necessária. Basta substituir base_url e api_key.

Parâmetros de API suportados

JoinGonka Gateway suporta todos os parâmetros padrão da API OpenAI Chat Completions:

ParâmetroTipoDescrição
modelstringModelo: Qwen/Qwen3-235B-A22B-Instruct-2507-FP8
messagesarrayHistórico de mensagens (system, user, assistant)
streambooleanGeração em streaming (SSE). Padrão: false
temperaturenumberCriatividade da resposta (0.0 — 2.0)
max_tokensintegerComprimento máximo da resposta (máx: 2048, padrão: 1024)
toolsarrayDefinições de funções para tool calling
tool_choicestring/objectEstratégia de tool calling

Parâmetros do modelo Qwen3-235B: janela de contexto — 128K tokens, resposta máxima — 2048 tokens. Especificações completas: HuggingFace. A lista de modelos está disponível via GET /v1/models.

Dois endpoints:

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

Autenticação: Authorization: Bearer jg-sua-chave (OpenAI) ou x-api-key: jg-sua-chave (Anthropic)

O formato de resposta é totalmente compatível com OpenAI e Anthropic — qualquer SDK, biblioteca ou framework que suporte a API OpenAI ou Anthropic funciona com JoinGonka Gateway sem modificações. Claude Code se conecta via formato Anthropic diretamente.

JoinGonka Gateway — API compatível com OpenAI + Anthropic por $0.001/1M tokens. curl, Python, TypeScript — 3 linhas de código. Streaming, tool calling, todos os parâmetros da API OpenAI + Anthropic. Claude Code funciona diretamente via /v1/messages. 10M tokens grátis na inicialização.

Quer saber mais?

Explore outras seções ou comece a ganhar GNK agora mesmo.

Obtenha 10M de tokens gratuitos →