

哔哩哔哩浏览器 AI 助手:bilibili subtitle
source link: https://soulteary.com/2024/01/10/bilibili-browser-ai-assistant-bilibili-subtitle.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

哔哩哔哩浏览器 AI 助手:bilibili subtitle
分享一个好用不火的浏览器插件,能够让我们在浏览 B 站视频的时候体验更棒。
B 站视频时间越来越长的今天,在打开视频的时候,如果能够清晰直观的看到视频字幕,当我们点击带有时间轴的字幕就能够一键跳转到自己想看的视频“空降坐标”,在观看视频的时候就能够跳过无聊的部分。
并且,如果我们能够在打开视频的时候,就能够知道这个视频的主旨到底是什么、视频大概可以形成几个分段,每个分段都讲什么,以及这个视频的主要观点是什么,是不是就可以和我们看书一样,有目的的去看,得到更好的吸收效果了呢?
上面这些不符合 B 站运营 KPI 的功能,显然不是 B 站官方会推出的产品,好在开源项目 IndieKKY/bilibili-subtitle 替我们做了偷懒的工作,上面的功能它都有。
不过想要使用它,需要有 OpenAI API 接口,这就是为什么工具很好用,但是用户不多的根本原因。
还记得昨天文章《Amazing OpenAI API:把非 OpenAI 模型都按 OpenAI API 调用》提到的另外一个开源小工具 AOA
嘛,如果你把这两个小工具连接在一起,这个使用阻碍就消失了。
相比较 OpenAI API,Azure OpenAI API 的获取难度低很多,而且我们还可以用之前霸榜多时的国产模型 Yi-34B-Chat API (需要进入社区填表申请)来提供相同的体验,如果你有 Google Developer 账号,用 Gemini Pro 来做 “backend” 也是一件靠谱的事情。
毕竟后者们目前都是免费的,但是就这个场景来说,性能完全不打折扣,偶尔还会超出预期。
下面聊聊怎么玩起来。
准备工作一共分为两步:准备 “API”、安装插件。
准备 “OpenAI API”
如果你已经有 OpenAI API,那么你可以跳过这步,包括各种 OpenAI API 的套壳搬运服务。
如果你没有上述来源的 OpenAI API,但是公司或个人有 Azure OpenAI API 的资源,或者你在 Yi 模型社区申请到了 API 接口,在 Google Developer 生成了 Gemini Pro API 的话,可以参考《Amazing OpenAI API:把非 OpenAI 模型都按 OpenAI API 调用》文章中的方法,分分钟你就能获得一个能够当 “OpenAI API” 调用的 API 啦。
本文中,我们以中文能力非常不错的 Yi-34B-Chat API 为例子:
version: "3"
services:
amazing-openai-api:
image: soulteary/amazing-openai-api:v0.6.1
restart: always
ports:
- 8080:8080
environment:
# 设置工作模型为 YI
- AOA_TYPE=yi
# 设置 YI API 服务器地址
- YI_ENDPOINT=<修改为你申请或搭建的服务地址>
# 设置 YI API Key
- YI_API_KEY=<修改为你的API KEY>
# 模型名称映射,比如将请求中的 GPT 3.5 Turbo,GPT-4 都映射为 yi-34b-chat
- YI_MODEL_ALIAS=gpt-3.5-turbo:yi-34b-chat,gpt-4:yi-34b-chat
logging:
options:
max-size: 1m
在申请 API 之后,我们将上面的内容进行合适的调整,然后将保存为 docker-compose.yml
,然后可以在笔记本或者服务器,甚至 NAS 里用 docker compose up -d
将工具以容器的方式跑起来。
如果你是本地运行,那么我们的 “OpenAI API” 地址就是 http://localhost:8080/
,如果你是在服务器或者 NAS 运行,那么替换为设备的 IP 地址即可,类似:http://192.168.1.123:8080/
。
如果你的 8080
端口不方便使用,修改上面配置中的 8080:8080
为 9090:8080
,实际的端口地址就变成 9090
了,是不是十分简单。
安装浏览器插件
插件目前支持三种浏览器:Chrome(Chrome 应用商店)、IE Edge(浏览器加载项)、Firefox(ADD-ONS 扩展),使用你常用的浏览器,打开各自的商店网页地址,点击一键安装即可。
安装完毕,B 站视频页面的右侧,原版弹幕列表上便多出了一个“字幕模块”。
当我们点击“点击生成”按钮时,插件会跳转到配置页面。

我们将上文中我们折腾好的兼容的 OpenAI API 填进来,然后点击保存按钮。接着,在刚刚的界面再次点击“点击生成”,等待 AI 帮助我们先把视频看一遍。
我一般会同时点击“总结”、“概览”、“要点”三个 Tab 的“点击生成”,这样可以更快的看到三个不同维度的摘要总结。
插件会将视频按照一定字数进行分段(可以设置),所以我们可以使用 AI 针对每一段进行详细的内容分析。
点击“生成”后,稍等片刻,我们将看到类似下面的结果:

在“概览”页面,我们不光是能够点击下面带有时间轴的字幕,跳转到具体的视频时刻,还能够从上面 AI 自动拆分的内容分段开始看,跳过不感兴趣的环节。

