用Python搭配OpenAI取得油管影片摘要

也许随着AI的持续发展,这个标题在未来真的可以实现,但并不是现在。

尽管ChatGPT的出现,让写程序的门槛大幅降低;但现在还是有不少ChatGPT无法解决,或是解决不好的问题。

这篇文章会用栗子让读者理解ChatGPT在写程序上的局限,以及适合使用的场景。

提醒大家,不要未经授权下载有版权保护的影片喔!

开发步骤:

STEP 1:安装相关Python 套件,pip install pytube pydub openai

STEP 2:建立一个ytb2txt.py的文件,贴上ChatGPT 的程序。

vi ytb2txt.py

from pytube import YouTube 
from pydub import AudioSegment 
import openai # 设定要下载的影片URLurl = "https://www.youtube.com/watch?v=JuntxVmi3wM" # 建立YouTube对象
yt = YouTube(url) # 取得影片的音轨
audio_stream = yt.streams. filter (only_audio= True ).first() # 下载音轨到指定的路径
audio_stream.download(output_path= "./save" , filename= "audio.mp3" ) # 读取下载下来的音频文件
audio_file = AudioSegment.from_file( "./audio.mp3" ) # 切割音频文件成多个小文件
chunk_size =100 * 1000   # 100 秒
chunks = [audio_file[i:i+chunk_size] for i in  range ( 0 , len (audio_file), chunk_size)] # 使用OpenAI 的Audio API 将每个小文件转成文字,然后合并在一起
openai.api_key = "YOUR_API_KEY"transcript = "" 
for chunk in chunks: with chunk.export( "temp.wav" , format = "wav" ) as f: result = openai.Audio.transcribe( "whisper-1" , f) transcript += result[ "text"]# 整理逐字稿
completion = openai.ChatCompletion.create( model= "gpt-3.5-turbo" ,    #用turbo可以省钱哦messages=[ { "role" : "user" , "content" : "使用简体中文阅读,帮我改错字、加标点符号,并分段使内容更通顺:\n" +transcript} ] 
) # 打印出整理后的文字
print (completion.choices[ 0 ].message.content)

STEP 3:在终端机输入python ytb2txt.py,然后稍等一段时间…就会看到成果啦!

表面上看起来整理得挺不错,但仔细看会发现结尾突然断掉了,这是为什么呢?

这边用OpenAI官方文件比较好说明,每个GPT模型都有自己的max_tokens,我们选用的 gpt-3.5-turbo 最高上限是4096。

https://platform.openai.com/docs/models/gpt-3.5

所以截断的原因就是我们的prompt太长了,所谓prompt长度就是我们传入的逐字稿长度。

而中文跟英文计算Token 的方式也不尽相同,如果使用英文,1000 个tokens 大约等于750 个单字;但如果使用中文,1000 个tokens 大约只有400 字。

https://platform.openai.com/tokenizer
上面是补充说明,让我们回到原本的话题,我们要如何让逐字稿完整的被整理,不要被截断呢?

最直觉的做法就是将逐字稿「分段」传送过去,4096 的token 换算成中文大约1600 字,我们保守一点,用「1200」的长度来做分割,下面是整理好的程序。

# 依照我们指定的长度分割字串
def  split_text ( text, max_length ): return [text[i:i+max_length] for i in  range ( 0 , len (text), max_length)] # 整理逐字稿
def  process_text ( text ): response = openai.ChatCompletion.create( model= "gpt-3.5-turbo" , messages=[ { "role" : "system" , "content" : "You are a helpful assistant." }, { "role" :"user" , "content" : "使用简体中文阅读,帮我改错字、加标点符号,并分段使内容更通顺:\n" +text} ] ) return response.choices[ 0 ].message.content # 处理长字串
def  process_long_text ( long_text ): text_list = split_text(long_text, 1200 ) processed_text_list = [process_text(text) for text in text_list] return  "" .join(processed_text_list) # 调用处理函数
processed_transcript = process_long_text(transcript) # 打印出处理后的逐字稿
print (processed_transcript)

