【GenAI】使用GenAI堆栈构建视频分析和转录字幕聊天机器人

2024-09-10T13:11:32+08:00 | 5分钟阅读 | 更新于 2024-09-10T13:11:32+08:00

Macro Zhao

【GenAI】使用GenAI堆栈构建视频分析和转录字幕聊天机器人

@TOC

推荐超级课程:

视频中充满了有价值的信息,但通常需要工具来帮助查找。从寻求分析讲座和教程的教育机构到希望了解视频评论中客户情绪的企业,转录字幕和理解视频内容对于明智的决策和创新至关重要。最近,人工智能/机器学习技术的进步使这项任务比以往任何时候都更加易于实现。

借助Docker开发GenAI技术为从视频内容中解锁见解打开了无限的可能性。通过利用转录字幕、嵌入以及大型语言模型(LLMs),组织可以深入了解并利用视频等多样和原始数据做出明智的决策。

在本文中,我们将深入探讨一个利用GenAI堆栈 的视频转录字幕和聊天项目,以及由Docker提供的无缝集成,以简化视频内容的处理和理解。

高层架构

该应用程序的架构旨在促进视频内容的高效处理和分析,利用尖端人工智能技术和容器化实现可扩展性和灵活性。图1显示了一个架构概述,该架构使用Pinecone 存储和检索视频转录字幕的嵌入。

图1: 概要图表明用于处理和与视频数据交互的双组件系统。

该应用程序的高级服务架构包括以下内容:

  • yt-whisper:一个由Docker Compose 运行的本地服务,与远程OpenAI和Pinecone服务进行交互。Whisper 是由OpenAI开发的自动语音识别(ASR)系统,代表了在基于AI的语音处理方面的一个重大里程碑。Whisper在广泛数据集中训练,包括来自网络的680,000小时的多语言和多任务监督数据,表现出英语语音识别的出色鲁棒性和准确性。
  • Dockerbot:由Docker Compose运行的本地服务,与远程OpenAI和Pinecone服务进行交互。该服务获取用户的问题,计算相应的嵌入,然后在视频知识库中找到最相关的转录字幕内容。然后,转录字幕内容被呈现给一个LLM,该LLM接收转录字幕内容和问题,并尝试基于这些信息提供答案。
  • OpenAI: OpenAI API提供LLM服务,以其尖端的人工智能和机器学习技术而闻名。在本应用中,OpenAI的技术用于从音频生成转录字幕(使用Whisper模型)和为文本数据创建嵌入,同时根据用户查询(使用GPT和聊天完成)生成响应。
  • Pinecone: 一个为相似性搜索优化的向量数据库服务,用于构建和部署大规模向量搜索应用。在本应用中,Pinecone被用于存储和检索视频转录字幕的嵌入,从而实现基于用户查询的应用内高效和相关搜索功能。

入门指南

要开始使用,请完成以下步骤:

该应用程序是一个能够回答来自视频的问题的聊天机器人。此外,它提供的时间戳可以帮助您找到用于回答问题的源内容。

克隆存储库

接下来是克隆存储库:

git clone https://github.com/dockersamples/docker-genai.git

该项目包含以下目录和文件:

├── docker-genai/
│ ├── docker-bot/
│ ├── yt-whisper/
│ ├── .env.example
│ ├── .gitignore
│ ├── LICENSE
│ ├── README.md
│ └── docker-compose.yaml

指定您的API密钥

/docker-genai 目录中,创建一个名为 .env 的文本文件,并在其中指定您的API密钥。以下代码段显示了 .env.example 文件的内容,您可以参考它作为示例。

#-------------------------------------------------------------
# OpenAI
#-------------------------------------------------------------
OPENAI_TOKEN=your-api-key # 用您的个人API秘钥替换your-api-key
 
#-------------------------------------------------------------
# Pinecone
#--------------------------------------------------------------
PINECONE_TOKEN=your-api-key # 用您的个人API秘钥替换your-api-key

构建和运行应用程序

在终端中,切换到您的 docker-genai 目录并运行以下命令:

docker compose up --build

