Seções da Base de Conhecimento ▾

Navegação

▸ Comece aqui Por funções

Categorias

Ferramentas 52
Glossário 12

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 OpenAI API (/v1/chat/completions) funciona com a Gonka: basta alterar a base_url e a api_key. E as ferramentas da Anthropic API (Claude Code) conectam-se via /v1/messages, diretamente, sem proxy.

Neste artigo, encontrará exemplos de código prontos a usar para as três ferramentas mais populares: curl (linha de comandos), Python e TypeScript/Node.js (formato OpenAI). Para o formato Anthropic, veja a instrução Claude Code.

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

curl — solicitação do terminal

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

Requisição normal:

curl https://gate.joingonka.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer jg-your-key" \
  -d '{
    "model": "MiniMaxAI/MiniMax-M2.7",
    "messages": [
      {"role": "user", "content": "What is Gonka?"}
    ]
  }'

Streaming (resposta em partes):

curl https://gate.joingonka.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer jg-your-key" \
  -d '{
    "model": "MiniMaxAI/MiniMax-M2.7",
    "messages": [
      {"role": "user", "content": "Write hello world in Python"}
    ],
    "stream": true
  }'

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

Python — SDK openai

O SDK oficial da OpenAI para Python funciona com o JoinGonka Gateway sem nenhuma alteração:

pip install openai

Requisição normal:

from openai import OpenAI

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

response = client.chat.completions.create(
    model="MiniMaxAI/MiniMax-M2.7",
    messages=[
        {"role": "user", "content": "Explain blockchain in simple terms"}
    ],
)

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

Streaming:

stream = client.chat.completions.create(
    model="MiniMaxAI/MiniMax-M2.7",
    messages=[{"role": "user", "content": "Write a sorting function 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": "Get the weather in a city",
        "parameters": {
            "type": "object",
            "properties": {
                "city": {"type": "string", "description": "City name"}
            },
            "required": ["city"]
        }
    }
}]

response = client.chat.completions.create(
    model="MiniMaxAI/MiniMax-M2.7",
    messages=[{"role": "user", "content": "What is the weather in Moscow?"}],
    tools=tools,
)

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

Os modelos da rede suportam tool calling nativo — as funções são chamadas corretamente, sem precisar fazer parsing de respostas em 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-your-key',
});

async function main() {
  const response = await client.chat.completions.create({
    model: 'MiniMaxAI/MiniMax-M2.7',
    messages: [
      { role: 'user', content: 'Write an Express.js server' },
    ],
  });

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

main();

Streaming:

const stream = await client.chat.completions.create({
  model: 'MiniMaxAI/MiniMax-M2.7',
  messages: [{ role: 'user', content: 'Explain 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: 'MiniMaxAI/MiniMax-M2.7',
  messages: [{ role: 'user', content: 'Convert 100 USD to EUR' }],
  tools: [{
    type: 'function',
    function: {
      name: 'convert_currency',
      description: 'Currency conversion',
      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(`Function: ${toolCall?.function.name}`);
console.log(`Arguments: ${toolCall?.function.arguments}`);

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

Parâmetros de API suportados

O JoinGonka Gateway é compatível com todos os parâmetros padrão da API OpenAI Chat Completions:

ParâmetroTipoDescrição
modelstringModelo: MiniMaxAI/MiniMax-M2.7
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.: 8192; no DeepSeek V4 Flash — 32768; por padrão, sem max_tokens — 1500)
toolsarrayDefinições de funções para tool calling
tool_choicestring/objectEstratégia de chamada de funções

Parâmetros dos modelos da rede: janela de contexto — 200K tokens no MiniMax M2.7 (380K no DeepSeek V4 Flash, 390K no GLM-5.3 Flash), resposta máxima — até 8192 tokens (no DeepSeek V4 Flash — até 32768). 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-your-key (OpenAI) ou x-api-key: jg-your-key (Anthropic)

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

JoinGonka Gateway — API compatível com OpenAI + Anthropic por $0.0069/1M tokens. curl, Python, TypeScript — 3 linhas de código. Streaming, tool calling, todos os parâmetros da OpenAI + Anthropic API. O Claude Code funciona diretamente via /v1/messages. 3M tokens gratuitos ao iniciar.

Quer saber mais?

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

Obter tokens gratuitos →