在终端输入python python ytb2txt.py,就会看到被分段,并加上标点符号的成果啦!

运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/20606.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

灵遁者诗歌集《禅在禅中》序言篇:写诗激情已去

导读:我当然不能和ChatGPT比写诗歌,我不再渴望写诗歌了,激情褪去了。但《禅在禅中》我会坚持写完。 本文为灵遁者诗歌集《禅在禅中》序言篇: 我今天做了一个奇怪又真实的梦,大概是这样的,梦见有个小伙要跟…

【工作10年+的大厂资深架构师万字长文总结 精华收藏!】怎样设计高可用、高性能系统?关于高可用高性能系统架构和设计理论和经验总结...

本文从研发规范层面、应用服务层面、存储层面、产品层面、运维部署层面、异常应急层面这六大层面去剖析一个高可用的系统需要有哪些关键的设计和考虑. O、前言 随着业务在线化互联网化的高速发展,企业对核心业务系统的稳定性、可靠性、有效性、业务连续性等有了更高的要求。采…

IDEA 错误: 找不到或无法加载主类 解决方法

IDEA 错误: 找不到或无法加载主类 解决方法 一个技术渣渣 2019-03-18 19:07:13 82360 收藏 19 分类专栏: 应用 版权 在IDEA的使用过程中,经常断掉服务或者重启服务,最近断掉服务重启时突然遇到了一个启动报错: 错误&#xf…

大语言模型浅探一

目录 1 前言 2 GPT模型解码 3 InstructGPT 4 基于RWKV微调模型 4.1 RWKV简介 4.2 增量预训练 4.3 SFT微调 4.4 RM和PPO 5 测试 6 总结 1 前言 近来,人工智能异常火热,ChatGPT的出现极大的推动了自然语言处理的发展,在推出仅两个月…

全网多种方法解决com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure的问题

文章目录 1. 复现错误2. 分析错误3. 解决问题4. 解决该错误的其他方法 1. 复现错误 今天在使用knife4j,调用后端接口时,报出如下错误: 于是,赶紧查看控制台的错误信息,错误信息如下所示: com.mysql.cj.jdb…

网文作者:我太监了;GPT-3:我给你接上

晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI 你是否遇到过网络小说“断更”,或者是作者来一个“陨石遁”,你喜欢的小说就这样没了下文。 现在GPT-3可以治好这些作者的拖延症——以一种“高级代笔”的方式。 最近,一位叫做Liminal Warmth的…

总结了几百个ChatGPT模型的调教经验,确定不来看看?

目录 前言 chatgpt调教指南 提示词 1.清晰的问题或请求: 2.上下文设置: 3.具体的主题或领域: 4.陈述性问题: 5.追问和澄清: 6.限定问题范围: 角色扮演 充当 Linux 终端 担任产品经理 充当 SQL…

AI绘画-Midjourney基础1-突破想象的界限:掌握文本引导的图像生成技巧

Midjourney是一款 AI 绘画工具,可以根据你的提示(本文中称为 prompt)创作出各种图像。你只需要在Discord上和一个机器人聊天,就可以用简单的命令来控制它。目前已不支持免费试用,可以选择付费计划来获得更多功能和优势…

ChatGPT 与 Midjourney 强强联手,让先秦阿房宫重现辉煌!

Midjourney 是一款非常特殊的 AI 绘画聊天机器人,它并不是软件,也不用安装,而是直接搭载在 Discord 平台之上,所有的功能都是通过调用 Discord 的聊天机器人程序实现的。要想使用 Midjourney,只能进入他们的 Discord 服…

玩转ChatGPT:名单排序

一、写在前面 最近在文秘工作中,碰到一个名字排序的问题,大概的规则: (1)按照第一个汉字的首字母的英文单词排序,从A-Z; (2)若第一个字的首字母一致,则比较…

