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
120
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
29
RAGとは(超概要)
dassimen001
0
26
まるでChatGTP!?
dassimen001
0
32
LLMローカル動作方法(NvidiaGPU使用)
dassimen001
0
81
🎭Playwright 超入門
dassimen001
0
43
LLMローカル動作方法
dassimen001
1
63
ベクトル変換について
dassimen001
1
47
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
46
14k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Done Done
chrislema
184
16k
Building Applications with DynamoDB
mza
95
6.4k
Automating Front-end Workflow
addyosmani
1370
200k
Speed Design
sergeychernyshev
31
990
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
The World Runs on Bad Software
bkeepers
PRO
68
11k
Statistics for Hackers
jakevdp
799
220k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Navigating Team Friction
lara
186
15k
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