whisper API 、ChatGPT API 使って、youtubeそのまま翻訳
SHOGAKU
2年前
盛り上がってるのでwhisper API 、ChatGPT API 使って、youtube翻訳そのまま楽しようと思ったけど、gpt-3.5-turbo というのは文字数制限引っかかったのか (4096 token ?) 最後まで日本語が行かず。
まあよく分からず使ったので勉強します、なのだが、
とりあえず、短い動画で実施した備忘録を書く
以下動画を翻訳。
pytubeとopenaiという2つのパッケージをインストール
ここでは、pytubeとopenaiという2つのパッケージをインストールしています。pytubeは、YouTube動画をダウンロードするためのパッケージであり、openaiはOpenAI APIを使うためのパッケージです
!pip install pytube
!pip install openai
YouTubeの動画をダウンロードします
YouTubeの動画をダウンロードします。以下のコードを使用して、youtube_url変数に指定されたURLから音声をダウンロードします。
from pytube import YouTube
youtube_url = "https://www.youtube.com/watch?v=wEQaG4xMMiw"
# YouTubeの動画をダウンロード
yt = YouTube(youtube_url)
yt.streams.filter(only_audio=True).first().download()
結果、
/content/Welcome to the Sodium Launch Event.mp4
これを次で使う
OpenAIのAudio APIを使用して、ダウンロードした音声ファイルをテキストに変換
OpenAIのAudio APIを使用して、ダウンロードした音声ファイルをテキストに変換します。以下のコードを使用して、OpenAI APIを使用してテキストを取得することができます。
import openai
# APIキーを設定
openai.api_key = "Your API Key"
# 音声ファイルを読み込む
audio_file = open("/content/Welcome to the Sodium Launch Event.mp4", "rb")
# OpenAI APIを使用してテキストに変換する
transcript = openai.Audio.transcribe("whisper-1", file=audio_file)
最後に、文字起こしの結果を表示します
print(transcript["text"])
結果
ChatGPT API 日本語へ
import openai
# 推論
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "あなたは日本語を英語に翻訳するアシスタントです。"},
{"role": "user", "content": '以下の日本語のテキストを英語に翻訳してください: “{0}"'.format(transcript["text"])}
]
)
print(response["choices"][0]["message"]["content"])
結果、
データ確認用
翻訳結果を整形して出力する
import json
print(json.dumps(response, indent=2, ensure_ascii=False))
Jupyter NotebookやGoogle Colab上で直接表示する方法。
from IPython.display import display, Markdown
display(Markdown("## Transcript:\n{0}\n".format(transcript["text"])))
display(Markdown("## Response:\n{0}\n".format(response["choices"][0]["message"]["content"])))
結果、
良い感じ
料金はトライアル18ドルで実施中、まだ確認してない。
コメント
いいね
投げ銭
最新順
人気順
コメント
いいね
投げ銭
最新順
人気順