【Llamaindex】オリジナルChatbotを開発可能!?月間20万ダウンロードツールの使い方から実践まで

皆さん、LlamaIndexというAIツールをご存知ですか?
LlamaIndexは月間20万ダウンロードを超える大人気ツールです。自分が持っているオリジナルデータでChatGPTをカスタマイズできるツール、ということで注目を集めています。
LlamaIndexのフレームワークは、ChatGPTをテキストやPDFだけではなくNotionやSlackなどのアプリやPostgresやMongoDBなどのデータベースにも接続ができるようにするツールなのです。
これって、すごくないですか?
まるで、映画『アイアンマン』で、トニー・スタークがジャービスというAIを使用して膨大な量のデータにアクセスし、問題を解決するようですよね。
今回は、そんなLlamaIndexの概要と実際に使ってみた感想を紹介していきます。ぜひ最後までご覧いただき、お手元のPCでLlamaIndexを使ってみてください!
Llamaindexの概要
LlamaIndexは、外部データとLLMを連携させるライブラリです。「LlamaIndex」と検索するとWebサービスのLlamaIndexとGitHubのLlamaIndexが出てきます。
LlamaIndex自体はOSSなので無料で利用できますが、WebサービスのLlamaIndexはLlamaCloudと呼ばれるSaaSとなります。

LlamaIndexはテキストファイルやPDFなどの外部データを取り込み、インデックスファイルを生成します。このインデックスファイルを利用して、外部データのキーワードを含む問い合わせに対して解答を得ることができます。
これによって、ChatGPTのようなLLMを独自のデータで補完することができるのです。
開発会社 | LlamaIndex |
---|---|
特徴 | 外部データとLLMを連携させて、カスタムQ&Aシステムを構築することができる。 |
機能 | データ統合:様々な外部データ(テキスト、PDF、アプリ、データベース)を大規模言語モデル(LLM)に組み込む。 インデックス作成:外部データからインデックスを自動的に作成する。インデックスにはデータのキーワードや構造に関するデータが含まれる。 質問応答:外部データを含むプロンプトをLLMに送信し解答を取得する。 |
料金プラン | Freeプラン:無料 Starterプラン:50ドル/月 Proプラン:500ドル/月 Enterprise:カスタム |
サイト | Llamaindex |

GoogleドライブやAWSのS3 BucketともLlamaindexは連携が可能ですが、Starterプラン以上で可能になります。

LlamaCloudとLlamaIndex
LlamaCloudはLlamaIndexをホストしたクラウド基盤です。
手早く本番環境を立ち上げたい、運用のスケール・セキュリティを外部に任せたい、ノーコードUIで非エンジニアも使いたいケースなどではLlamaCloudが最適。
一方で既存インフラや社内ベクトル DB(Pinecone、Weaviate等)に組み込みたい場合、オンプレ/自社クラウドでの厳格なガバナンス下で運用したいなどの場合には、OSSライブラリのLlamaIndexが良いでしょう。
LlamaCloudは前述した4つのプランから月額サブスク、OSSライブラリは無料で利用でき、コストはLLM APIとストレージ代です。
LlamaIndexのメリット
LlamaIndexは、さまざまデータソース(PDF・Webページ・データベース・APIなど)を高速にベクトル化し、意味検索に適したインデックスへ自動変換できる点が最大のメリットです。
LlamaIndexを使う前には、前処理などにかかっていた時間を大幅に短縮できるため、RAG構築や社内ナレッジ検索の立ち上げがスピーディーになります。さらに、検索エンジン部分はセマンティック検索とハイブリッド検索を併用でき、関連度再評価(re-ranking)も API ひとつで呼び出せるため、ハルシネーションを抑えつつ高精度な回答を生成可能。
LlamaIndexのデメリット
LlamaIndexがリリースされた直後はドキュメントが少ないというデメリットがありましたが、本記事執筆段階(2025年6月24日)では、ドキュメントは整備されており、情報を見つけやすくなっています。

