見出し画像

【作り方解説付き】DifyでYoutubeからX投稿文を作るアプリを作ってみた

Difyとは、ノーコードでAIアプリケーションを開発できるオープンソースのプラットフォームです。

今回はDifyを使ってYoutubeからXの投稿文を作るアプリを作ってみました。

今回生成したワークフローの出力例

Difyのクラウド版を使えば環境構築不要・無料で使えます。(※回数制限あり)

この記事では、初心者の方でもコピペで作れるようにDifyのワークフローの作り方を解説します。

また、記事の最後には自身のDify環境にインポートするだけで使えるDSLファイルも添付しています。(※有料)

Difyって何?どうやって始めるの?という方は、以下の記事で解説しているので合わせて参考にしてみてください。

作成したワークフローの全体図

今回作成したワークフローの全体図は以下のとおりです。

ワークフローの全体図

「YouTube Transcripts API」を使ってYoutubeの文字起こしデータを取得し、それを参考にLLMでXの投稿文を作成するという流れです。

ワークフローの作り方

ここからは、ワークフローの作り方を解説します。

コピペで真似して作れるように実際のコードやプロンプトも公開しているので、参考にしてみてください。

①参考元となるYoutubeのURLを入力する

まずは開始ブロックです。

開始ブロック

参考元となるYoutubeのURLを入力してもらうための入力フィールドを指定します。

開始ブロック

入力フィールドの追加(+ボタン)を押して、フィールドタイプ、変数名、最大長を指定します。

今回はフィールドタイプは「段落」、変数名は「youtube_url」、最大長は指定しないという設定にしました。

設定が完了したら「保存」ボタンを押します。

入力フィールドの設定

②YoutubeのURLからVideoIDを取得する

次にコードブロックを使用してURLの末尾からVideoIDを取得します。

コードブロック

コードブロックの設定内容は以下のとおりです。

コードブロック

このあと使用する「YouTube Transcripts API」ではYoutubeのVideoIDを指定する必要があります。
VideoIDは以下のようにURLの末尾から取得できます。

https://www.youtube.com/watch?v=video_id.

入力でVideoIDを指定してもらってもよかったのですが、せっかくなのでコードブロックを使ってみました。

コードの内容は以下になります。

import re
def main(arg1: str) -> str:
    # 正規表現を使用してwatch?v=以降の文字列を抽出
    match = re.search(r'watch\?v=([^&]+)', arg1)

    if match:
        video_id = match.group(1)
    else:
        raise ValueError("Video ID not found in the URL")
    return {
        "result": video_id
    }

上記のコードをコードにコピペすれば設定は完了です。

③要約を取得する

次に「YouTube Transcripts API」を使用してYoutubeの文字起こしデータを取得します。

YouTube Transcripts APIブロック

Difyにはさまざまな外部ツールを呼び出す機能があります。

その中に「YouTube Transcripts API」というものがあり、これを使うと指定したYoutubeビデオを文字起こししてくれます。

ただし「YouTube Transcripts API」を使うには、SearchAPIのAPIキーが必要です。

SearchAPIとはGoogleが提供しているサービスで、月100検索までなら無料で使えます。
>>参考:SerachAPIの料金一覧(公式サイト)

以下では初めてSearchAPIを設定する人向けに、SearchAPIのAPIキーの設定方法も含めて「YouTube Transcripts API」ブロックの設定方法を紹介します。

①Difyのワークフロー作成画面で「ノードを追加」-「ツール」-「YouTube Transcripts API」を選択します。

YouTube Transcripts APIの追加

②以下のように「YouTube Transcripts API」のブロックが追加されるので「承認するには」を押します。

YouTube Transcripts APIの追加

以下のようなダイアログが表示されるので、SearchAPIのAPIキーを指定します。

YouTube Transcripts APIの認証設定

ここからはSearchAPIのAPIキーの取得方法を説明します。

SearchAPIの公式サイトにアクセスします。

④画面右上の「Sign Up」をクリックします。

SearchAPIの登録

⑤登録情報を入力して「Sign up」をクリックします。
Googleアカウントでログインすることもできるので、好きな方を選びましょう。

SearchAPIの登録

⑥Sign upができると以下のようなダッシュボードが表示されるので、APIキーをコピーします。

⑦Difyに戻り「YouTube Transcripts API」の「SerachApi API key」に、⑥でコピーしたAPIキーを入力して「保存」ボタンを押します。

YouTube Transcripts APIの認証設定

以下のような画面が表示されればOKです。

YouTube Transcripts APIの設定

⑧入力変数に、前の項目で作成したコードの出力結果を指定します。

YouTube Transcripts APIの設定

最終的に以下のように設定できればOKです。

YouTube Transcripts APIの設定

④LLMでXの投稿文を作る

③で作成したYoutubeの文字起こしデータを参考にXの投稿文を作ります。

LLMブロック

LLMを追加して適切なモデルとプロンプトを指定します。

LLMの設定

今回設定したSYSTEMプロンプトは以下のとおりです。

あなたはAI技術に精通したコンテンツクリエイターで、複雑な概念を初心者にも分かりやすく説明することが得意です。
AI初心者向けに役立つノウハウを発信するXの投稿文を作成してください。

USERプロンプトには以下を指定しました。
今回はAI初心者向けの発信を行うアカウントを想定してプロンプトを作りました。

