
我是产品经理,不会代码
所有程序代码均来自询问 chatGPT ,官网示例,以及直觉。
总 build 时间,大约 2.5 小时。
程序具体功能:
1 、可指定程序从 YouTube 上下载一个视频的音频流,并将其保存在本地
2 、自动调用 OpenAI 的语音转文字 API 将音频转换为文字
3 、使用 OpenAI 的 Chat API ,基于对话历史生成回复,实现人机对话互动,比如觉得总结得太短,还可以继续提问,让他生成更长的总结,或者
实现效果:
测试来源视频:[https://www.youtube.com/watch?v=VCpNlcffl4w]

程序不完善:
1 、比如视频不能太长,不然会超过 chatgpt 的 token 限制 2 、没有 GUI 界面(尝试用 GPT 转换为 GUI 界面,但是只能达到输出总结的效果,无法继续连续回答,故放弃)
目的:发这个贴子,我主要想表达,即使缺乏编程技能,也可以通过利用现有的技术简化工作流程,提高生产力和效率。;
希望这个例子能给大家提供一些可能有的没的新思路。
import openai from pytube import YouTube # 设置 OpenAI API 密钥和模型 ID API_KEY = '你的 API_KEY' openai.api_key = API_KEY model_id = 'gpt-3.5-turbo' # 定义 ChatGPT_conversation 函数 def ChatGPT_conversation(conversation): # 使用 OpenAI 的 Chat API 生成回复 respOnse= openai.ChatCompletion.create( model=model_id, messages=conversation ) # 将回复添加到对话列表中 conversation.append({'role': response.choices[0].message.role, 'content': response.choices[0].message.content}) return conversation # 输入 YouTube 视频链接 video_link = "<https://www.youtube.com/watch?v=VCpNlcffl4w>" # 创建 YouTube 对象并获取音频流 yt = YouTube(video_link) audio_stream = yt.streams.filter(only_audio=True).first() # 下载音频 audio_file_path = audio_stream.download() # 使用 OpenAI 的语音转文字 API 将音频转换为文字 with open(audio_file_path, "rb") as file: transcription = openai.Audio.transcribe("whisper-1", file) text = str(transcription).encode('utf-8').decode('unicode_escape') print('转换文字成功') # 初始化对话列表,并将从音频中提取的文字作为系统发起的第一个对话 cOnversation= [] conversation.append({'role': 'system', 'content': '这段文字是来源于 youtube 的一个视频,请总结一下:' + text}) cOnversation= ChatGPT_conversation(conversation) print('{0}: {1}\n'.format(conversation[-1]['role'].strip(), conversation[-1]['content'].strip())) # 循环进行对话 while True: # 接收用户输入,并将其添加到对话列表中 prompt = input('User:') conversation.append({'role': 'user', 'content': prompt}) # 使用 OpenAI 的 Chat API 生成回复,并输出到控制台 cOnversation= ChatGPT_conversation(conversation) print('{0}: {1}\n'.format(conversation[-1]['role'].strip(), conversation[-1]['content'].strip())) 1 XiaoBaiYa OP 过程: 首先确定了自己的需求:总结 youtube 视频 因为有 4096 的 token 限制,所以我分为了三个模块来提问 1 、下载 youtube 视频,chatgpt 给我推荐了 pytube 2 、转换文字,这个采取了官方的 whisper 示例 3 、总结,这个就直接 chatgpt 就搞定了 最后再让 chatgpt 将三者结合,给我输出程序,中途还遇到一些 BUG 的地方,直接将输错错误结果发给 chatgpt,chatgpt 就会告诉我修改哪段代码来 debug 。 |
2 mengyang 2023-03-09 19:56:19 +08:00 挺有意思 |