9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ローカル環境でNotebookLMっぽいことをする:Open Notebook + Docker + Ollama 構築メモ

9
Last updated at Posted at 2025-12-03

はじめに

GoogleのNotebookLMのように「ドキュメントを読ませて対話できるツール」をクラウドに出さずローカルで完結させたいと思い、
OSSの Open Notebook をDocker+Ollamaで構築しました。

本記事では、

  • Windows + WSL2 + Docker Desktop
  • LLM 本体は Ollama(ローカルモデル)
  • UI と API は Open Notebook の Docker コンテナ

という構成で、実際に動かすところまでの手順を残します。

※本記事は備忘的な記事です。

ゴール

最終的にこういう状態を目指します。

  • ブラウザで http://localhost:8502 を開くと Open Notebook の画面が出る
  • http://localhost:5055/docs で API(FastAPI の Swagger UI)が開く
  • Open Notebook の「Settings」から Ollama をプロバイダとして選べる
  • PDF やテキストをアップロードして、
    • 「この資料を要約して」
    • 「この規程のポイントを教えて」
    • 「このノートにある情報だけで、○○の手順書を作って」
      といった対話ができる

前提環境

試した環境は以下です。

  • Windows 11
  • Ubuntu
  • Docker Desktop

Step 1. Ollamaをインストール & モデルを用意

1-1. Ollamaインストール

  1. https://ollama.com から Windows 用インストーラをダウンロード

  2. OllamaSetup.exe を実行してインストール

  3. PowerShell で動作確認:

    ollama --version
    

    エラーにならなければOKです。

1-2. ローカルモデルをpull

今回は例として:

  • チャット用:qwen2.5:3b
  • 埋め込み用:mxbai-embed-large
    を使用しました。
# チャット用
ollama pull qwen2.5:3b

# 埋め込み用
ollama pull mxbai-embed-large

APIが生きてるかも確認しておきます。

curl http://localhost:11434/api/tags

⇒JSONが返ってくればOKです。

Step 2. WSL側:Open Notebook を clone & env 設定

2-1. リポジトリをclone

git clone https://github.com/lfnovo/open-notebook.git

2-2. docker.envを修正

# OpenAI は使わなくても、ダミー値でOKらしいです
OPENAI_API_KEY=dummy_key

# 単一コンテナ用 SurrealDB 設定(公式 Quick Start ベース)
SURREAL_URL="ws://localhost:8000/rpc"
SURREAL_USER="root"
SURREAL_PASSWORD="root"
SURREAL_NAMESPACE="open_notebook"
SURREAL_DATABASE="production"

# Ollama を使う
OLLAMA_API_BASE="http://host.docker.internal:11434"

# Open Notebook ログイン用パスワード
OPEN_NOTEBOOK_PASSWORD=*****

Step 3. Dockerコンテナを起動

起動と状態の確認

docker compose -f docker-compose.single.yml up -d
docker compose -f docker-compose.single.yml ps

こんな感じで動作していればOKです。

image.png

docker compose ps だけ実行するとno configuration file provided: not found
となりました。
-f docker-compose.single.yml毎回付ける必要があります。

Step 4. ブラウザから動作確認

4-1. API(5055)の確認

ブラウザで以下を開きます。

http://localhost:5055/docs

FastAPI の Swagger UI が開けば OK です。

4-2. Open Notebook UI(8502)の確認

ブラウザで以下を開きます。

http://localhost:8502

初回はログイン/パスワード入力画面が出るので、
docker.env で設定した OPEN_NOTEBOOK_PASSWORD を入力します。
↓こんな感じのページが開いたら、
image.png
OpenNotebookの起動までは完了です!

Step 5. Open NotebookからOllamaを使う設定

5-1. Ollama API を再確認(Windows)

念のため、PowerShell で再度確認しておきます。

curl http://localhost:11434/api/tags

モデル一覧の JSON が返ってくれば OK です。


5-2. Open NotebookのSettingsでOllamaを追加

  1. http://localhost:8502 にログイン
  2. 左のメニューからSettingsを開く
  3. Models の設定画面でOllamaを追加
  4. Language Models / Embedding Models を設定
    例:
    • Language: qwen2.5:3b
    • Embedding: mxbai-embed-large
      image.png

Step 6. NotebookLM っぽく使ってみる

ここからは使い方の話です。
だいたいNotebookLMと同じ雰囲気で使えます。

6-1. Notebook を作成

  1. 左メニューのNotebooksからNew Notebook
  2. Add Source から以下のいずれかを選び、ソースを追加する
    • Link:
      Web ページや社内 Wiki の URL を追加
    • Upload:
      PDF / Word / PowerPoint / Excel / テキスト などのファイルをアップロード
    • Text:
      テキストを直接ペーストして追加
      image.png

6-2. チャットで質問する

Notebook内のチャット欄から、たとえば以下のような質問を投げます。

  • 「このノートに入っている資料の要点を 5 個にまとめてください」
  • 「アップロードした資料をもとに、60 分の勉強会用スライド構成案を作ってください」

「このノートにある情報だけを使って回答してください」と明示すると、
NotebookLM 的な「クローズドな知識ベース」を前提にした回答になりやすいです。

image.png
こんな感じで対話可能になりました!

おまけ:自分が躓いたポイントまとめ

最後に、自分が実際に躓いたところを箇条書きで残しておきます。

  • docker compose ps が動かない
    no configuration file provided: not found
    -f docker-compose.single.yml を付けて実行する必要があった

  • http://localhost:5055/docs で「ページが動作していません」「データが送信されませんでした」
    → SurrealDB接続エラーによりAPIが立ち上がりきっていなかった
    → 上記 URL 修正+コンテナ再起動で解消

  • Open NotebookからOllamaに繋がらない
    OLLAMA_API_BASE やProviderのBase URLを http://localhost:11434 にしていた
    http://host.docker.internal:11434 に変更して解決


さいごに

以上、Open Notebook + Docker + Ollama でローカル版 NotebookLM っぽい環境を作る までの手順でした。

個人的には、

  • 社内規程・通達を突っ込んで FAQ を作る
  • 業務知識をまとめて対話ベースで思考の助けになるようなチャットボットを作る

といった用途でかなり便利に使えそうだと感じています。

が…今軽く触ってみていますが、とにかく重い…
モデルが悪いのかシンプルにPCのメモリが足りてないのかわかっていませんが、一回のチャット回答に30秒ほどかかります。
もうちょい改善できたらいいな…

9
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?