下面给你一套自建 NotebookLM:Docker + OpenAI 兼容接口完整指南,并且把 第三方中转api poloapi.top 接进来(走 OpenAI 兼容网关),做到:不用折腾 OpenAI Key,也能稳定用上多模型能力。
0)你要准备什么
一台能跑 Docker 的机器(Windows/macOS/Linux 都行)
已安装 Docker / Docker Compose
一个 poloapi.top 的 API Key(控制台创建即可)
端口:默认会用到
8502(前端)和5055(后端)
Open Notebook 官方安装文档里明确支持 Docker 部署,并提供了 OpenAI Compatible 的 BASE_URL + API_KEY 配置方式。(GitHub)
1)创建目录并写 docker-compose.yml(单容器最省事)
在服务器/本机新建目录:
mkdir open-notebook && cd open-notebook
创建 docker-compose.yml(按 Open Notebook 官方单容器示例改):(GitHub)
cat > docker-compose.yml << 'EOF' services: open_notebook: image: lfnovo/open_notebook:v1-latest-single ports: - "8502:8502" - "5055:5055" env_file: - ./docker.env pull_policy: always volumes: - ./notebook_data:/app/data - ./surreal_single_data:/mydata restart: always EOF
2)创建 docker.env:把 OpenAI Compatible 指到 poloapi.top
Open Notebook 安装文档里给了「OpenAI Compatible」的环境变量:
OPENAI_COMPATIBLE_BASE_URLOPENAI_COMPATIBLE_API_KEY
我们把它改成 poloapi.top 的 OpenAI 兼容地址。
关键点:OpenAI 兼容服务通常是
.../v1作为 base_url,然后走/chat/completions等路径。
文档/示例中也常见 poloapi 的兼容路径形态(例如/v1/chat/completions)。
创建 docker.env:
cat > docker.env << 'EOF' # (可选)给你的 Open Notebook 加密码(公开部署强烈建议) # OPEN_NOTEBOOK_PASSWORD=your_strong_password # OpenAI Compatible —— 指向 poloapi.top OPENAI_COMPATIBLE_BASE_URL=https://poloapi.top/v1 OPENAI_COMPATIBLE_API_KEY=YOUR_POLOAPI_KEY_HERE # Database settings(单容器模式按官方示例保持不变) SURREAL_ADDRESS=localhost SURREAL_PORT=8000 SURREAL_USER=root SURREAL_PASS=root SURREAL_NAMESPACE=open_notebook SURREAL_DATABASE=production EOF
把 YOUR_POLOAPI_KEY_HERE 换成你在 poloapi.top 控制台生成的 Key。
3)启动
docker compose up -d docker compose ps
打开:
前端:
http://localhost:8502后端健康检查(可选):
http://localhost:5055/health(官方也建议用 health check 验证)
4)在 Open Notebook 里快速验证(3 分钟)
进入 Web UI → 新建 Notebook
Add Source(加一个文本或 PDF)
去 Chat,问一句:
“总结一下这个来源的关键观点”
如果能正常回复,说明:
Open Notebook 跑通 ✅
poloapi.top 的 OpenAI 兼容调用跑通 ✅
5)模型怎么选(更像 NotebookLM 的用法建议)
Open Notebook 的安装文档里给了模型分类建议(LLM/Embedding/TTS/STT)。
你可以按这个思路在 poloapi.top 里挑更合适的模型(不同平台模型 ID 会不同,以你控制台为准):
长文档/RAG:优先选“长上下文 + 成本友好”的模型
写作/总结:选更稳的通用模型
对话推理:选更强推理模型
Embedding:如果你要更好的语义检索,单独配 embedding 模型更划算
6)常见坑排查(很省时间)
A. 访问不了 / 页面空白
docker compose logs -f
看是否端口冲突(8502/5055 被占用)。
B. 一直报鉴权错误(401)
确认
OPENAI_COMPATIBLE_API_KEY填对确认
OPENAI_COMPATIBLE_BASE_URL是https://poloapi.top/v1这种 以 /v1 结尾的 base_url(而不是/v1/chat/completions)
C. 能启动但检索/问答效果弱
这是 embedding 或分块参数问题,优先:
换更强的 embedding(如果你用到了语义检索)
提高 chunk size / overlap(Open Notebook 更偏知识库式工作流)
版权信息: 本文由 poloapi 团队编写,保留所有权利。未经授权,不得转载或用于商业用途。
共同学习,写下你的评论
评论加载中...
作者其他优质文章