#前提条件 
タイトル:AI初心者に向けたAIノウハウについてのTwitter投稿文の作成 
依頼者条件:AI初心者に向けたAIノウハウについてのインプレッションを伸ばせるTwitter投稿文を作成したいと思っている人 
制作者条件:AI初心者に向けたAIノウハウについての専門家であり、集客できるTwitter投稿文の書き方や作成に精通している人 
目的と目標:AI初心者に向けたAIノウハウについての正確な情報を伝え、インプレッションを伸しシェアされやすいTweet投稿文を作成すること。 

#変数設定 
$作成文要素:" [YouTube Transcripts APIの出力] " 

#この内容を実行してください. 
- プロンプトを英訳してから投稿文作成を実行してください。 
- 指示を復唱しないでください。 
- ${作成文要素}を基に、AI初心者にとって特に有用な情報や概念を抽出してください。
- 抽出した情報を簡潔かつ分かりやすい言葉で要約してください。
- 文字起こしデータから得られた重要な情報をまとめ、Twitter投稿文を作成してください. 
- 文字数制限:150文字 - 絵文字を入れないでください. 
- Twitter投稿文15個を日本語で作成してください。

プロンプトは以下のサイトを参考に作成しました。
※参考:チャプロ/Twitter毎日投稿する~る
このサイトにはコピペで使えるプロンプトが3,000件以上登録されているのでよくお世話になっています。

プロンプトで使用する「作成文の要素」として、②で作成したYouTube Transcripts APIの出力を指定します。

LLMの設定

⑤生成した投稿文を出力する

最後は、終了ブロックです。

終了ブロック

終了ブロックでは④で作成したLLMの出力結果を指定します。

終了ブロック

ここまで設定できればワークフローの作成は完了です。

実行結果

それでは作成したワークフローを実行してみます。

今回は以下のYoutube動画を参考にXの投稿文を作成してみます。
よくお世話になっている「リモートワーク研究所」の動画です。

入力としてYoutube動画のURLを指定します。

実行を開始

しばらく待つと実行結果が表示されます。

実行結果


出力結果(全文)は以下のとおりです。

## AI初心者向け Twitter投稿文 (15個)

1. **ChatGPT最強の仕事術**、リモート大学研究所池本さんの最新刊!AI活用のスタンスからプロンプト作成のコツまで、実践的なノウハウが満載です。
2. AI初心者さん必見!ChatGPTを使いこなすための**3つのスタンス**とは?①質問の仕方を意識する ②気軽に試す ③AIはあくまでツールと捉える
3. ChatGPTはただのツール!**何度でも質問してOK**、**無茶振りもOK**です。ただし、回答は鵜呑みにせず、自分で判断することが重要です。
4. AIとのコミュニケーション能力を高める**プロンプトエンジニアリング**とは?指示を明確にする、条件を具体的に示す、応答能力を高める、これら3つの要素が重要です。
5. プロンプト作成のコツ:**条件を具体的に示す**ことで、AIはより適切な回答を返してくれます。役割、目的、要件、参考例、アウトプット例を明確にしましょう。
6. AIは**リサーチ、文章作成、企画、プログラミング、翻訳**など、様々な業務を効率化できます。しかし、万能ではありません。限界を理解した上で使いましょう。
7. ChatGPTは**ファクト探し**には向いていません。あくまでも**アイデア出し**や**視点の獲得**に役立ちます。
8. **ステップバイステップ**でプロンプトを作成する!最初はざっくりとした質問から始め、回答を見ながら条件を足していくことで、より精度の高いアウトプットを得られます。
9. **ChatGPT最強の仕事術**は、ビジネスシーンで役立つ実践的なプロンプト例が満載です。ぜひ、本書を参考にAI活用スキルを磨いてください。
10. **AI導入支援、プロダクト開発、研修、社内講演**など、AIに関する様々なサービスを提供しています。お気軽にお問い合わせください。
11. **リモートワーク研究所**では、リモートワーク時代に活躍するためのツールやノウハウを配信しています。ぜひチャンネル登録してください。
12. **ChatGPT最強の仕事術**は、202389日発売!ビジネスシーンでのAI活用を効率化したい方は、ぜひチェックしてみてください。
13. **AIは進化を続けています**。常に最新情報にアンテナを張り、積極的に導入していくことが重要です。
14. **AIを使いこなすには、適切な期待値を持つことが重要**です。万能ではありませんが、使い方次第で大きな力を発揮します。
15. **AIは人間を置き換えるものではありません**。あくまでもツールとして活用することで、より効率的に仕事を進めることができます。 

すべてを使えるわけではありませんが、使えそうな投稿文はいくつか出力されてます。

まとめ

今回はYoutubeの文字起こしデータからXの投稿文を作成するDifyのワークフローを作成してみました。

Difyを使うとYoutube動画を使用したAIアプリも無料で簡単に作れます。
使い方次第でさまざまな処理ができるので、ぜひ参考にしてみてください。

また、私はDifyを使用したAIアプリの開発を行っており、ココナラでの販売実績もあります。

「こんなことやってみたいけどできないかな」「こんなアプリ作って欲しい」というご相談があればお気軽にお問い合わせください!

今回作成したワークフローのDSLファイル

最後に今回作成したワークフローのDSLファイルを配布します。

この記事のとおりに設定してもらえれば自分でも構築できる程度の簡単なものですが、手っ取り早く使ってみたいという人はご参考ください。

※実行するには「②YoutubeのURLからVideoIDを取得する」で説明した、SearchAPIのAPIキーの設定は必要です。

ここから先は

269字 / 2画像 / 1ファイル

¥ 100

この記事が気に入ったらサポートをしてみませんか?