Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
LangChain × Ollamaで学ぶLLM & RAG超入門
Search
dassimen
April 27, 2025
1
210
LangChain × Ollamaで学ぶLLM & RAG超入門
ローカルだけでLLMとRAGについて入門する資料
ソースコードサンプルは以下に配置
-
https://github.com/GitHiroki/LLM_Study_Introduction
dassimen
April 27, 2025
Tweet
Share
More Decks by dassimen
See All by dassimen
LLMとは(超概要)
dassimen001
0
79
RAGとは(超概要)
dassimen001
0
65
まるでChatGTP!?
dassimen001
0
39
LLMローカル動作方法(NvidiaGPU使用)
dassimen001
0
92
🎭Playwright 超入門
dassimen001
0
53
LLMローカル動作方法
dassimen001
1
84
ベクトル変換について
dassimen001
1
54
Featured
See All Featured
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
110
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.4k
GitHub's CSS Performance
jonrohan
1032
470k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.3k
Six Lessons from altMBA
skipperchong
29
4.1k
4 Signs Your Business is Dying
shpigford
187
22k
Agile that works and the tools we love
rasmusluckow
331
21k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Prompt Engineering for Job Search
mfonobong
0
140
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
160
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Transcript
LangChain × Ollama で学ぶLLM & RAG 超入門 Gemma3 + Ruri
Embeddings + Chroma + LangChain + FastAPI + Open WebUI LangChain × Ollama で学ぶLLM & RAG 超入門 © 2025 1
0. 目的 1. Retrieval-Augmented Generation (RAG )の動きを理解する 2. 完全ローカル環境で LLM
(Gemma3 )を使った検索付き QA API を構築 3. ブラウザ UI (Open WebUI )から RAG と対話して効果を体感する 対象読者は プログラミング経験者(Python ・Docker の基礎が分かる)で AI /LLM は初学者という前提です。 LangChain × Ollama で学ぶLLM & RAG 超入門 © 2025 2
1. 構成図 Ollama が LLM API と Embedding API を提供(Gemma3
・Ruri で推論) FastAPI が LangChain で RAG を実行し、OpenAI 互換エンドポイント /v1/chat/completions として公開 Open WebUI はフロントエンド。環境変数 OPENAI_API_BASE を FastAPI に向ける ことで RAG を UI から利用できる LangChain × Ollama で学ぶLLM & RAG 超入門 © 2025 3
2. システム要件 項目 推奨値・備考 OS Windows 11 + WSL 2
(Ubuntu 22.04) Docker Docker Desktop (WSL backend) GPU ( 任意) NVIDIA / CUDA 12 以上 (VRAM 8 GB+) CPU だけでも可(遅くなる) ポート 11434 (Ollama) / 8000 (FastAPI) / 3000 (WebUI) LangChain × Ollama で学ぶLLM & RAG 超入門 © 2025 4
3. ディレクトリ構成 . ├─ compose.yml ├─ rag_api/ │ ├─ Dockerfile
│ ├─ app.py # FastAPI + LangChain │ └─ docs/ # 検索対象ファイル(Markdown 等) └─ chroma_store/ # ベクトル DB(自動生成) 学習用のソースコードサンプルは以下に配置してます。 https://github.com/GitHiroki/LLM_Study_Introduction LangChain × Ollama で学ぶLLM & RAG 超入門 © 2025 5
4. セットアップ手順 1. リポジトリを clone ★リポジトリを用意しよう git clone https://github.com/GitHiroki/LLM_Study_Introduction.git; cd
LLM_Study_Introduction 2. Docker コンテナ起動 docker compose up -d 3. モデルをダウンロード(別ターミナル) docker exec -it ollama ollama pull gemma3:1b docker exec -it ollama ollama pull kun432/cl-nagoya-ruri-base 4. ブラウザでアクセス http://localhost:3000 へ モデル選択ドロップダウンで gemma-rag を選び、質問を入力 LangChain × Ollama で学ぶLLM & RAG 超入門 © 2025 6
5. 動作確認チェックリスト チェック 確認方法 RAG が呼ばれてい るか? Open WebUI の
DevTools → Network で POST /v1/chat/completions を確認 検索結果が変わる か? docs/ にファイルを追加→ docker restart rag-api → 再質問 ベクトル DB が永続 か? docker compose down → up -d 後も回答が保持される LangChain × Ollama で学ぶLLM & RAG 超入門 © 2025 7
6. 発展課題 1. ストリーミング対応 StreamingResponse で SSE を返し、WebUI の stream=on
を有効化 2. メタデータフィルタ store.as_retriever(filter={"source": "internal"}) で限定検索 3. LangSmith トレーシング LANGCHAIN_TRACING_V2=true で生成過程を可視化 4. 認証追加 FastAPI で Authorization ヘッダを検証し、Open WebUI 側に同じキーを設定 LangChain × Ollama で学ぶLLM & RAG 超入門 © 2025 8
7. まとめ Gemma3 (LLM ) + Ruri-base (日本語埋め込み) + Chroma
(ベクトル DB ) LangChain で RAG パイプラインを構築し、FastAPI で OpenAI 互換 API にラップ Open WebUI から完全ローカル RAG 環境と対話し、効果を体験 LangChain × Ollama で学ぶLLM & RAG 超入門 © 2025 9