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

ツール

ツール

LlamaIndex + Gonka AI — 超低コストの RAG アプリケーション

LlamaIndex は、Python で RAG アプリケーションと AI エージェントを構築するための主要なフレームワークです (TypeScript 版 LlamaIndex.TS もあります)。ドキュメントの読み込み、チャンキング、インデックス作成、ベクトル検索、応答の組み立てを処理します。データを記述するだけで、LlamaIndex がそれらを任意の LLM 上の質問応答システムに変換します。

問題は1つあります — 推論のコストです。RAG は本質的にコストがかかります。各クエリは、クエリといくつかの見つかったコンテキストフラグメントをモデルに送信します。大規模なコレクションのインデックス作成には、埋め込みが追加されます。本番環境のボリュームでは、1日あたり数千のクエリになります。OpenAI ($2.50–15/1M トークン) や Anthropic ($3–15/1M) では、控えめな質問応答サービスでも月に数万ドルになります。

LlamaIndex は、OpenAILike クラスを介して任意の OpenAI 互換エンドポイントとネイティブに連携します。つまり、JoinGonka Gateway は数行のコードで接続できます — カスタムプロバイダーやパッチは不要です。結果として、入力トークン 1M あたり $0.0005 (出力は3倍) で同じ RAG システムが Gonka の分散型ネットワークを介して動作します — クラウド API よりも数百倍から数千倍安価です。

クイックスタート: OpenAILike を介した接続

JoinGonka API キー: gate.joingonka.ai/register で登録してください。初期に 10M の無料トークンを提供します。ダッシュボードで jg-xxx キーを作成します。

インストール:

pip install llama-index llama-index-llms-openai-like

任意の OpenAI 互換 API の場合、LlamaIndex は llama_index.llms.openai_like パッケージから OpenAILike クラスを提供します。Gonka への最小限のクエリ例:

from llama_index.llms.openai_like import OpenAILike

llm = OpenAILike(
    api_base="https://gate.joingonka.ai/v1",
    api_key="jg-あなたのキー",
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    is_chat_model=True,            # Gonka はチャットエンドポイントです
    is_function_calling_model=True, # ネイティブなツール呼び出しがサポートされています
    context_window=131072,         # Qwen3-235B は 128K
    max_tokens=8192,               # Gateway 経由での出力上限 (Qwen)
)

response = llm.complete("RAG とは何ですか?3つの文で説明してください。")
print(response)

OpenAILike について重要: is_chat_model=True を必ず指定してください。そうしないと、LlamaIndex は存在しない完了エンドポイントにアクセスしようとします。is_function_calling_model=True はネイティブなツール呼び出しを有効にします。LlamaIndex がコンテキストを正しく分割するように、context_window をモデルごとに設定してください。

例: クエリエンジンを使用した RAG パイプライン

LlamaIndex の典型的なシナリオは、ドキュメントのインデックスと query_engine を介したクエリです。グローバル LLM は Settings.llm を介して一度設定され、それ以降、パイプライン全体で Gonka が自動的に使用されます。

from llama_index.core import (
    VectorStoreIndex,
    SimpleDirectoryReader,
    Settings,
)
from llama_index.llms.openai_like import OpenAILike
from llama_index.embeddings.huggingface import HuggingFaceEmbedding

# 1. Gonka を介した LLM (一度 — グローバルに)
Settings.llm = OpenAILike(
    api_base="https://gate.joingonka.ai/v1",
    api_key="jg-あなたのキー",
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    is_chat_model=True,
    context_window=131072,
    max_tokens=8192,
)

# 2. ローカル埋め込み (無料、OpenAI なし)
Settings.embed_model = HuggingFaceEmbedding(
    model_name="BAAI/bge-small-en-v1.5"
)

# 3. ./data フォルダからのドキュメントの読み込みとインデックス作成
documents = SimpleDirectoryReader("data").load_data()
index = VectorStoreIndex.from_documents(documents)

# 4. 知識ベースへのクエリ
query_engine = index.as_query_engine()
response = query_engine.query("このドキュメントは何についてですか?")
print(response)

埋め込みに関する重要な注意点: デフォルトでは、VectorStoreIndex は OpenAI の埋め込み (text-embedding-ada-002) を使用します。これは、OpenAI への個別の有料呼び出しであり、Gonka への呼び出しではありません。OpenAI から完全に移行するには、Settings.embed_model を介してローカル埋め込みモデルを設定します (上記の例のように — HuggingFaceEmbedding、パッケージ pip install llama-index-embeddings-huggingface)。そうすると、生成は Gonka を介して行われ、ベクトル化はローカルで無料で行われます。

