LLM
Avatar
硬件
多模态
视频
RAG
音频
音乐
Infra
图像
机器人
📹人工智能视频搜索引擎 (AVSE)
type
status
slug
summary
tags
category
icon
password
Date
由最新 AI 工具驱动的视频搜索引擎
为什么?
随着 TikTok 和 Youtube 等短格式内容的兴起。视频中包含的知识比以往任何时候都多。对于任何一个人来说,在数百万个视频中找到具体答案都是很困难的。所以问题是,如果谷歌可以为网站上的文本建立索引,以便根据您的问题的上下文更容易找到答案,为什么没有谷歌为视频内容建立索引,以便用户更容易在其中找到答案。
所以我构建了这个来展示利用现有的技术和基础设施来实现这一点是非常有可能的。
技术堆栈
- Supbase (PostgreSQL、PG_Vector、Auth)
- Hasura(GraphQL 层、权限)
- Fly (Hasura 主办)
- JigsawStack(摘要 AI、聊天 AI)
- Vercel(NextJS 托管,无服务器功能)
怎么运行的?
视频存储
- 视频转录是从 YouTube 视频中提取的
- 根据https://huggingface.co/Supabase/gte-small
尺寸大小,转录内容与时间戳一起分块
- 使用 pg_vector 扩展和索引存储在 postgres DB 中
搜索
- 根据问题在数据库中进行向量余弦搜索以返回相关结果
- 结果中的每个视频将执行第二次搜索,以查找与问题相关的视频块
- 这些块将被映射回带时间戳的转录本以播放视频的相关剪辑
摘要与聊天
- 视频转录将发送至 JigsawStack API,以要点形式和文本形式进行总结
- 聊天会话将由 JigsawStack API 创建和管理,视频的相关部分将根据问题发送到聊天会话
自己举办活动的注意事项
- 如果您计划索引数千到数百万个视频,则需要一个付费 Supabase 和 Fly.io 帐户
admin/config/fly.toml
包括部署 Hasura 飞行所需的配置
admin/migration
您可以使用迁移转储通过 Hasura CLI 重新创建架构
hasura init migration --endpoint <hasuraurl.fly.app> --admin-secret <admin_secret>admin
更新迁移文件夹
admin/indexChannelVideos.ts
使用 YouTube 频道在本地索引大量视频的脚本
.env.example
运行项目所需的密钥
常问问题
YouTube 不这样做吗?
- 事实并非如此,Youtube 不会搜索视频的转录音频,而是依靠上传者的书面内容,例如标题、描述、标签。而所有音频内容都未编入索引。
这个堆栈如何处理数百万个视频?
- 当前设置可以处理数百万,但可能无法处理数十亿/万亿。这需要更多副本、实例,尤其是 $
下一步是什么?
- 添加 TikTok 作为视频源
- 显著提高查询性能
- 查看所有活跃聊天的页面
ai-video-search-engine
yoeven • Updated May 20, 2024