AI知识库系统

一个个人AI驱动的知识库,可以导入PDF、笔记、书签、代码文件和YouTube视频,并通过Claude与它们进行交流。

  • by MBA009
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 MBA009/RAG-MCP-system

使用说明

🧠 第二大脑

一个由人工智能驱动的个人知识库。摄取您的PDF、笔记、书签、代码文件和YouTube视频,然后使用Claude与他们聊天。


它做什么

  • 摄取 任何文档:PDF、Markdown、DOCX、代码文件、网址、YouTube转录本、Notion页面
  • 搜索 使用混合检索——语义向量搜索+关键字搜索,与真正的机器学习重新排序器合并
  • 聊天 通过web UI查看文档,答案会附带源引用
  • 暴露 将您的知识库作为MCP工具,以便Claude Desktop在对话中搜索

快速开始

1.克隆并安装

git clone https://github.com/MBA009/RAG-MCP-system.git
cd RAG-MCP-system
pip install -r requirements.txt

2.设置环境变量

创建一个 .env 项目根目录中的文件:

ANTHROPIC_API_KEY=sk-ant-api03-...
EMBEDDING_BACKEND=local

EMBEDDING_BACKEND=local 使用免费的离线模式(建议开始)。 如果你有一个OpenAI密钥并且想要更高质量的嵌入:

EMBEDDING_BACKEND=openai
OPENAI_API_KEY=sk-...

可选:

NOTION_TOKEN=secret_...

3.吸收你的文件

# Single file
python cli.py ingest ~/Documents/notes.pdf

# Entire folder (recursive)
python cli.py ingest ~/Documents/notes/

# Web page
python cli.py ingest-url https://en.wikipedia.org/wiki/Retrieval-augmented_generation

# YouTube video (fetches transcript automatically, no API key needed)
python cli.py ingest-youtube https://www.youtube.com/watch?v=VIDEO_ID

# All Notion pages (requires NOTION_TOKEN in .env)
python cli.py ingest-notion

4.启动web UI

python cli.py web

打开 http://localhost:8000 在您的浏览器中。


Web UI功能

  • 与您的文档聊天——答案包括可点击的源引用
  • 从侧边栏添加源:URL、YouTube、文件上传或Notion同步
  • 将鼠标悬停在任何源上并单击✕ 删除它
  • 标题显示索引的文档和块总数

所有CLI命令

命令 它的作用
python cli.py ingest <path> 摄入文件或目录
python cli.py ingest-url <url> 摄入网页
python cli.py ingest-youtube <url> 摄取YouTube文字记录
python cli.py ingest-notion 同步所有Notion页面
python cli.py list 列出所有摄入来源
python cli.py delete <hash> 按哈希值删除源
python cli.py stats 显示总源和块
python cli.py watch 查看收件箱文件夹并自动接收新文件
python cli.py chat 终端聊天界面
python cli.py web 启动web UI
python cli.py serve 启动Claude Desktop的MCP服务器

克劳德桌面集成(MCP)

添加到您的Claude Desktop配置中:

窗户: %APPDATA%\Claude\claude_desktop_config.json 雨衣: ~/.config/claude/claude_desktop_config.json

{
  "mcpServers": {
    "second-brain": {
      "command": "python",
      "args": ["cli.py", "serve"],
      "cwd": "C:\\path\\to\\second-brain"
    }
  }
}

重新启动克劳德桌面。克劳德现在可以打电话了 search_brain, add_document, list_sources,以及 delete_source 作为谈话中的工具。


密钥配置(config.py)

设置 默认值 说明
EMBEDDING_BACKEND "local" "local" 或 "openai"
CHUNK_SIZE 512 每块代币
TOP_K_FINAL 5 每次查询返回的结果
CLAUDE_MODEL claude-sonnet-4-... 用于聊天的Claude模型

支持的文件类型

PDF、DOCX、Markdown、纯文本、Python、JavaScript、TypeScript、Go、Rust、C、C++、Java、HTML、web URL、YouTube、Notion、黑曜石库


技术栈

工具 角色
Qdrant 本地矢量数据库
SQLite FTS5 全文关键字搜索
句子变换器 嵌入+交叉编码器重新排序
快速API Web API
Anthropic Claude 语言模型
MCP-SDK Claude桌面工具集成