RAG(Retrieval-Augmented Generation)は、AIが回答を生成する際に外部の資料やデータベースから関連情報を検索(Retrieve)し、その情報をもとに生成(Generate)する技術。
目的:ChatGPTのような大規模言語モデルに手持ち資料の知識を反映させ、最新情報・非公開資料をもとに正確で根拠ある回答を得ること。
2. 構成の基本要素
|
機能 |
役割 |
代表的ツール / サービス |
|
① ドキュメント読み込み |
PDF, Word, TXTなどを分割して取り込む |
LangChain, LlamaIndex |
|
② 埋め込み生成(ベクトル化) |
テキストを数値ベクトルに変換 |
OpenAI Embeddings(text-embedding-3) |
|
③ ベクトルDB(検索) |
類似度で関連文書を検索 |
FAISS, Chroma, Pinecone |
|
④ LLM(生成) |
検索結果をもとに回答を生成 |
GPT-4, GPT-5, GPT-4o-mini など |
|
⑤ 統合フレームワーク |
検索→生成の一連処理を自動化 |
LangChain, LlamaIndex, Semantic Kernel |
3. 構築方法① ChatGPT内簡易RAG
|
項目 |
内容 |
|
利用方法 |
PDF・Word・TXTをアップロードして質問 |
|
仕組み |
ChatGPTが内部で内容を要約・検索して回答 |
|
永続性 |
セッション終了で消える(保存されない) |
|
費用 |
無料(ChatGPT Freeでも可) |
|
長所 |
コーディング不要、即利用可能 |
|
短所 |
継続的な知識ベース構築は不可 |
4. 構築方法② ローカルRAG(Python環境)
|
項目 |
内容 |
|
実行環境 |
PC・Raspberry Pi・社内サーバー等 |
|
必要技術 |
Python + LangChain / LlamaIndex + FAISS |
|
外部通信 |
OpenAI APIへのみ(質問と回答データ) |
|
永続性 |
自前ベクトルDBとして保存可 |
|
費用 |
構築無料(ライブラリ無料)+API利用分の従量課金 |
|
長所 |
データを外部に保存しない、制御自在 |
|
短所 |
Python環境が必要、初期設定に多少の知識が要る |
5. 構築方法③ クラウドRAG(外部DB運用)
|
項目 |
内容 |
|
実行環境 |
|
|
主な構成 |
LangChain / LlamaIndex + Pinecone / Weaviate + OpenAI API |
|
永続性 |
クラウドDBに保存され、複数端末からアクセス可能 |
|
費用 |
サーバー代+API利用料(月数千円〜) |
|
長所 |
共有・スケール可能、API連携が容易 |
|
短所 |
セキュリティ管理・コストが必要 |
6. 無料/有料区分の比較表
|
項目 |
ChatGPT簡易RAG |
ローカルRAG |
クラウドRAG |
|
開発必要性 |
なし |
あり(Python) |
あり(サーバー構築) |
|
費用 |
無料 |
Embedding+API利用分 |
サーバー代+API利用分 |
|
永続データ保存 |
× |
○(ローカルDB) |
○(クラウドDB) |
|
セキュリティ |
高 |
最高 |
中〜高 |
|
導入難易度 |
★☆☆ |
★★☆ |
★★★ |
|
適用範囲 |
一時利用 |
個人/部内利用 |
全社・顧客向け |
7. 選択ガイド
|
利用目的 |
推奨構成 |
備考 |
|
一時的にPDFなどを参照してQAしたい |
ChatGPT内RAG |
無料・即実行 |
|
社内規程・監査資料を安全に検索したい |
ローカルRAG(Python+FAISS) |
構築無料・API従量課金 |
|
社内共有や常時運用を行いたい |
クラウドRAG(Pinecone等) |
サーバー+APIコスト |
通信量は「質問+関連文書送信」分のみで、画像・動画がなければ数KB〜数十KB程度。通信負荷は軽く、ネットワーク制限下でも運用可能。
今後の展開例:ローカルRAG+ST7735ディスプレイ連携、監査支援DB化、音声TTS統合ナビゲーション等