在“总结”页面,我们能够一目了然的了解视频的前几分钟到底讲了什么。视频内容有没有用,一目了然。

在“要点”页面,我们能够一键提取分段内的主要观点。带着作者要传达给我们的内容,再次看视频,理解或许会有不同。
当然,如果你更喜欢看文章,也可以将“列表视图”切换为“文章视图”:

有的时候,视频里的信息量还是蛮多的,我们想根据记忆去检索一些内容,那么可以在字幕搜索栏,输入我们想搜索的内容:

当然,如果你对于软件默认的设置不是很满意,可以点击字幕列表后非常隐蔽的“设置按钮”,再次打开设置页面,进行更符合你的设置调整。
这个插件能够工作的核心,是有三段很不错的 Prompt (提示词)。我们深入 Prompt,来看看为什么插件能够通过 AI 模型做到上面的 B 站没有做到的产品功能。
首先是将视频分章节,生成带有时间轴的要点:
You are a helpful assistant that summarize key points of video subtitle.
Summarize 3 to 8 brief key points in language '中文简体'.
Answer in markdown json format.
The emoji should be related to the key point and 1 char length.
example output format:
`json
[
{
"time": "03:00",
"emoji": "👍",
"key": "key point 1"
},
{
"time": "10:05",
"emoji": "😊",
"key": "key point 2"
}
]
`
The video's title: '''【毕导】从博士到教授到院士,中国科研的打怪升级之路'''.
The video's subtitles:
'''
00:00 小时候我的理想是当科学家
00:02 长大后爸妈希望我做个大学老师
00:04 后来我才知道这俩其实是一件事儿
00:06 就是走上科研道路
00:08 你以为搞科研的人是这样帅
00:11 学识渊博
00:12 温文尔雅
00:13 没有复杂的人际社交
00:14 没有灵魂催眠的卵
00:16 一壶茶
00:17 一边文献看一天
00:18 开局就是老板一帮学生给你打工
00:21 饿了吃便宜的食堂
00:22 闷了出国参加学术会议
00:24 每年还有寒暑假
...【其他时间轴内容】
'''
接着,是对视频进行摘要总结。
You are a helpful assistant that summarize video subtitle.
Summarize in language '中文简体'.
Answer in markdown json format.
example output format:
`json
{
"summary": "brief summary"
}
`
The video's title: '''【毕导】从博士到教授到院士,中国科研的打怪升级之路'''.
The video's subtitles:
'
小时候我的理想是当科学家,长大后爸妈希望我做个大学老师,后来我才知道这俩其实是一件事儿,就是走上科研道路,你以为搞科研的人是这样帅,...【时间分片内的所有内容】
'
以及,输出视频的主要观点:
You are a helpful assistant that summarize key points of video subtitle.
Summarize brief key points in language '中文简体'.
Answer in markdown json format.
example output format:
`json
[
"key point 1",
"key point 2"
]
`
The video's title: '''【毕导】从博士到教授到院士,中国科研的打怪升级之路'''.
The video's subtitles:
'
小时候我的理想是当科学家,长大后爸妈希望我做个大学老师,后来我才知道这俩其实是一件事儿,就是走上科研道路,你以为搞科研的人是这样帅...
'
能够看出,作者使用了模型使用的几个小技巧:
- 尽量使用英文进行交互,清楚描述自己的需求。
- 在使用模型的时候,给模型先设定一个身份角色,擅长什么。
- 给出必要的格式参考示例。
- 最后给出要处理的数据。
说起来,B 站也并非毫无动作,比较早的时候就推出了 “AI 视频总结”,但是相比较用户视角的开源软件,总感觉还是太“克制”了。
好啦,这篇文章就先写到这里,我们下篇文章见。
Recommend
-
35
程序员 - @sufaith -
-
38
视频去哪了呢?_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili啊叻?视频不见了?视频内容已被UP主删除...
-
20
视频去哪了呢?_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili啊叻?视频不见了?
-
8
活动作品床378.6万播放 · 1.8万弹幕2021-04-30 04:19:31 全站排行榜最高第5名 ...
-
24
维特斯坦的语言游戏,对理解DDD上下文和统一语言的理论有帮助作用。点击图片见视频 ...
-
37
仓库 https://github.com/SuperNG6/docker-bilibili-helper https://hub.docker.com/r/superng6/bilibili-helper/tags 依赖准备 Docker和Docker compose 自己装好 配置准备 从Cookie中获取,别问我Cookie怎么玩,早期教程自己翻 DEDEUS...
-
10
视频去哪了呢?_哔哩哔哩_bilibili 登录bilibili,享受更多权益! 免费看高清视频多端同步播放记录发表弹幕/评论热门番剧影视看不停
-
8
椰子_哔哩哔哩_bilibili活动作品椰子149.0万播放 · 总弹幕数25122022-02-04 07:23:47 全站排行榜最高第60名 ...
-
9
寄_哔哩哔哩_bilibili活动作品寄333.0万播放 · 总弹幕数19202022-02-15 04:10:03 全站排行榜最高第1名 ...
-
11
bilibili-plugin 哔哩哔哩插件姬 此程序用于B站直播间,核心功能包括但不限于: 偷窥直播间: 可实时监控指定直播间的版聊情...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK