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
59
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
2
RAGとは(超概要)
dassimen001
0
2
まるでChatGTP!?
dassimen001
0
26
LLMローカル動作方法(NvidiaGPU使用)
dassimen001
0
65
🎭Playwright 超入門
dassimen001
0
39
LLMローカル動作方法
dassimen001
1
63
ベクトル変換について
dassimen001
1
37
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
42
7.5k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
5
590
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Docker and Python
trallard
44
3.4k
The Cost Of JavaScript in 2023
addyosmani
49
7.8k
[RailsConf 2023] Rails as a piece of cake
palkan
54
5.5k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Optimising Largest Contentful Paint
csswizardry
37
3.2k
Music & Morning Musume
bryan
47
6.5k
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