Seções da Base de Conhecimento ▾

Navegação

▸ Comece aqui Por funções

Categorias

Ferramentas 32
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 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 forma mais rápida de verificar o funcionamento da API é através de curl:

Pedido normal:

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

Streaming (resposta por partes):

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

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

Python — SDK openai

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

pip install openai

Requisição padrão:

from openai import OpenAI

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

response = client.chat.completions.create(
    model="MiniMaxAI/MiniMax-M2.7",
    messages=[
        {"role": "user", "content": "Explique blockchain em palavras simples"}
    ],
)

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

Streaming:

stream = client.chat.completions.create(
    model="MiniMaxAI/MiniMax-M2.7",
    messages=[{"role": "user", "content": "Escreva um algoritmo de ordenaçã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 a previsão do tempo na cidade",
        "parameters": {
            "type": "object",
            "properties": {
                "city": {"type": "string", "description": "Nome da cidade"}
            },
            "required": ["city"]
        }
    }
}]

response = client.chat.completions.create(
    model="MiniMaxAI/MiniMax-M2.7",
    messages=[{"role": "user", "content": "Qual é a previsão do tempo 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}")

O Kimi K2.6 suporta tool calling nativo — as funções são chamadas corretamente, sem necessidade de parsing de respostas de texto.

TypeScript/Node.js — SDK openai

Instalação:

npm install openai

Solicitaçã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: 'MiniMaxAI/MiniMax-M2.7',
    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: 'MiniMaxAI/MiniMax-M2.7',
  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: 'MiniMaxAI/MiniMax-M2.7',
  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 do OpenAI — não são necessárias bibliotecas adicionais. Basta substituir base_url e api_key.

Parâmetros de API suportados

O JoinGonka Gateway suporta 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 por streaming (SSE). Padrão: false
temperaturenumberCriatividade da resposta (0.0 — 2.0)
max_tokensintegerComprimento máximo da resposta (máx: 8192 para todos os modelos da rede; padrão sem max_tokens — 1500)
toolsarrayDefinições de funções para tool calling
tool_choicestring/objectEstratégia de chamada de função

Parâmetros dos modelos de rede: janela de contexto — 200K tokens, resposta máxima — até 8192 tokens (para todos os modelos da rede). 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 da resposta é totalmente compatível com OpenAI e Anthropic — qualquer SDK, biblioteca ou framework que suporte a API da OpenAI ou Anthropic funciona com o JoinGonka Gateway sem modificações. Claude Code conecta-se diretamente através do formato Anthropic.

JoinGonka Gateway — API compatível com OpenAI + Anthropic por $0.003/1M de tokens. curl, Python, TypeScript — 3 linhas de código. Streaming, tool calling, todos os parâmetros da API da OpenAI + Anthropic. O Claude Code funciona diretamente através do /v1/messages. 10M de tokens gratuitos no início.

Quer saber mais?

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

Obtenha 10M de tokens gratuitos →