我把 B 站收藏夹做成了可对话的知识库:收藏不吃灰,RAG 一键复盘

109 阅读4分钟

我把 B 站收藏夹做成了可对话的知识库:收藏不吃灰,RAG 一键复盘

适合:访谈/演讲/课程、技术学习视频整理、公开课复盘、知识总结、会议/分享回顾、播客内容归档等。(GitHub)

很多人(包括我)在 哔哩哔哩 收藏夹里屯了大量视频:访谈、课程、公开课、技术分享……收藏时觉得“以后一定看”,结果越堆越多,想找某个观点/片段时又完全想不起来在哪个视频哪一段。

我就做了一个开源项目:把 B 站收藏夹 → 语音转写 → 向量检索 → 对话问答 串起来,让收藏夹变成“可检索、可追溯来源”的个人知识库。项目放在 GitHub 上:(GitHub)


home.png

这个项目能做什么

一句话:把你收藏的视频,变成能问问题、能追溯答案出处的 RAG 知识库

功能点(按 README):

  • ✅ B 站扫码登录,读取收藏夹
  • ✅ 音频转文字(ASR),并处理“音频不可达”等情况
  • ✅ 语义检索(向量检索)
  • ✅ 基于 RAG 的对话问答
  • ✅ 本地 SQLite + ChromaDB 存储

你可以把它理解为:把视频内容“结构化成可检索的记忆” ,以后复盘/查资料不用再拉进度条翻半天。


工作流程(从收藏到可问答)

整体流程很直:

  1. 选择收藏夹
  2. 拉取视频 → 音频转写(ASR)
  3. 生成向量 → 构建知识库
  4. 对话/检索问答

它的亮点之一是“兜底”:有些视频音频直链会 403 或过期,项目会自动走兜底流程(带 Cookie 下载音频 → ffmpeg 转码 → 上传到 DashScope 再识别)。


演示与截图

视频演示:【别让收藏夹吃灰:我把 B站收藏夹变成“可问可搜”的 AI 知识库-哔哩哔哩】 b23.tv/bGXyhjU

chat.png


3 步快速开始(真·能跑起来那种)

按 README 的“3 步”来(我把关键点强调一下)。

0)先装 ffmpeg(必须)

  • macOS:brew install ffmpeg
  • Linux:apt/yum/pacman 安装 ffmpeg
  • Windows:安装后把 bin 加到 PATH([GitHub]

1)安装依赖

项目用 Python 依赖(requirements.txt):

# 建议你自己建个环境
conda create -n bilibili-rag python=3.10 -y
conda activate bilibili-rag
pip install -r requirements.txt

2)配置环境变量

cp .env.example .env
# 编辑 .env,填写 DashScope API Key 等配置

这里的 DashScope 属于 阿里云 的模型服务(你也可以后续改成别家的 LLM/Embedding/ASR)。

3)启动后端 + 前端

后端(FastAPI):

python -m uvicorn app.main:app --reload

后端文档:

http://localhost:8000/docs

前端(Next.js):

cd frontend
npm install
npm run dev

前端页面:

http://localhost:3000

你大概率会遇到的 2 个坑(我提前写在这)

1)音频直链 403 / 失效

这不是你代码的问题,B 站音频直链本来就有鉴权/过期/区域限制。项目的兜底策略是:

  1. 本地下载音频(带 Cookie)
  2. ffmpeg 转成 16k 单声道
  3. 上传到 DashScope 再识别

所以:ffmpeg 一定要装好,Cookie/登录也要能成功。

2)成本(别一上来就跑几百个视频)

README 里写得很清楚:成本主要来自三块——LLM 对话、Embedding、ASR(按时长)。建议你先用10 分钟左右短视频跑通流程,确认效果和费用,再批量处理。


技术栈一览(给想抄作业的同学)

  • 后端:FastAPI
  • LLM:LangChain + DashScope
  • 向量库:ChromaDB
  • 前端:Next.js + Tailwind
  • 数据库:SQLite (这个组合的好处是:本地就能落地,不会一上来就被各种“企业级组件”劝退。)

项目里我专门做了“测试与诊断脚本”

  • debug_asr_single.py:测试单个视频能否正确获取音频
  • diagnose_rag.py:测试向量检索召回是否准确
  • sync_cache_vectors.py:同步数据库缓存数据到向量库([GitHub]

Roadmap(下一步做什么)

  • 会话管理/对话存储/检索历史对话
  • 支持 B 站分 P 视频
  • 适配更多 LLM 与向量模型 如果你也在做“视频知识库 / 学习资料整理 / RAG 应用”,欢迎一起讨论方向。

最后:

如果它对你有用,点个 star 就是对我最大的鼓励;也非常欢迎提 Issue / PR,一起把它打磨成更顺手的“视频知识库工具”。