paint-brush
チュートリアル: AI を使って YouTube 動画を Twitter スレッドに変換する方法@aaronkow
514 測定値
514 測定値

チュートリアル: AI を使って YouTube 動画を Twitter スレッドに変換する方法

Aaron Kow5m2024/10/01
Read on Terminal Reader

長すぎる; 読むには

このチュートリアルでは、YouTube 動画をシームレスにツイートに変換できるようになります。
featured image - チュートリアル: AI を使って YouTube 動画を Twitter スレッドに変換する方法
Aaron Kow HackerNoon profile picture
0-item
1-item

AI の時代に入り、あらゆるものが前例のないスピードで加速しているようです。生成あれこれ、あらゆるところにデータ過多。皆さんは既に大量の情報で精神的に疲れていると思いますので、本題に入りましょう。


私がやりたいこと:

YouTube 動画 → 一口サイズの情報 → 学習 ✨ + ソーシャルメディアでの共有 🐦


… それでおしまい …


この AI 競争では、すべてがスピードに関するものです。AI を活用して学習を加速できるのであれば、なぜそうしないのでしょうか。家族、友人、フォロワー、またはインフルエンサーとして、ぜひこれを共有してください。

結果:

リポジトリ: https://github.com/WorkSmarter-lol/yt2tweets-cli/


CLIツールはYouTubeのURLを受け取り、それをツイートに変換します


免責事項:


このチュートリアルは英語字幕付きの YouTube 動画にのみ適用され、YouTube Shorts には適用されません。


プロセス

0. 前提知識:

始める前に、 LangChain.jsPrompt EngineeringOpenAI モデルがどのように機能するかについて基本的な知識を身に付けることが重要です。

1. 前提となるツール:


私の場合、開発を開始するために yarn を使用しています。スクリプトをテストするためのクイックスタートとして、CLI を使用して簡単な MVP を実行し、プロジェクトを試しました。

2. CLIの名前の選択

簡単に参照でき、わかりやすい名前を付けるために、私はそれを「 yt2tweets 」と名付けました。これは基本的に「 YouTube to Tweets 」を意味します。

3. 望ましい出力

$ yt2tweets "https://youtu.be/1-TZqOsVCNM" # Result: # Tweet 1: Introduction ... 🧵👇 (1/X) # Tweet 2: ... 🧵 (2/X) # Tweet 3: ... 🧵 (3/X) # Tweet 4: ... 🧵 (4/X) # Tweet 5: Conclusion ... 🧵 (5/X)


理想的には、AI モデル (この場合は GPT-4o-mini) のコンテキストとしてトランスクリプトを提供して、AI モデルがコンテキストを理解し、指定した出力形式で入力を要約できるようにする必要があります。

4. プロンプトデザイン

物事をうまく機能させるための秘密のソース✨がここにあります。プロンプトエンジニアリングは、仕事を完了するために必要なコアスキルです。

CLI が YouTube 動画を Twitter/X スレッドに変換する方法をカスタマイズするには、私が定義したシンプルで簡単な 3 ステップの設定に従ってください。トーン、長さ、スタイルをニーズに合わせて調整できます。AI をガイドするには、以下の挿入ブロックに従って、スムーズな構成プロセスを実行してください。

アイデンティティと目的

アイデンティティと目的のブロックを使用して、AI の役割と目標を設定します。AI の機能と目的を定義して、ニーズと望ましい結果に一致するコンテンツが確実に生成されるようにします。

手順

AI が実行するステップごとのアクションを定義し、コンテンツを生成するための明確で構造化されたアプローチを確保します。

出力形式

AI がコンテンツを配信する形式を指定します。


例は以下のとおりです。

 import { ChatPromptTemplate } from '@langchain/core/prompts'; const prompt = ChatPromptTemplate.fromMessages([ { role: 'system', content: ` # IDENTITY AND PURPOSE {identity} # STEPS {steps} # OUTPUT INSTRUCTIONS {formats} # INPUT INPUT: {input} `, }, ]);


{input}は、GPT が要約を行うためのすべてのトランスクリプトを入力する場所です。

プロンプトの追加方法については、こちらを参照してください。例を以下に示します。


Yt2Tweets で使用されるプロンプトの例


5. すべてをまとめる

最後に、これを実行するには、 @langchain/openaiインストールし、OpenAI API キーを準備する必要があります。すべてが整ったら、モデルを開始し、AI にプロンプトとフィードを渡して応答を得ることができます。


 import { ChatOpenAI } from '@langchain/openai'; // Instantiate Model const llm = new ChatOpenAI({ modelName: 'gpt-4o-mini', temperature: 0.7, // <-- feel free to adjust temperature here apiKey, }); // ... // add prompts here // ... // Ensure that chain.invoke correctly passes the variables result = await prompt.pipe(llm).invoke({ identity, steps, formats, input, }); // get result console.log('>> result?.content'); // Tweet 1: Introduction ... 🧵👇 (1/X) ...


6. CLI としてまとめる

利便性のため、この関数を CLI としてエクスポートしたので、将来簡単に使用できます。

これを実現するために、私は以下を使用しました。

  • Commander — NPM パッケージ BIN の CLI を有効にする
  • Ora — エレガントなターミナルスピナー
  • チョーク— 端末文字列のスタイル設定


コードのスニペットを以下に示します (完全なコードは最後にあります)。


 import { Command } from 'commander'; import chalk from 'chalk'; import ora from 'ora'; const spinner = ora('Loading...'); // Initialize the command line interface const program = new Command(); // Command to convert a YouTube URL program .argument('<url>') .description('Turn YouTube Videos into Twitter Threads with AI') .action(async url => { const apiKey = readApiKey(); // Read the saved API key // ... spinner.start(); await convertYt2Tweets(url, apiKey); // ... });


リポジトリ リンク (フルコード)

https://github.com/WorkSmarter-lol/yt2tweets-cli


結論

繰り返しになりますが、このプロジェクトが皆さんの学習スピードの向上や YouTube コンテンツの理解、あるいは友人、家族、フォロワーとの共有に役立つことを願っています。


UI 対応プロジェクトにアクセスしたい場合は、同じプロジェクトのユーザー インターフェイスを作成しました。以下のリンクをご覧ください。

https://yt2tweets.worksmarter.lol