我是产品经理,不会代码
所有程序代码均来自询问 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
挺有意思
|