LlamaIndexとLangChainの違いについて
LlamaIndexとLangChainの違いについて、まとめてみました。
まず、そもそもLlamaIndexとLangChainは全くの別物です。
LlamaIndexはLLMに様々な外部データを追加することができるデータフレームワークで、いわゆるRetrieval-Augmented Generation(RAG)と呼ばれるものになります。
LlamaIndexを使えばチャットボット、QAボット、構造化データの抽出、半自律エージェントの作成などが可能です。
LangChainもLlamaIndexと同じようにLLMを拡張するためのライブラリですが、LlamaIndexもできることがよりも多いです。
例えば、外部データを取り込むRetrievalやAgentなどはLangChainにも搭載されています。
その他にも様々なモデルを組み合わせる事ができるModel I/Oや、複数のプロンプトを組み合わせて出力することができるChains、次にどのようなアクションを取るかを決定・実行・観測し、目的を完了するまで繰り返すことができるAgents、ChainsやAgentsの状態を保持することができるMemoryなどがあります。
以下にLlamaindexとLangChainの違いをまとめました。
特徴 / 機能 | LlamaIndex | LangChain |
---|---|---|
目的 | LLMに様々なデータを取り込むことができるデータフレームワーク | 言語モデルを利用したアプリケーション開発のためのフレームワーク |
主な使用法 | データを取り込み、構造化しアクセス可能にする | 言語モデルとのインターフェースを構築、管理する |
機能 | データコネクタ、インデックス、エンジンなど | チェーン、LCEL、メモリシステムなど |
アプリケーション | データ集約や解析アプリケーション | 会話型アプリケーション、自然言語処理タスク |
技術的焦点 | データの取り込みとアクセス | 言語モデルの柔軟な利用と統合 |
なお、Llamaindexを活用した開発について詳しく知りたい方は、下記の記事を合わせてご確認ください。

Llamaindexの料金体系
LlamaIndexはOSSであり、誰でもGithubから無料で利用できます。
しかし、LlamaIndexを利用するには、OpenAIのAPIが必要です。OpenAIのAPIを使用する際は、入力のプロンプトと出力のアウトプットテキストに応じた料金が課金されます。
なお、課金対象は入力プロンプトのトークンだけでなく、文章生成AIがAPIで返却する応答文のトークンも含まれます。英語の場合、1単語が1トークンです。カンマ(,)やピリオド(.)、クエスチョンマーク(?)も1トークンとしてカウントされます。
日本語の場合、トークンの計算が複雑で、おおよそ1文字あたり1.5トークン程度に相当します。ChatGPTのAPIの料金は1000トークン当たり0.0020ドルです。
Llamaindexの使い方
ここからは、Llamaindexの使い方を解説します。なお、LlamaindexはOSSプロジェクトなので、ソースコードは以下のGitubページから取得できます。※1
google colaboratoryを使って実装をしていきましょう。
環境設定
まずはインストールです。Llamaindexはpipコマンドでインストールできます。
!pip install llama-index openai
学習データを準備
次に、外部データを用意します。今回使用するデータは内閣府の令和5年度年次経済財政報告です。
サンプルプログラムを作成
PDFデータの準備ができたら、google colaboratoryにアップロードしておきましょう。
この際、Opne AIのAPIキーが必要になります。OpenAI platformのページから取得が可能です。
google colaboratoryの環境変数としてAPIキーを設定します。
import os
os.environ["OPENAI_API_KEY"] = "Your_API_Key"
あとはPDFを読み込んで、「PDF からテキストを抽出」「抽出したテキストを1つのドキュメントにまとめる」「LLM 用のベクトルインデックスを作成」「そのインデックスに対して質問を投げて回答を得る」という工程です。
サンプルコードはこちら
from pathlib import Path
from llama_index.readers.file import PDFReader
from llama_index.core import Document, VectorStoreIndex
pdf_path = "sample.pdf"
reader = PDFReader()
docs = reader.load_data(file=Path(pdf_path))
full_text = "\n".join(doc.text for doc in docs)
combined_doc = Document(text=full_text, doc_id="combined_pdf")
index = VectorStoreIndex.from_documents([combined_doc])
query_engine = index.as_query_engine()
response = query_engine.query("このPDFが何について書かれているか教えてください。")
print(response)
出力結果はこちら
The PDF is about the trends and challenges in the macroeconomy, focusing on the economic situation in the country, including aspects such as consumer spending, corporate profits, investment, and the impact of external factors like global price increases and financial tightening. It also discusses the changes in economic activities post-pandemic and analyzes the background of consumer price increases, income trends, and the need for effective fiscal and monetary policies to address the evolving economic conditions.
日本語のテキストを渡しているのに英語になってしまうのが気になりますね。
試しにクエリを「このPDFが何について書かれているか日本語で教えてください。」に変えてみます。
結果はこちら
このPDFは、日本の経済財政に関する試算について述べています。具体的には、収支赤字の縮小や名目GDP成長率の影響、感染症対応に関連する支出の見込み、物価高騰への対応、財政政策の展望、物価や賃金動向、投資意欲などについて記載されています。
クエリを変えるだけで日本語で出力されるようになりました。また、PDFの内容も適切に答えられています。
LlamaIndexとMCPの連携
LlamaIndexがMCPと連携できるようになったようなので、MCPと連携させて使ってみたいと思います。
MCPを使うにはいくつか準備が必要です。まずはLlamaindexにPDFを保存してIndexを作成しておきます。