コスト: 1つの RAG パイプラインクエリ (検索 + 生成) で約 2-5K の LLM トークンを消費します。Gonka を介すると、これは数セント未満です。OpenAI/Anthropic を介すると、3-4桁高くなります。1日あたり数千のリクエストのフローでは、この差は月に数万ドルの節約になります。

RAG ワークロードのコスト比較

RAG アプリケーションは、一度きりのチャットではなく、継続的なリクエストのストリームです。各ユーザーの質問は、LLM の約 2~5K トークン (質問自体と見つけられたコンテキストフラグメント) を消費します。典型的なボリュームと、さまざまなプロバイダーでのコストを計算してみましょう。JoinGonka Gateway を介した Gonka の価格: 入力 ~$0.0005/1M、出力は3倍。

シナリオLLM トークンOpenAI / AnthropicJoinGonka Gonka
知識ベースへの1つの質問~4K$0.01 — $0.06~$0.000005
サポートチャットボット (1K リクエスト/日)~4M/日$10 — $60/日~$0.005/日
コーパスのインデックス作成 + Q&A (1M ワード)~5M$12 — $75~$0.006
本番サービス、50K リクエスト/月~200M/月$500 — $3,000/月~$0.25/月

10M の無料トークンで、RAG パイプライン全体をデバッグし、テストコーパスをインデックス化し、数千のリクエストを実行することができます。しかも費用はかかりません。本番環境のボリュームでは、JoinGonka Gateway は RAG を高価なサービスから、まったく気にする必要のない費用項目に変えます。

エージェント、ツール呼び出し、モデル選択

LlamaIndex はドキュメントに基づいて応答するだけでなく、ツールを備えたエージェントを構築することもできます。Gonka の3つのモデルすべてがネイティブなツール呼び出しをサポートしており、エージェントはテキストを解析することなく、構造化された方法で関数を呼び出します。ツールの例:

import asyncio
from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.openai_like import OpenAILike

llm = OpenAILike(
    api_base="https://gate.joingonka.ai/v1",
    api_key="jg-あなたのキー",
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    is_chat_model=True,
    is_function_calling_model=True,
    context_window=131072,
    max_tokens=8192,
)

def multiply(a: float, b: float) -> float:
    """2つの数を乗算します。"""
    return a * b

agent = FunctionAgent(
    tools=[multiply],
    llm=llm,
    system_prompt="あなたは役立つアシスタントです。計算にはツールを使用してください。",
)

async def main():
    result = await agent.run("1234 に 5678 を掛けるといくつになりますか?")
    print(result)

asyncio.run(main())

モデルの選択 (model フィールドと、それに対応する context_window / max_tokens の制限):

モデル (model)コンテキスト最大出力いつ使用するか
Qwen/Qwen3-235B-A22B-Instruct-2507-FP8128K8192デフォルト: RAG、エージェント、長い応答
moonshotai/Kimi-K2.6128K3072強力な推論とツール呼び出し
MiniMaxAI/MiniMax-M2.7128K4096エージェントタスクの代替

Gateway 経由での max_tokens の制限は、Qwen3 モデルで最大 8192 です。Kimi の場合は 3072、MiniMax の場合は 4096 を指定します。非ストリーミングリクエストで max_tokens が指定されていない場合、デフォルトで最大 1500 トークンが返されます。RAG 応答やエージェントのステップについては、明示的に値を指定してください。

TypeScript: LlamaIndex.TS にも同様のパスがあります。@llamaindex/openai パッケージの OpenAI クラスは baseURLapiKey を受け取ります (または OPENAI_BASE_URL / OPENAI_API_KEY 変数を読み取ります)。したがって、同じ Gateway を Node.js スタックでも接続できます。Python フレームワークで AI アプリケーションを構築している場合は、LangChain のガイドも参照してください。

LlamaIndex + Gonka = 本番対応の RAG とエージェントをわずかなコストで。OpenAILike (is_chat_model=True) を介した接続、ネイティブなツール呼び出し、ローカルの埋め込み — OpenAI の $2.50–15 ではなく、入力 $0.0005/1M。10M の無料トークンでパイプライン全体をデバッグするのに十分です。

もっと知りたいですか?

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

10M の無料トークンを取得 →