使用 Claude-3 和 Lightning AI 将任何 YouTube 视频转换为博客文章

更新时间:2024/08/16, 09:58

2月20日,Karpathy发布了一部详尽的 YouTube 视频,从头开始构建 GPT-3 Tokenizer。

将2小时13分钟视频 转换为 博客文章(包含截图和代码)使用 Claude 3 Opus

3月4日,Emmanuel AmeisenErik Schluntz 接受了 Karpathy 的挑战,将视频转换为博客与大语言模型,并使用 Claude-3 将同一 GPT-3 Tokenizer 视频制作成了一篇博客。

-> 在这里找到博客。

在 X 上的帖子链接


今天,我将进一步迈出这一步。

我正在与 Lightning AI 合作,帮助人们通过 Lightning Studios 从任何 YouTube 视频创建内容生成机器!

开始吧!在下方创建您自己的 ↓

使用 Claude-3 创建任何视频到文本大语言模型 - 由 cvetkotim 的 Lightning Studio


本文您将学到以下内容:

  1. 如何使用 PyTube 和 Claude-3 提取任何 YouTube 视频的文本 - 完整代码实现

  2. 如何无缝构建任何语音到文本大语言模型产品,并大幅增加内容


P1:好的,给我看看这个东西是如何工作的!

这个notebook提供了一个基准,以重现 Claude-3 对 Karpathy 的视频教程转换为博客文章的解决方案。

视频到博客的工作流程


好的,这是逐步的工作方式:

  1. 获取 Claude-3 的 API 密钥并初始化 Anthropic 客户端

  2. 下载 YouTube 视频和转录

  3. 初始化 Whisper 模型进行语音到文本转换

  4. 将视频分割为文本 + 截图对

  5. 应用 Claude-3 填充博客内容


步骤 1:获取 Claude-3 的 API 密钥并初始化 Anthropic 客户端

从 Anthropic AI 的官方网站获取 API 密钥,以使用三个可用模型之一运行演示。

作者提供的图片:使用 API 密钥初始化

步骤 2:下载 YouTube 视频和转录

使用 Python 中的 YT 的 pytube 库,我们将首先下载视频以及我们稍后将需要的音频流 Whisper。

作者提供的图片:下载 YouTube 视频和转录

步骤 3:初始化 Whisper 模型进行语音到文本转换

我们从 faster_whisper import WhisperModel 导入 WhisperModel 来将 YT 视频的内容转录为文本段。

初始化 Whisper 模型进行语音到文本转换


步骤 4:将视频分割为文本 + 截图对

这里是不那么有趣的部分。我们需要从 pytube + Whisper 分别加载视频和文本。为此,我们应该通过视频章节来最好地完成视频的分割。

作者提供的图片:按章节划分视频

步骤 5:应用 Claude-3 填充博客内容

哈!很酷。现在,我们可以将任何 YouTube 视频分割为包含视频和文本的章节,并且我们可以对其应用大语言模型语义。让我们首先看一下 Claude-3 模型的提示。

prompt_instructions = f"""
<instructions>
您已经收到了不同时间戳的视频图像,后跟 <transcript> 中的音频转录
转录是由 AI 语音识别工具生成的,可能包含一些错误/不通顺
您的任务是将转录转换为一个 markdown 博客文章
这个转录很嘈杂。请根据以下准则重写它:
- 输出有效的 markdown
- 在适当的地方插入章节标题和其他格式
- 您只收到了转录的一部分,所以不要包括引言或结论段落。只包括转录中讨论的主要主题
- 使用样式使图像、文本、代码、引用和页面布局和边距看起来像典型的博客文章或教科书
- 删除任何口头习惯用语
- 如果有冗余信息,请只呈现一次
- 保持对话内容以转录的风格。包括标题以使叙述结构更易于跟随
- 转录包含太多图像,因此您应该只包括最重要的 1-2 张图像在您的输出中
- 选择提供与转录相关的插图
- 更喜欢包含显示完整代码的图像,而不是正在进行中的代码
- 在相关时转录重要的代码片段和其他有价值的文本
- 如果图像有助于说明转录的某个部分,请包含它
- 要包含图像,请插入一个标签,其中包含 <img src="xxxxx.jpg"/>,其中 xxxxx 被上面插入的确切图像时间戳替换
- 不要添加任何多余的信息:只包括转录或图像中提到的内容

您的最终输出应适合包含在教科书中。
</instructions>
"""