Indexを作成するとEndpoint APIが出力されるので、これを使ってMCPサーバーのPythonファイルを作成します。
サンプルコードはこちら
import os
from dotenv import load_dotenv
from fastmcp import FastMCP
from llama_index.indices.managed.llama_cloud import LlamaCloudIndex
load_dotenv()
mcp = FastMCP('llama-index-server')
@mcp.tool()
def search_vocational_marmot(query: str) -> str:
try:
index = LlamaCloudIndex(
name="vocational-marmot-2025-06-24",
project_name="Default",
organization_id="YOUR Organization ID",
api_key=os.getenv("LLAMA_CLOUD_API_KEY"),
)
response = index.as_query_engine().query(
query + " 詳しく説明してください。"
)
return str(response)
except Exception as e:
return f"エラーが発生しました: {str(e)}"
@mcp.tool()
def simple_test(message: str) -> str:
return f"テスト成功: {message} - vocational-marmot-2025-06-24インデックスに接続準備完了"
if __name__ == "__main__":
mcp.run(transport="stdio")
次にclaude_desktop_config.jsonに下記を追記します。
{
"mcpServers": {
"llama_index_docs_server": {
"command": "python",
"args": [
"/absolute/path/to/your/project/mcp-server.py"
],
"env": {
"LLAMA_CLOUD_API_KEY": "your_api_key",
"OPENAI_API_KEY": "your_openai_key"
}
}
}
}
最後に.envにAPIキーを入力しておきましょう。
cat > .env << 'EOF'
LLAMA_CLOUD_API_KEY=your_actual_llamacloud_api_key
OPENAI_API_KEY=your_actual_openai_api_key
EOF
これで準備はおしまいです。
実際に動かしているのが以下です。
なお、Llamaindexと同様に生成AIの機能を強化するツールを知りたい方はこちらをご覧ください。

