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

ナビゲーション

▸ ここから始める 役割別

カテゴリー

ツール 54
用語集 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.0062(出力は×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-your-key",
    model="MiniMaxAI/MiniMax-M2.7",
    is_chat_model=True,            # Gonka is a chat endpoint
    is_function_calling_model=True, # native tool calling is supported
    context_window=180000,         # MiniMax M2.7 context window
    max_tokens=8192,               # Gateway output cap
)

response = llm.complete("Explain what RAG is in three sentences.")
print(response)

OpenAILikeに関する重要事項: 必ずis_chat_model=Trueを指定してください。そうしないと、LlamaIndexは会話ではなく生のプロンプトで旧式のCompletionsエンドポイントにアクセスします。is_function_calling_model=Trueはネイティブのtool callsを有効にします。context_windowはモデルに合わせて設定し、LlamaIndexがコンテキストを正しく分割できるようにしてください。

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

LlamaIndexの典型的な使い方といえば、ドキュメントのインデックスを作成し、query_engineを通じてクエリを投げる流れです。Settings.llmでグローバル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. LLM via Gonka (set once, globally)
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=180000,
    max_tokens=8192,
)

# 2. Local embeddings (free, no OpenAI)
Settings.embed_model = HuggingFaceEmbedding(
    model_name="BAAI/bge-small-en-v1.5"
)

# 3. Load and index documents from the ./data folder
documents = SimpleDirectoryReader("data").load_data()
index = VectorStoreIndex.from_documents(documents)

# 4. Query the knowledge base
query_engine = index.as_query_engine()
response = query_engine.query("What is this document about?")
print(response)

エンベディングに関する重要な注意点:デフォルトでは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桁高くなります。1日数千クエリの処理量では、その差は月あたり数万ドルの節約になります。

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

RAGアプリケーションは単発のチャットではなく、継続的なリクエストの流れです。ユーザーの各質問は2〜5KのLLMトークン(質問自体と検索されたコンテキスト断片)を伴います。典型的なボリュームと、それが異なるプロバイダーでいくらかかるかを計算してみましょう。JoinGonka Gateway経由のGonka価格:入力約$0.0062/100万、出力は3倍。

シナリオLLMトークンOpenAI / AnthropicJoinGonka Gonka
ナレッジベースへの1回の質問約4K$0.01 — $0.06約$0.00004
サポートチャットボット(1日1Kリクエスト)約4M/日1日$10 — $601日約$0.038
コーパスのインデックス化+Q&A(100万語)約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=180000,
    max_tokens=8192,
)

def multiply(a: float, b: float) -> float:
    """Multiplies two numbers."""
    return a * b

agent = FunctionAgent(
    tools=[multiply],
    llm=llm,
    system_prompt="You are a helpful assistant. Use the tools for calculations.",
)

async def main():
    result = await agent.run("What is 1234 multiplied by 5678?")
    print(result)

asyncio.run(main())

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

モデル(model)コンテキスト最大出力使いどころ
MiniMaxAI/MiniMax-M2.7180K8192デフォルト(例と同じ):tool calling、エージェント、RAG
deepseek-ai/DeepSeek-V4-Flash-0731380K32768ネットワーク内で2番目に長いコンテキスト、最長の出力、大きなプロンプトを安く処理
zai-org/GLM-5.3-Flash390K8192Reasoningモデル:複雑なロジック、ネットワーク最長のコンテキスト;推論が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クラスはbaseURLとapiKeyを受け取る(または環境変数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.0062/1Mトークン。スターター用トークンでクレジットカードなしでもパイプラインを試せます。

もっと知りたいですか?

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

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