ローカルで稼働するOpen Notebook を実際に使ってみた
はじめに
Google社で提供するNotebookLMが人気ですが
こちらはクラウドで稼働するため機密文章を扱う際、セキュリティの問題が立ちはだかります。
そういうったセキュリティ問題を解決するため、ローカルで扱えるNotebookが公開されました
今回はそれを試しにつかってみました。
テストで利用する機密データ(サンプル)
今回テストで使うサンプルデータは下記とします
🧪 サンプル①:個人識別情報(PII)を含むドキュメント
# 【社員個別情報 管理ファイル】(社外秘・架空)
---
## ■ 社員ID:EMP-2024-1182
- **氏名**:玖羅間(くらま) リョウ=ゼルト
- **生年月日**:1993/08/21
- **住所**:東京都虚空区無影町 9-17-3 オーロラ荘 404
- **電話番号**:090-9999-1138
- **メール**:ryo.zelt@example-company.co.jp
- **緊急連絡先**:玖羅間(くらま) ミレア=ソルト(配偶者)080-3312-7441
- **マイナンバー**:9999-8888-7777(架空)
### ● 給与情報
- 基本給:365,000円
- 特別技術手当:40,000円
- 住宅手当:20,000円
- **総支給:425,000円**
### ● 評価記録(2024年 下期)
- スコア:4.3 / 5.0
- コメント:分析能力が高く、異常検知タスクで大きく貢献。
### ● 健康診断情報(要管理)
- 結果:微細な代謝異常の兆候あり。半年後フォロー。
---
## ■ 社員ID:EMP-2024-1249
- **氏名**:星来(せら)=ユノ=クロニカ
- **生年月日**:1990/04/03
- **住所**:神奈川県流星市霞霧ヶ丘 12-8-21 スフィアタワー 12F
- **電話番号**:080-7777-2250
- **メール**:sera.chronica@example-company.co.jp
- **緊急連絡先**:クロニカ=フェルミア(姉)090-1211-4410
- **マイナンバー**:1111-2222-3333(架空)
### ● 給与情報
- 基本給:428,000円
- リモート勤務手当:10,000円
- 研究開発手当:35,000円
- **総支給:473,000円**
### ● 評価記録(2024年 下期)
- スコア:4.8 / 5.0
- コメント:新規プロジェクトの要件定義フェーズで高度な貢献。
### ● 健康診断情報(要管理)
- 結果:異常なし(ストレス傾向やや強め)
---
🧪 サンプル②:企業の機密業務データ
【新規事業戦略メモ】(極秘・関係者以外閲覧禁止)
プロジェクト名:Phoenix(フェニックス)
作成日:2025/09/18
作成者:事業戦略室 / A.N.
---
■ 事業概要(Confidential)
当社の既存通信インフラを利用した「グローバルSIM統合プラットフォーム」を
2026年Q2にローンチする計画。
■ 主な機能
- 日本/欧州/アジア 30カ国のローミング自動切替
- eSIM発行API(外部パートナー向け)
- 海外向けのトラベル通信プラン生成AI(β版)
■ 競合優位性(NDA情報)
- 国内キャリア2社と専用帯域の調達交渉中(2026年より稼働可能)
- 自社ネットワークログ解析モデルの精度 98.1%
- 利用者匿名化アルゴリズムを独自開発(特許出願中)
■ リスク
- 盗難SIMの不正利用検知(現状:検知率 82%)
- 海外事業部との利益配分調整が未完了
- 技術者不足(特にバックエンド、SRE)
■ 次回アクション
- 2025/10/05:欧州のMVNO 3社とAPI実証開始
- 2025/11/01:ユーザーテスト 100名規模で実施
事前に必要なもの
- AIモデルのAPIキー
- Docker環境
ローカルで起動
まず好きなAIモデルのAPIキーを取得します
今回はopenaiのキーを利用します。
取得方法は割愛します
次に で紹介されてるように
mkdir open-notebook && cd open-notebook
cat > docker-compose.yml << 'EOF'
services:
open_notebook:
image: lfnovo/open_notebook:v1-latest-single
ports:
- "8502:8502" # Web UI
- "5055:5055" # API
environment:
- OPENAI_API_KEY=REPLACE_WITH_YOUR_KEY
# Database connection (required)
- SURREAL_URL=ws://localhost:8000/rpc
- SURREAL_USER=root
- SURREAL_PASSWORD=root
- SURREAL_NAMESPACE=open_notebook
- SURREAL_DATABASE=production
volumes:
- ./notebook_data:/app/data
- ./surreal_data:/mydata
restart: always
EOF
# Edit the file and replace REPLACE_WITH_YOUR_KEY with your actual key
nano docker-compose.yml # or use your preferred editor
docker compose up -d
のコマンドでコンテナを立ち上げます
REPLACE_WITH_YOUR_KEYにopenaiのAPIキーをセットしておきます
起動すればこういった画面が にて確認できます

モデルの設定
次にモデルの設定をします
にいろんな組み合わせの例があるので参考にしてください。
今回は基本ベースで
- Language Models: gpt-4o-mini
- Embedding: text-embedding-3-small
とし、Default Model Assignmentsの必須設定で追加したものを設定します
音声対応はまた別途設定が必要ですが、ひとまず必要なものは設定が終わりました。

ソースの追加
ソースは左上のCreateから
Add New Sourceの画面を開き、追加したいデータを選択

成功すればCOLLECTに追加されています

チャット機能
COLLECTにあるソース一覧から聞きたいソースを選びチャット画面に移動
あとは聞きたい事を投げれば、回答を返してくれます

後はInsightsタブでデータを好きな形式に加工してくれるみたいです。
ただここの精度はまだ低いかもです。テーブル形式にしてと依頼したものの
でてきたのは思ったような形式ではなかったです

検索機能
次にソースをもう一つ追加しました。
企業の機密業務のデータです
その後、Ask and Searchタブをクリック
Ask Your Knowledge Base (beta)
に知りたいことを記載し、Askボタンを押します。
しばらくした後にAIが検索結果を引用含め表示し、要約もしてくれます
open notebookはbookの個数制限がないので
わたって検索をしてくれるのは大変ありがたいですね



自分で内容を見に行きたい場合はSearchタブのほうでキーワード検索するものありです
こちらの方が高速です

本格的に活用していくには
にも記載があるように関連するソース同士を1つのbookとして登録し
そこに詳細な説明書きを記載することで、LLMは効率的にソース内のデータを参照
及び提示することができそうです
案件ごとにbookを作成して、さまざまなソースをいれておくとよさそうですね

まとめ
ローカルですぐに立ち上げられるnotebookができたのは感動でした。
ローカルで活用できるのでセキュリティ面はたしかにクラウドより担保されるものの
結局はAIに情報送信をしていますし、これを会社で使うとなった場合は結局自社サーバーに
展開することになりそうなので。完全にセキュリティが担保されたものとして使うには
色々試行錯誤が必要だなと思います
あとは今後APIが提供され、ソース管理を自動化できるとなおよさそうですね
皆さんもローカルで機密情報を使う際には検討の一つとして考えてみてください。
PS: notebookは50MBのアップロードが最大なので、それを超えるファイルを読めるかと期待したのですが。open notebookでは自分の環境が悪いのか読み込めませんでした。ただ1ファイルの容量が大きいので、50MBのファイルを小分けにすればいけるかも
Discussion