將 NotebookLM 知識自動同步到 LINE AI 助教的 RAG 知識庫。
text
NotebookLM 來源
↓(老闆新增網站)
patchright 自動提問
↓(取得答案)
bge-m3 embedding(Ollama)
↓(1024維向量)
rag_embeddings.db(SQLite)
↓
RAG Server (port 3002)
↓
line_webhook.aspx(LINE 回覆)
↓
學員收到回答 + 延續問題建議
檔案用途rag_enhance.py主腳本:向 NotebookLM 提問並存入 RAGrag_server.pyPython HTTP Server,處理學員問答rag_embeddings.dbSQLite 向量知識庫line_webhook.aspxLINE Webhook 接收器
元件版本備註Python3.8+建議 3.10+Ollama最新版安裝 ollama servebge-m3:latestEmbedding 模型ollama pull bge-m3:latestgemma3:4b-cloudLLM 模型ollama pull gemma3:4b-cloudpatchright最新版pip install patchright
bash
pip install patchright
ollama pull bge-m3:latest
ollama pull gemma3:4b-cloud
編輯 rag_enhance.py 開頭的設定區塊:
python
CHROME_PROFILE = "你的 Chrome profile 路徑"
NOTEBOOK_ID = "你的 NotebookLM 筆記本 ID"
OLLAMA_HOST = "127.0.0.1"
OLLAMA_PORT = 11434
EMBEDDING_MODEL = "bge-m3:latest"
DB_PATH = r"你的\RAG\資料庫\路徑\rag_embeddings.db"
在 QUESTIONS 陣列中加入你想問的問題:
python
QUESTIONS = [
"Cloudflare Pages 是什麼?",
"如何部署網站到 Cloudflare Pages?",
# ... 更多問題
]
bash
python rag_enhance.py
腳本會自動:
啟動本地 RAG Server 處理即時查詢:
bash
python rag_server.py
Server 會監聽 http://127.0.0.1:3002/query
Request 格式:
json
{
"question": "Cloudflare Pages 是什麼?",
"history": "[]",
"user_id": "anonymous"
}
Response 格式:
json
{
"answer": "Cloudflare Pages 是...",
"suggestions": ["問題1", "問題2", "問題3"]
}
使用 Windows Task Scheduler 每天凌晨自動更新:
powershell
# 建立排程工作
$action = New-ScheduledTaskAction -Execute "python" -Argument "D:\node_app\cron\rag_enhance.py"
$trigger = New-ScheduledTaskTrigger -Daily -At "01:00"
Register-ScheduledTask -TaskName "RAG_NotebookLM_Update" -Action $action -Trigger $trigger -Description "NotebookLM RAG 自動更新"
sql
CREATE TABLE rag_embeddings (
id INTEGER PRIMARY KEY AUTOINCREMENT,
question TEXT NOT NULL,
answer TEXT NOT NULL,
embedding BLOB NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
.env 檔案,絕對不要 commit 到公開 repoMIT License - 可自由使用、修改與發布
🦞 爪子鋒利,什麼都能搞定!