はじめに
RAG(Retrieval Augmented Generation)は、LLMの弱点である「最新情報を知らない」「社内情報を知らない」という問題を解決する技術です。2026年現在、企業のAI導入で最も多く使われている手法のひとつです。
製造業でAI活用を担当する立場から、実際に社内文書検索システムをRAGで構築した経験をもとに解説します。
RAGの仕組み
RAGは「検索(Retrieval)」と「生成(Generation)」を組み合わせた手法です。ユーザーの質問に関連する文書を検索して、その文書をLLMに渡して回答を生成させます。これにより、LLMが学習していない最新情報や社内独自の情報に答えられるようになります。
実装に必要なもの
pip install langchain langchain-community langchain-openai
pip install faiss-cpu
pip install openai
基本的な実装
from langchain_community.document_loaders import TextLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_openai import OpenAIEmbeddings, ChatOpenAI
from langchain_community.vectorstores import FAISS
from langchain.chains import RetrievalQA
# 1. ドキュメントの読み込み
loader = TextLoader('company_docs.txt', encoding='utf-8')
documents = loader.load()
# 2. テキストをチャンクに分割
text_splitter = RecursiveCharacterTextSplitter(
chunk_size=500,
chunk_overlap=50
)
chunks = text_splitter.split_documents(documents)
# 3. ベクトルストアの作成(埋め込みベクトル化)
embeddings = OpenAIEmbeddings()
vectorstore = FAISS.from_documents(chunks, embeddings)
# 4. RAGチェーンの作成
llm = ChatOpenAI(model='gpt-4o-mini', temperature=0)
qa_chain = RetrievalQA.from_chain_type(
llm=llm,
chain_type='stuff',
retriever=vectorstore.as_retriever(search_kwargs={'k': 3})
)
# 5. 質問して回答を取得
query = '有給休暇の取得ルールを教えてください'
result = qa_chain.invoke({'query': query})
print(result['result'])
Claude APIを使ったRAG実装
from langchain_anthropic import ChatAnthropic
# ClaudeをLLMとして使う場合
llm = ChatAnthropic(model='claude-sonnet-4-20250514', temperature=0)
qa_chain = RetrievalQA.from_chain_type(
llm=llm,
chain_type='stuff',
retriever=vectorstore.as_retriever(search_kwargs={'k': 3}),
return_source_documents=True # 参照元も返す
)
result = qa_chain.invoke({'query': '製品Aの仕様書はどこにありますか'})
print('回答:', result['result'])
print('参照元:', [doc.metadata for doc in result['source_documents']])
精度を上げるポイント
チャンクサイズの調整が最も重要です。小さすぎると文脈が失われ、大きすぎると関係ない情報が混入します。500〜1,000文字が一般的な目安です。埋め込みモデルは日本語の場合、text-embedding-3-smallより日本語特化モデルの方が精度が良いケースがあります。検索数(k)は3〜5が一般的ですが、文書が多い場合は増やすことも検討しましょう。
まとめ
RAGは「ドキュメント読み込み→チャンク分割→ベクトル化→検索→LLM生成」という流れで実装できます。LangChainを使えば数十行で基本的な実装が可能です。社内文書への質問回答・マニュアル検索・FAQ自動化など、業務での応用範囲が非常に広い技術です。
💼 ITエンジニア転職特化
自分らしく働けるエンジニア転職を目指すなら【strategy career】
年収1000万・残業月30時間以下・リモート可の求人多数
※アフィリエイト広告を含みます
![]()
※本記事にはアフィリエイトリンクが含まれます。


コメント