【NLP】ChatGPT 的议论文究竟写的怎么样?111 位高中教师告诉你答案

夕小瑶科技说 原创 作者 | 小戏、Python 在 OpenAI GPT-4 发布时发布的《GPT-4 Technical Report》中,其中很吸引人眼球的一部分是 GPT-4 应用于教育领域的出色表现,通过让 GPT-4 去完成美国的 AP 课程及考试,来评估 GPT-4 在多个学科中的性…

ChatGPT:在商业领域的广泛应用|小智AI

ChatGPT丨小智ai丨chatgpt丨人工智能丨OpenAI丨聊天机器人丨AI语音助手丨GPT-3.5丨OpenAI ChatGPT|GPT-4|GPT-3|人机对话|ChatGPT应用|小智ai|小智ai|小智ai|小智ai|小智AI|chatgpt小智AI 人工智能技术在商业领域的应用正日益普及,而ChatGPT作为下一代智能对话模型…

chatgpt赋能python:用Python办公自动化轻松完成繁琐重复的工作

用Python办公自动化轻松完成繁琐重复的工作 随着科技的进步,许多传统工作已经被自动化取代。而在许多职业中,办公自动化通常被认为是节省时间和减少错误的最佳方法。对于那些使用Microsoft Office,例如Excel、Word和PowerPoint等应用程序的用…

基于用户评论情感分析详细设计与技术实现

基于用户评论情感分析详细设计与技术实现 文章目录 基于用户评论情感分析详细设计与技术实现前言一、技术架构二、分析服务器构建1.1 创建flask项目1.2 编写数据库连接脚本,获取用户评论数据;1.2.1 引入库1.2.2 连接数据库获取数据1.2.3 测试 1.3 编写情…

情感分析的分类,情感分析模型有哪些,情感分析的应用场景,情感分析的发展趋势

1.情感分析的分类: (1)基于情感极性的分类:将文本的情感分为正向、负向和中性三类。 (2)基于情感维度的分类:将文本的情感分为喜欢、愤怒、悲伤、惊喜等多个情感维度。 2.情感分析模型&#x…

基于Twitter数据的情感预测与案例分析

导读 本次分享的是关于文本分析中的情感预测分析和主题分析的一个小科研项目,数据爬取自Twitter,主要内容分为3部分: 1.情感预测机器学习模型选择及建立 2.情感预测深度学习模型LSTM的介绍和建立 3.主题分析模型简介 01 # 情感预测机器学习…

CDGP认证|ChatGPT的出现,对数据治理行业冲击如何?

ChatGPT的出现对数据治理有很多好处,其中最明显的是提供了更高效、更准确和更自动化的数据处理和分析服务,可以帮助企业和组织更好地管理和利用数据资源,提高数据质量和决策效率。此外,ChatGPT还能够发现隐藏在大量数据中的信息和趋势&#x…

chatgpt赋能python:Python报错大全

Python报错大全 作为Python程序员,报错是我们经常遇到的一件事情。报错可以帮助我们定位和解决问题,但有时候错误信息并不直观,所以我们需要查找信息来帮助我们解决问题。在这篇文章中,我们将介绍常见的Python报错以及如何解决它…

GitHub开源神器,已获3k star!让你的 ChatGPT 不再报错!感受丝滑般体验!

点击上方“Github爱好者社区”,选择星标 回复“资料”,获取小编整理的一份资料 作者:GG哥 来源:GitHub爱好者社区(github_shequ) 这是GitHub爱好者社区第 71 篇原创文章 Hello,大家好&#xff0…

登高望远,一文解答 2023 年你最关心的前端热点问题

动手点关注 干货不迷路 本文预计阅读 25 min,建议先收藏后观看~ 一、刀光剑影的 2022 时光荏苒,这绝不平淡的 2022 年已经走上历史的黄页,新的一年也逐渐看不到故人回首的光影。感谢你对前端技术领域持续关注,我们一直在这里等你。…