LlamaindexとChatGPTを比べてみた
LlamaindexはLLMに外部のデータソースを加えることで、従来のLLMでは回答ができなかった内容を根拠をもとに回答ができるようになります。
そこでLlamaindexと同様の内容をChatGPT 4oに投げかけてみます。4oは2024年6月までのデータしか学習していないので、それ以降の内容を聞いてみたいと思います。
Llamaindexに与える情報は「経済・物価情勢の展望(2025年4月)」という2025年5月1日に公開された情報です。※2
質問内容は「消費者物価(除く生鮮食品)の前年比は、2025年度に2%台前半となった後、2026年度に1%台後半へ一旦低下し、2027年度に再び2%程度へ回復すると予想されています。この2026年度の一時的な低下から2027年度に再加速するという見通しの、最も重要な要因は何でしょうか?特に、成長率の高まりが賃金や物価に波及するメカニズムについて、もう少し具体的に日本語で教えてください。」です。
Llamaindexに質問した時の回答はこちら。
2026年度の消費者物価の一時的な低下から2027年度に再加速する最も重要な要因は、成長率の高まりによる人手不足感の強まりです。この人手不足感が賃金の上昇を促し、それが消費者物価の上昇につながるメカニズムとなります。具体的には、賃金の上昇が消費者の所得を増やし、それに伴って需要が高まることで企業が価格を引き上げることが期待されるため、消費者物価が再び上昇すると予想されています。
ChatGPT 4oはWeb検索もできてしまうので、Web検索はしないで既存の学習データから考えてと伝えます。
検索なし・PDFなしのChatGPT 4oの回答はこちら
2026年度の一時的な物価上昇率の鈍化は、外的コスト要因の剥落や需要の調整による一時的な現象であり、2027年度には経済成長率の回復によって労働需給が逼迫し、賃金の上昇が内需を刺激して物価上昇へと波及するメカニズムが再び強まると見込まれている。この動きは、いわゆる「良いインフレ」(需要主導・賃金主導型)の兆候である。
次にChatGPT 4oにPDFを渡して、もう一度考えてもらいます。
その結果がこちら
2026年度の物価上昇率の一時的な低下は、外部コスト要因の減衰と成長鈍化による需給緩和によるものです。一方で、2027年度にかけては、実質成長率の回復によって企業の収益や設備投資が改善し、労働需給が一段と引き締まることで、賃金上昇が促進され、消費拡大とインフレ期待の高まりを通じて物価が再び上昇基調に転じると見込まれます。これが、賃金と物価が好循環を描くメカニズムの中核です。
そしてこの二つの回答内容が一致しているのか、不一致なのかをGemini 2.5 Proで評価をします。
評価の結果はこちら
2つの文章の関係は、**「同じ物語を、一方は要約(あらすじ)で、もう一方はより詳しい描写で語っている」**ようなものです。説明している現象、その原因、そして将来の見通しという根本的な部分は完全に一致しており、異なる内容を主張しているわけではありません。
さらにLlamaindexの内容も加えてみます。
結果はこちら
結論から言うと、3つの文章はすべて、完全に一致しています。
説明している経済メカニズムは全く同じであり、論理的な矛盾はありません。3つ目の文章は、最初の2つで述べられているメカニズムの核心部分を、よりシンプルに要約したものと考えることができます。

とのことでした。つまりChatGPT 4oは2024年6月までのデータしか学習していないにも関わらず、与えたプロンプトと既存の学習データから適切な回答を導き出したということになります。
正直、この検証をやるまでは「Llamaindexが優秀!」みたいな結果になるかと思っていたのですが、ChatGPT 4o優秀でした・・・
社内ナレッジなどの限局的な情報であれば、よりLlamaindexの性能を実感できそうです。
Llamaindexがマルチモーダルに対応したので試してみた
今までLlamaindexはテキストがベースになっていましたが、2023年11月11日にマルチモーダルに対応した試験的なチャットボットが発表されました。
GPT-4-visionを実験的にサポートしており、アップロードした画像に対して質問をすれば答えてくれるとのことです!
誰でもすぐに使えるようなので早速使ってみましょう!
Chat LlamaIndexを使ってマルチモーダルを試す
まず、下記URLにアクセスします。

GitHubページも用意されており、GitHub上には簡単に使用できると書かれていますが、メッセージを送っても全く返ってきません…

モデルは下記3種類から選択はでき、それぞれマルチモーダル対応です。

