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

ナビゲーション

▸ ここから始める 役割別

カテゴリー

ツール 37
用語集 12

ツール

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

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

唯一の問題は推論コストです。RAGは性質上、大量のトークンを消費します。質問ごとにクエリといくつかの取得済みコンテキスト断片がモデルに送信され、大規模なインデックス作成にはエンベディングが必要になるためです。本番環境では1日に数千件のクエリが発生します。OpenAI(100万トークンあたり2.50〜15ドル)やAnthropic(100万トークンあたり3〜15ドル)を使用すると、小規模な質問応答サービスでも月額数万ドルのコストに膨れ上がります。

LlamaIndexはOpenAILikeクラスを通じて、あらゆるOpenAI互換エンドポイントとネイティブに連携します。つまり、JoinGonka Gatewayを数行のコードで追加でき、カスタムプロバイダーやパッチは不要です。その結果、同じRAGシステムが分散型ネットワークGonkaを通じて、入力100万トークンあたり$0.0069(出力は×3)で動作し、クラウドAPIの数百〜数千分の一のコストを実現します。

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

JoinGonka APIキー: gate.joingonka.ai/registerから登録して3Mの無料トークンを受け取り、Dashboardで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="MiniMaxAI/MiniMax-M2.7",
    is_chat_model=True,            # Gonkaはchatエンドポイントです
    is_function_calling_model=True, # ネイティブなtool callingをサポート
    context_window=200000,         # ネットワークモデルは200K
    max_tokens=8192,               # Gateway経由の出力上限
)

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

OpenAILikeに関する重要事項: 必ずis_chat_model=Trueを指定してください。そうしないと、LlamaIndexは弊社が提供していないcompletionエンドポイントにアクセスしようとします。is_function_calling_model=Trueはネイティブなtool callsを有効にします。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-your-key",
    model="MiniMaxAI/MiniMax-M2.7",
    is_chat_model=True,
    context_window=200000,
    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)

埋め込み(embeddings)に関する重要な注意点: デフォルトでは VectorStoreIndex はOpenAIの埋め込み(text-embedding-ada-002)を使用します。これはGonkaではなくOpenAIへの有料呼び出しとなります。OpenAIへの依存を完全に排除するには、Settings.embed_model を介してローカルモデルを指定してください(上記の例では HuggingFaceEmbedding、別途 pip install llama-index-embeddings-huggingface が必要)。これにより、生成はGonka経由、ベクトル化はローカル(無料)で実行されます。

コスト: RAGパイプラインの1リクエスト(検索+生成)で約2〜5KのLLMトークンを消費します。Gonka経由ならわずかなコストで済みます。OpenAI/Anthropicと比較して3〜4桁安価です。日次で数千のリクエストが発生する場合、月間で数万ドルの節約につながります。

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

RAGアプリケーションは1回限りのチャットではなく、継続的なリクエストのストリームです。ユーザーからの質問ごとに、LLMは2〜5Kトークン(質問内容と抽出されたコンテキストの断片)を消費します。典型的なボリュームと、プロバイダーごとのコストを計算してみましょう。JoinGonka Gateway経由のGonkaの価格:入力は約$0.0069/1Mトークン、出力はその3倍です。

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

無料の3Mトークンがあれば、RAGパイプラインの初期リクエストを実行し、テスト用コーパスのインデックスを作成し、何千ものリクエストを処理しても1セントもかかりません。本番環境のボリュームにおいて、JoinGonka GatewayはRAGを非常に高価なサービスから、ほとんどコストを感じさせないレベルへと引き下げます。

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

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

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-your-key",
    model="MiniMaxAI/MiniMax-M2.7",
    is_chat_model=True,
    is_function_calling_model=True,
    context_window=200000,
    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)コンテキスト最大出力用途
MiniMaxAI/MiniMax-M2.7200K8192デフォルト(例と同様):tool calling、エージェント、RAG
deepseek-ai/DeepSeek-V4-Flash-0731380K32768ネットワークで2番目に長いコンテキスト、最長の出力、安価で大きなプロンプト
zai-org/GLM-5.3-Flash390K8192推論モデル:複雑な論理、最長のコンテキスト、推論に一部の max_tokens を消費

Gatewayを通じた max_tokens 制限は、MiniMax M2.7およびGLM-5.3 Flashで最大8192、DeepSeek V4 Flashで最大32768です。ストリーミング以外のリクエストで max_tokens が設定されていない場合、デフォルトで最大1500トークンが返されます。RAG応答やエージェントの手順については、明示的に値を設定してください。

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

LlamaIndex + Gonka = コストを大幅に削減した本番環境向けRAGとエージェント。OpenAILike(is_chat_model=True)経由で接続し、ネイティブなツール呼び出しとローカルエンベディングを使用。入力価格はOpenAIの$2.50–15に対し、わずか$0.0069/1Mトークン。スターター用トークンでクレジットカードなしでもパイプラインを試せます。

もっと知りたいですか?

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

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