最终应用于每个片段的循环迭代如下。

作者提供的图片:对片段的最终循环

... 这让我们得到了类似下面这样的博客文章。太酷了!

作者提供的图片:只是一张截图!

构建任何视频到文本大语言模型产品

好的,好的。拥有能够:

  1. 以任何 YouTube 视频为输入

  2. 创建章节列表

  3. 应用 Claude-3 创建 Markdown

... 真是太棒了。而且还是自动的。

那么,如何从这里构建任何视频到文本大语言模型产品呢?简单!您改变提示。


如果是博客,为什么不是内容?这是如何实现的:

我们将使用提示工程来使用 AI 自动创建任何内容。这是我们创建博客的初始提示。

    prompt_instructions = f"""
    <instructions>
    您已经收到了不同时间戳的视频图像,后跟 <transcript> 中的音频转录
    转录是由 AI 语音识别工具生成的,可能包含一些错误/不通顺
    您的任务是将转录转换为一个 markdown 博客文章
    这个转录很嘈杂。您的任务是创建有效的 Twitter/LinkedIn 帖子,不超过 200 个字符。简短的快速句子和学习。
    - 输出有效的 markdown
    - 在适当的地方插入章节标题和其他格式
    - 您只收到了转录的一部分,所以不要包括引言或结论段落。只包括转录中讨论的主要主题
    - 使用样式使图像、文本、代码、引用和页面布局和边距看起来像典型的博客文章或教科书
    - 删除任何口头习惯用语
    - 如果有冗余信息,请只呈现一次
    - 保持对话内容以转录的风格。包括标题以使叙述结构更易于跟随
    - 选择提供与转录相关的插图
    - 更喜欢包含显示完整代码的图像,而不是正在进行中的代码
    - 在相关时转录重要的代码片段和其他有价值的文本
    - 不要添加任何多余的信息:只包括转录或图像中提到的内容

    您的最终输出应适合包含在教科书中。
    </instructions>
    """

让我们调整这个提示,直接从 YouTube 视频中产生内容。

  prompt_instructions = f"""
    <instructions>
    您已经收到了不同时间戳的视频图像,后跟 <transcript> 中的音频转录
    转录是由 AI 语音识别工具生成的,可能包含一些错误/不通顺
    这个转录很嘈杂。您的任务是创建有效的 Twitter/LinkedIn 帖子,不超过 200 个字符。简短的快速句子和学习。
    - 输出有效的 markdown
    - 在适当的地方插入章节标题和其他格式
    - 您只收到了转录的一部分,所以不要包括引言或结论段落。只包括转录中讨论的主要主题
    - 使用样式使图像、文本、代码、引用和页面布局和边距看起来像典型的博客文章或教科书
    - 删除任何口头习惯用语
    - 如果有冗余信息,请只呈现一次
    - 保持对话内容以转录的风格。包括标题以使叙述结构更易于跟随
    - 选择提供与转录相关的插图
    - 更喜欢包含显示完整代码的图像,而不是正在进行中的代码
    - 在相关时转录重要的代码片段和其他有价值的文本
    - 不要添加任何多余的信息:只包括转录或图像中提到的内容

    您的最终输出应适合包含在教科书中。
    </instructions>
    """

例如,我插入了这个来自 20VC 的视频:


嗯,得到了以下内容:(205行纯智慧)!

-> 查看这里

作者:Claude-3 创建的 blogpost.md 图片


总结 ...

  1. 我向您展示了如何将任何 YouTube 视频作为输入,进行一些处理,并应用 Claude-3(或任何其他大语言模型)来创建内容。

  2. 由于 Lightning AI,您可以通过以下方式实现:

  • Claude-3获取 API 密钥

  • 在 Studio 中点击打开

  • 从 main.py 运行 Streamlit 应用程序并尝试使用

AI奇想空间
AI奇想空间
https://aimazing.site
AI惊奇站是一个汇聚人工智能工具、资源和教程的导航网站。 在这里,你可以发现最新的AI技术、工具和应用,学习如何使用各种AI平台和框架,获取丰富的AI资源。 欢迎广大AI爱好者加入我们的社区,开启你的AI之旅!
AI交流群
Copyright © 2024 AI奇想空间.微信