また、google colaboratoryでコードを書いて画像を読み込ませて、説明させることもできます。
サンプルコードはこちら
import os
from pathlib import Path
from llama_index.readers.file.image_caption import ImageCaptionReader
from llama_index.readers.file import ImageReader
from llama_index.core import VectorStoreIndex
from llama_index.multi_modal_llms.openai import OpenAIMultiModal
reader = ImageCaptionReader()
image_docs = reader.load_data(file=Path("/content/スクリーンショット 2025-06-24 11.19.29.png"))
index = VectorStoreIndex.from_documents(image_docs)
openai_mm_llm = OpenAIMultiModal(
model="gpt-4o-mini-2024-07-18",
api_key=os.getenv("OPENAI_API_KEY"),
max_new_tokens=512
)
query_engine = index.as_query_engine(
multi_modal_llm=openai_mm_llm
)
response = query_engine.query(
"この画像に写っているものを日本語で説明してください。"
)
print(response)
結果はこちら
コカ・コーラのボトルで、赤いキャップと緑のラベルが付いています。
画像はこちら

緑のラベルなんてついてたっけ…?と思いましたが、ついてました!ちゃんと画像を解説してくれています。
CogVLMと比較してみた
同じ画像をCogVLMに入力してみました!

結果としては、タイムアウトで解析まではしてもらえませんでした。
また、上記はHugging Faceのデモを使っていますが、CogVLM2のDemoページはページ表示までいけませんでした。
Llamaindexの活用
ネットでLlamaindexを活用している例を探してみたところ、下記2つが見つかりました。
上記は複数のエージェントで構成されたAI研究アシスタントのようです。これらが独自のツール(計算機からRAGパイプラインまで)を使用し、実際のチームのように連携して作業します。
Llamaindexでここまでできるとは思っていませんでした…!
こちらはAmazon BedrockでLlamaIndexとMistralを使用して、高度な知識発見のためのエージェント型 RAGアプリケーションを作成する、という内容です。
Llamaindexを使うことで、特に社内ナレッジなどを使ったChatbotの構築が非常に簡単にできそうですね。
まとめ
本記事ではLlamaindexの概要から使い方、活用事例について紹介をしました。
LlamaIndexは、外部データとChatGPTのようなLLMを連携させるライブラリです。テキストファイルやPDFなどの外部データを読み込んで質問に答えるシステムを構築できます。
実際にLlamaindexを使って、内閣府発表の「年次経済財政報告」から日本の景気を予測してみました。
ちゃんと学習データを参照して答えを返してくれました。Llamaindexを使って経済アナリストのようなQAボットができてしまうかもしれません。
また、LlamaIndexを使うと、オリジナルの知識を持ったQAボットを作ることができますので、ぜひどんどん活用してみてください。
あなただけのサービスが出来上がる日が近いのかもしれませんね!

生成系AIの業務活用なら!
・生成系AIを活用したPoC開発
・生成系AIのコンサルティング
・システム間API連携
最後に
いかがだったでしょうか?
社内データを活用し、独自の生成AI環境を構築するなら今が最適。次の一手を見据えた導入設計が可能です。
株式会社WEELは、自社・業務特化の効果が出るAIプロダクト開発が強みです!
開発実績として、
・新規事業室での「リサーチ」「分析」「事業計画検討」を70%自動化するAIエージェント
・社内お問い合わせの1次回答を自動化するRAG型のチャットボット
・過去事例や最新情報を加味して、10秒で記事のたたき台を作成できるAIプロダクト
・お客様からのメール対応の工数を80%削減したAIメール
・サーバーやAI PCを活用したオンプレでの生成AI活用
・生徒の感情や学習状況を踏まえ、勉強をアシストするAIアシスタント
などの開発実績がございます。
まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。

「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。
セミナー内容や料金については、ご相談ください。
また、サービス紹介資料もご用意しておりますので、併せてご確認ください。