接下来,Docker Compose根据 docker-compose.yaml 文件中定义的服务构建和运行应用程序。应用程序运行时,您将在终端中看到两个服务的日志。

在日志中,您将看到服务暴露在 85038504端口上。这两个服务相互补充。

yt-whisper 服务运行在 8503端口上。此服务将视频传输至Pinecone数据库,您可在知识库中存档要保存的视频。下一节将探讨 yt-whisper 服务。

使用yt-whisper

yt-whisper 服务是一个YouTube视频处理服务,使用OpenAI Whisper模型生成视频转录字幕并将其存储在Pinecone数据库中。以下步骤概述了如何使用该服务。

在浏览器中打开并访问 yt-whisper 服务的 http://localhost:8503 。一旦应用程序出现,请在URL字段中指定YouTube视频URL并选择 Submit。图2显示的示例使用了David Cardozo的 一个视频

屏幕截图显示大卫·卡尔多佐关于“如何使用Visual Studio Code、Docker和Docker Hub开发ML交互GPU工作流程”的视频的处理内容示例,带有“下载转录字幕”选项

图2: 展示带有下载转录字幕选项的处理视频内容的Web界面。

提交视频

yt-whisper 服务会下载视频的音频,然后使用Whisper将其转录字幕为 WebVTT*.vtt)格式(您可以下载)。接下来,它使用“text-embedding-3-small”模型创建嵌入,最后将这些嵌入上传到Pinecone数据库。

视频处理完成后,网页应用程序中会显示视频列表,告知您哪些视频已在Pinecone中进行了索引。该页面还提供一个按钮以下载转录字幕。

访问Dockerbot聊天服务

现在,您可以在 8504端口上访问Dockerbot聊天服务,向其询问有关视频的问题,如图3所示。

用户向Dockerbot询问有关NVIDIA容器的问题,Dockerbot以视频中特定时间戳的链接作出回应的屏幕截图

图3: 用户向Dockerbot询问关于NVIDIA容器的问题,应用程序回复并提供视频中特定时间戳的链接。

结论

在本文中,我们探讨了GenAI技术与Docker集成,以解锁视频内容宝贵见解的激动人心潜力。它展示了如何将尖端AI模型如Whisper与高效的数据库解决方案如Pinecone相结合,使组织能够将原始视频数据转化为可操作的知识。

无论您是经验丰富的开发人员还是刚开始探索AI领域,提供的资源和代码都使您能够简单地开始自己的视频理解项目。

© 2011 - 2025 Macro Zhao的分享站

关于我

如遇到加载502错误,请尝试刷新😄

Hi,欢迎访问 Macro Zhao 的博客。Macro Zhao(或 Macro)是我在互联网上经常使用的名字。

我是一个热衷于技术探索和分享的IT工程师,在这里我会记录分享一些关于技术、工作和生活上的事情。

我的CSDN博客:
https://macro-zhao.blog.csdn.net/

欢迎你通过评论或者邮件与我交流。
Mail Me

推荐好玩(You'll Like)
  • AI 动·画
    • 这是一款有趣·免费的能让您画的画中的角色动起来的AI工具。
    • 支持几十种动作生成。
我的项目(My Projects)
  • 爱学习网

  • 小乙日语App

    • 这是一个帮助日语学习者学习日语的App。
      (当然初衷也是为了自用😄)
    • 界面干净,简洁,漂亮!
    • 其中包含 N1 + N2 的全部单词和语法。
    • 不需注册,更不需要订阅!完全免费!
  • 小乙日文阅读器

    • 词汇不够?照样能读日语名著!
    • 越读积累越多,积跬步致千里!
    • 哪里不会点哪里!妈妈再也不担心我读不了原版读物了!
赞助我(Sponsor Me)

如果你喜欢我的作品或者发现它们对你有所帮助,可以考虑给我买一杯咖啡 ☕️。这将激励我在未来创作和分享更多的项目和技术。🦾

👉 请我喝一杯咖啡

If you like my works or find them helpful, please consider buying me a cup of coffee ☕️. It inspires me to create and share more projects in the future. 🦾

👉 Buy me a coffee