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
150
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
49
RAGとは(超概要)
dassimen001
0
46
まるでChatGTP!?
dassimen001
0
34
LLMローカル動作方法(NvidiaGPU使用)
dassimen001
0
83
🎭Playwright 超入門
dassimen001
0
44
LLMローカル動作方法
dassimen001
1
65
ベクトル変換について
dassimen001
1
48
Featured
See All Featured
A Tale of Four Properties
chriscoyier
160
23k
Unsuck your backbone
ammeep
671
58k
How to Ace a Technical Interview
jacobian
278
23k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Bash Introduction
62gerente
614
210k
The Pragmatic Product Professional
lauravandoore
36
6.8k
Making Projects Easy
brettharned
117
6.3k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
GraphQLとの向き合い方2022年版
quramy
49
14k
Gamification - CAS2011
davidbonilla
81
5.4k
Balancing Empowerment & Direction
lara
1
540
For a Future-Friendly Web
brad_frost
179
9.9k
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