大模型预言(LLM)可以帮我们做很多事情,有很多有趣的玩法值得探索。本期笔者将带领大家使用 Node.js + AssemblyAI + ChatGPT 总结视频内容。
步骤 1 - 转录音视频为文本
AssemblyAI 是一家专注于语音 AI 模型的公司,用于识别、理解和处理人类语音服务。2023 年第还融到了 5000 万美元,将重点打造超人语音 AI 模型。
它们提供了 Node.js 版本的 SDK assemblyai,使用 TS 编写的,用于与 AssemblyAI API 交互,使用起来超级简单,该 API 支持异步和实时转录以及最新的 LeMUR 模型。下图为 NPM 中的截图,可看到周下载量在逐渐上升。
图片
安装 Node.js、创建一个项目并安装 assemblyai 依赖
mkdir ai-video-summarization
cd ai-video-summarization
npm init -y
npm i assemblyai -S
我们将使用 ES Modules 语法而不是 CommonJS,注意 package.json 中的 type 应设为 module。
// package.json
{
...
"type": "module",
...
}
因为需要调用大模型 API 接口,需要提前在 https://www.assemblyai.com/app/account 页面中准备好 API Key 信息,提供了免费使用额度。
图片
使用方法很简单,可以传输本地的视频,也可以指定远程 URL 地址。
import { AssemblyAI } from 'assemblyai'
import fsPromises from 'fs/promises'
const client = new AssemblyAI({
apiKey: process.env.ASSEMBLYAI_API_KEY,
})
const run = async () => {
try {
const config = {
audio: await fsPromises.readFile('/*这里替换为你的视频地址*/videos/ai-ipad.mp4'),
// audio_url: 'https://storage.googleapis.com/aai-web-samples/5_common_sports_injuries.mp3'
// language_code: 'zh',
}
const transcript = await client.transcripts.transcribe(config)
console.log(transcript.text)
} catch (err) {
console.error('error ', err)
}
}
run()
示例中用的这个视频为 “AI 加持的 iPad,通过手写数学表达式即可解出答案”
运行 ASSEMBLYAI_API_KEY="你的 API Key 信息" node script.js 命令,生成的文本信息如下所示,准确性还可以,因为这个视频相对短些,长一点的还没有试过!
图片
生成文本信息时是支持多语言翻译的,有个 language_code 参数设置为 'zh' 即可,但是返回的结果看起来为繁体。
图片
第一步提取视频中的文本信息到这里就完成了。
步骤 2 - 总结视频内容
第二步为总结提出的文本信息。一种方法是使用 AssemblyAI 提供的 LeMUR(LLM 提示音视频框架)自动对其进行总结。
以下是 copy 的官方文档的一个 Demo,你可以告诉 LeMUR 你期望的格式是什么,还有一些上下文信息。
const { response } = await client.lemur.task({
transcript_ids: [transcript.id],
prompt: `Summarize the episode using the following format:
**<topic header>**
<topic summary>
`,
context: "An episode of the Lex Fridman podcast, in which he speaks with Guido van Rossum, the creator of the Python programming language"
});
console.log("LeMUR response", response);
但是这个 API 是收费的,没有提供免费的尝试额度。
ChatGPT 的 GPT4o 模型现在也很好用啊,并且还是免费的,如果想做一些总结了,可以借助 ChatGPT 在做一个总结。如下所示:
第一次总结:
图片
第二次更简短的总结:
图片
关于 AssemblyAI 的更多用法可参考 API 文档 https://www.assemblyai.com/docs,欢迎关注编程界,探索更多 AI 使用技巧!