RAG(Retrieval-Augmented Generation)機能とは?LLMとの違い

LLMとの違いとPythonコード例を交えて解説
生成AI(Generative AI)の代表であるChatGPTのような「LLM(大規模言語モデル)」は、私たちの業務効率を大きく変える存在となりました。
しかし最近では、「RAG(Retrieval-Augmented Generation)」という新しい仕組みが注目されています。
本記事では、
✅ RAGとは?
✅ LLMとの違い
✅ Pythonによる簡単な実装例(LangChain使用)
をわかりやすく解説します。
🔍 RAGとは?
RAG(Retrieval Augmented Generation)とは、
外部の情報を検索(Retrieval)し、その内容をもとにAIが文章を生成(Generation)する仕組みです。
通常のLLM(例:ChatGPT)では、学習時点で持っている知識しか使えません。
RAGでは、外部データベースや文書などからリアルタイムで情報を取得して回答することができます。
🤖 RAGとLLMの違い
比較項目 | LLMのみ | RAG構成 |
---|---|---|
情報源 | モデルの学習済み知識 | 外部文書・データベース |
最新性 | 低い(更新不可) | 高い(常に更新可能) |
カスタマイズ性 | 再学習が必要 | 文書追加で即反映 |
幻覚(間違い) | 出やすい | 抑えやすい |
✅ どんな時にRAGが有効?
- 社内のナレッジやFAQをAIに答えさせたい
- 自社ドキュメント(PDF・Word・Web記事)を理解するAIが欲しい
- 幻覚を減らし、信頼できる応答がほしい
💻 Pythonで試す!RAG構成の簡単な実装例
ここでは、Pythonライブラリ「LangChain」と「OpenAI API」を使って、
社内ドキュメントに基づいた回答をする簡易RAGシステムを構築してみましょう。
🧱 必要なライブラリ
pip install langchain openai faiss-cpu tiktoken
① 文書データの準備
docs = [
"StarScriptはAI・音声認識・業務システムの開発会社です。",
"RAGとは外部データを検索して回答を生成する技術です。",
"LangChainはRAGを構築するためのPythonライブラリです。"
]
② テキストをベクトル化(Embedding)して検索用DBを作成
from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores import FAISS
from langchain.text_splitter import CharacterTextSplitter
# テキスト分割
text_splitter = CharacterTextSplitter(chunk_size=100, chunk_overlap=0)
split_docs = text_splitter.create_documents(docs)
# ベクトルDB作成
embedding = OpenAIEmbeddings()
vectordb = FAISS.from_documents(split_docs, embedding)
③ LLM+検索で回答生成(RetrievalQA)
from langchain.chat_models import ChatOpenAI
from langchain.chains import RetrievalQA
llm = ChatOpenAI(temperature=0) # 安定した回答のために温度を0に
qa_chain = RetrievalQA.from_chain_type(
llm=llm,
retriever=vectordb.as_retriever()
)
query = "StarScriptってどんな会社?"
result = qa_chain.run(query)
print(result)
✅ 出力例:
StarScriptはAI・音声認識・業務システムの開発会社です。
💼 RAGのビジネス活用例
- 📚 社内ドキュメントAIチャット:社員向けに情報を即時回答
- 📞 カスタマーサポートFAQボット:問い合わせ対応を自動化
- 📄 契約書・論文などのPDF要約AI:ドキュメントをAIで分析・要約
- 🌐 Web情報検索付きAIアシスタント:自社Webサイト情報を活用
🏢 StarScriptのRAG対応開発サービス
合同会社StarScriptでは、
RAG技術を活用したAIアシスタントやドキュメントQAシステムの受託開発を行っています。
- 自社PDF・Wordファイルを元に応答するAI
- 社内サーバーに閉じたセキュアなRAG構成
- Vue.jsやReactを活用したフロント実装連携
など、カスタマイズ可能です。
AIチャット導入を検討中の企業様はぜひご相談ください!
✨ まとめ
- RAGは「検索+生成」の組み合わせで、信頼できるAI回答を実現
- LLM単体よりも柔軟性・カスタマイズ性・正確性に優れる
- PythonとLangChainで簡易構築が可能
- StarScriptではRAG開発支援を行っています
📩 AIチャット・RAG導入のご相談はこちら
お問い合わせ