Qdrant Webinar: Vibe Coding Rag:视频内容检索与 RAG 编程示例
这是一个围绕 YouTube 视频内容检索和 RAG 应用开发的实践项目。它会处理视频字幕,将内容切分并转换为向量,借助 Qdrant 建立检索索引,让用户按主题查找相关片段,并通过时间戳定位视频内容。

目标网站网页截图,页面可能随时间更新。
- 代码许可:apache-2.0
- 作者:Qdrant
- 分类:AI 编程与 Agent
- 名称:Qdrant Webinar: Vibe Coding Rag
- 来源:Hugging Face Spaces
Qdrant Webinar: Vibe Coding Rag 将长视频转换为可检索的内容库,适合需要从课程、技术分享或其他信息密集型视频中快速定位具体主题的场景。它把字幕处理、向量搜索和视频定位组合起来,也展示了如何使用知识库辅助生成式编程。
主要功能
应用提供视频处理和视频检索两类视图。用户输入 YouTube 视频地址后,后端提取字幕,将文本划分为带有重叠部分的 30 秒片段,再使用 SentenceTransformers 创建嵌入并存入 Qdrant。视频处理完成后,用户可以在视频旁查看转录内容,并通过时间戳跳转到对应位置。
提交查询后,系统返回相关的视频片段,以可点击结果呈现,同时隐藏转录中与查询无关的部分。已经处理过的视频会使用已有嵌入,避免重复处理。
- 输入视频地址并提取字幕
- 按 30 秒片段建立向量索引,片段之间重叠 10 秒
- 搜索相关视频片段并跳转到对应时间点
- 在已处理视频中复用已有嵌入
它搜索的是视频画面还是视频文字?
项目以视频字幕或转录文本为基础建立索引,再根据查询返回相关内容片段。
适用任务
它适合处理篇幅较长、需要反复查找主题的视频,例如技术课程、演讲和开发者分享。使用者可以先完成视频处理,再用自然语言描述想查找的概念、问题或讨论方向,从结果进入相关时间点。
对于需要快速浏览视频重点的任务,这种方式比从头播放并手动寻找更有针对性。检索效果取决于视频是否能够提取到可用字幕,以及查询与字幕内容之间的对应程度。
- 从长篇技术视频中查找概念或主题
- 定位演讲中的特定讨论片段
- 辅助学习新技能时快速浏览相关内容
- 按关键词或自然语言筛选视频转录
哪些内容比较适合导入?
适合导入具有字幕或转录内容、且需要按主题定位的视频。
使用思路
基本流程是先提供视频地址,等待系统提取字幕并完成分段、嵌入和向量存储;之后在视频视图中输入查询,查看返回的相关片段,并通过时间戳核对上下文。查询可以围绕具体概念、问题或讨论内容组织,而不是只依赖单个词。
如果视频已经处理过,应用会读取已有嵌入。对于需要持续积累可复用知识的编程场景,项目还展示了通过 MCP Server 连接 Qdrant 的方式:一个工具负责查找相似条目,另一个工具负责保存条目,工具的调用时机由语言模型根据工具描述决定。
- 输入视频地址并完成字幕处理
- 在检索框中描述要查找的内容
- 查看相关片段并点击时间戳定位
- 在编程场景中,可将可复用代码片段存入 Qdrant,供后续检索
为什么需要把片段重叠?
项目将每段设置为 30 秒,并保留 10 秒重叠,以减少主题跨越分段边界时的内容割裂。
技术组成
项目使用 Qdrant 进行向量搜索和存储,使用 SentenceTransformers 的 sentence-transformers/static-retrieval-mrl-en-v1 创建句子嵌入,使用 FastAPI 提供 REST API 并服务前端。界面部分由 DaisyUI、Tailwind CSS、HTML、CSS 和原生 JavaScript 组成。
在编程辅助场景中,Qdrant 还可以作为组件知识库。项目示例将 DaisyUI 组件存入索引,使语言模型能够先查找相关代码片段,再参考已有内容生成前端代码;是否适合采用这种流程,需要结合团队的代码复用方式和知识库维护需求判断。
- Qdrant:向量搜索与存储
- SentenceTransformers:文本嵌入
- FastAPI:后端 API 与前端服务
- DaisyUI、Tailwind CSS 与原生 JavaScript:界面实现
这个项目只用于视频搜索吗?
项目核心示例是视频内容搜索,同时也展示了使用 Qdrant 保存和检索前端代码片段的编程辅助场景。
常见问题
使用时需要区分视频检索流程和代码知识库流程。视频检索依赖字幕提取、片段切分与向量化;代码检索则依赖 Qdrant 中已有的组件或代码条目。两者都需要先建立可供搜索的数据。
项目说明并不保证语言模型生成的代码可以直接运行,因此生成结果仍需要结合项目环境进行检查和调整。对于视频搜索,检索结果也应结合原始视频上下文理解,尤其是在讨论跨越多个片段时。
生成的代码能否直接使用?
不能据此保证。项目明确指出,语言模型生成的代码不一定能够开箱即用,使用前需要检查并根据实际环境调整。
处理过的视频还需要重新建立索引吗?
如果应用已经保存该视频的嵌入,就会使用已有嵌入而不重新处理。