
RAG関連記事10本を、役割ごとに整理し、最短で理解と実装に到達できる導線をまとめました。
まず押さえるべきRAGの全体像
RAGとは何か:LLM単体の限界を超えて「自分のデータ」で答えさせる方法
RAGの「Retrieve→Augment→Generate」を最短で整理し、LLM単体の限界と、外部知識を参照して精度を上げる発想をつかむための記事です。
知識ベース側を固める(Vector DBとチャンク設計)
Chroma DBとは?Python定番ベクトルDBを試す
RAGの土台になるVector DBの役割を、Chroma DBを例に理解する記事です。RAGの前段で何を準備しているのかが腹落ちします。
MarkdownをRAGで扱う知識ベースとして活用する方法
Markdownを知識ベースにする際の、構造を壊さないチャンク分割と扱い方を整理しています。自サイト記事やメモ(Obsidian等)をRAG化したい人に直結します。
書籍データをRAG検索の題材とする実例:青空文庫より『遠野物語』
実装の前に、題材テキストを「RAGで検索しやすい形」に整える考え方を示した記事です。以降の“語り部RAG”シリーズの前提にもなっています。
まず動く最小実装(Ollama×ChromaDB)
PythonでRAGを実装:Ollama(llama3.1)+Chroma DBで“検索して答える”
PythonからRAGを試す最短ルートとして、OllamaとChroma DBで「検索して答える」最小構成に到達する記事です。まず動かして挙動を掴みたい場合に最適です。
OllamaのEmbeddingモデルを使う方法(Python + Chroma DB)
Embeddingを自前で用意し、Chroma DBに載せて検索する流れを丁寧に分解しています。RAGが「なぜベクトル化するのか」を実装から理解できます。
function callingで「検索判断」と「検索実行」を分ける
OllamaのFunction CallingでRAGを実装する方法(Python+Chroma DB)
function callingを使い、LLMに「検索するか/何で検索するか」を判断させる考え方を整理した記事です。検索の入口をLLMに任せる設計の基本を押さえられます。
llama3.1 と gpt-oss で役割分離したRAG実装 ─ function calling と生成を分ける
function callingは軽量モデル、生成は重いモデル、という役割分離の実例です。特に「重い生成モデルを別マシンのOllamaで回す」設計の出発点になります。
RAGの回答品質を上げる実装パターン(“語り部”)
RAGにより物語をAIに語らせる実装ポイント
RAG結果の最上位だけで終わらせず、題目(theme)に属する関連チャンクも追加して文脈を厚くする工夫を解説しています。単なるQ&Aより「流れ」を重視したいときに効きます。
LangChainで整理して拡張しやすくする
RAG実装をLangChainでリファクタリングする方法とポイント
前段の「検索判断(LLM)/検索実行(アプリ)/生成(Chain)」という意味を変えずに、LangChainで構造を整理する記事です。今後の拡張や差し替えに備えて、実装の見通しを良くしたい場合の到達点になります。
まとめ
まず「RAGの全体像」を掴み、次に「Chromaとチャンク設計」で土台を作り、その後に「最小実装→function calling→役割分離→語り部→LangChain整理」と進むのがスムーズです。
迷ったら、最初は「RAGとは何か」と「PythonでRAGを実装」を読み、動く状態を作ってから残りを戻るのがおすすめです。












