知識ベースのセクション ▾

ナビゲーション

▸ ここから始める 役割別

カテゴリー

ツール 52
用語集 12

ツール

APIクイックスタート — curl, Python, TypeScript

JoinGonka Gatewayは、Gonka分散型ネットワークへのOpenAI + Anthropic互換APIを提供します。OpenAI API用に記述されたコード(/v1/chat/completions)はそのままGonkaで動作します。base_urlとapi_keyを変更するだけです。また、Anthropic API用ツール(Claude Code)は、プロキシなしで直接/v1/messages経由で接続可能です。

この記事では、最も人気のある3つのツール(curl(コマンドライン)、Python、TypeScript/Node.js(OpenAI形式))のすぐに使えるコード例を紹介します。Anthropic形式については、Claude Codeのガイドを参照してください。

必要なもの:JoinGonka APIキー(jg-xxx形式)。gate.joingonka.ai/registerで登録し、3Mトークンのボーナスを無料で受け取ってください。

curl — ターミナルからのリクエスト

APIの動作を確認する最速の方法はcurlです:

通常のリクエスト:

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?"}
    ]
  }'

ストリーミング(分割レスポンス):

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
  }'

レスポンスはJSON形式(通常)またはServer-Sent Events(ストリーミング)で返り、OpenAI APIと完全互換です。

Python — openai SDK

公式のOpenAI Python SDKはJoinGonka Gatewayでそのまま動作します:

pip install openai

通常のリクエスト:

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)

ストリーミング:

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="")

ツール呼び出し:

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}")

ネットワークのモデルはネイティブのツール呼び出しをサポートしており、テキスト応答のパース不要で関数が正しく呼び出されます。

TypeScript/Node.js — openai SDK

インストール:

npm install openai

通常のリクエスト:

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();

ストリーミング:

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);
}

ツール呼び出し:

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}`);

すべての例は公式のOpenAI SDKを使用しており、追加のライブラリは不要です。base_urlとapi_keyを置き換えるだけです。

サポートされているAPIパラメータ

JoinGonka Gateway は OpenAI Chat Completions API の標準パラメータをすべてサポートしています:

パラメータ型説明
modelstringモデル:MiniMaxAI/MiniMax-M2.7
messagesarrayメッセージ履歴(system、user、assistant)
streambooleanストリーミング生成(SSE)。デフォルト:false
temperaturenumber回答の創造性(0.0 — 2.0)
max_tokensinteger回答の最大長(最大:8192、DeepSeek V4 Flash では 32768、max_tokens 未指定時のデフォルトは 1500)
toolsarraytool calling 用の関数定義
tool_choicestring/object関数呼び出しの戦略

ネットワークモデルのパラメータ:コンテキストウィンドウは MiniMax M2.7 で 200K トークン(DeepSeek V4 Flash で 380K、GLM-5.3 Flash で 390K)、最大回答は 8192 トークンまで(DeepSeek V4 Flash では 32768 まで)。モデル一覧は GET /v1/models で取得できます。

2 つのエンドポイント:

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

認証:Authorization: Bearer jg-your-key(OpenAI)または x-api-key: jg-your-key(Anthropic)

レスポンス形式は OpenAI および Anthropic と完全に互換性があり、OpenAI または Anthropic API をサポートする SDK、ライブラリ、フレームワークはどれも変更なしで JoinGonka Gateway で動作します。Claude Code は Anthropic 形式で直接接続できます。

JoinGonka Gateway — $0.0069/1Mトークンで利用可能なOpenAI + Anthropic互換API。curl, Python, TypeScript — わずか3行のコード。ストリーミング、ツール呼び出し、OpenAI + Anthropic APIの全パラメータに対応。Claude Codeは/v1/messagesを通じて直接動作。開始時に3Mの無料トークンを提供。

もっと知りたいですか?

他のセクションを探索するか、Gonkaを今すぐ獲得し始めましょう。

無料トークンを受け取る →