ChatGPTとNotionを使って、音声で完璧なメモを取ることができるワークフローを構築する方法を紹介しています。
⏱ TIMESTAMPS:
00:00 イントロ
02:33 必要なもの
03:41 ワークフローの概要
05:06 ビルドスタート
05:36 トリガーをセットアップする
08:13 音声ファイルをダウンロードする
11:32 Whisperでトランスクライブする
16:13 ChatGPTでまとめる
24:02 テキストをフォーマットする
26:57 ノーティオンページの作成
31:38 ワークフローをテストする
32:07 ワークフローをデプロイする
33:19 その他のリソース
公開日:2023年4月21日
※動画を再生してから、インタビューを読むのがオススメです。
さて、こんにちわ。
今週は、今録音しているような音声メモをテキストに変換し、そのテキストをNotionのメモデータベースに送信するボットを作りました。
テキストというのは、単に書き写すという意味だけではありません。
要約や要点のリスト、アクションアイテムのリストももらえます。
今日は、このワークフローを自分で構築する方法を紹介します。
驚くほど簡単に設定でき、一度構築してしまえば、完全に手を煩わせることなく、自動化されるので、とても素晴らしいです。
さて、この自動化で力仕事をしている最近のAIツールは2つあります。
まず、OpenAIのWhisperモデルは、音声ファイルをトランスクリプトに変換し、基本的に音声からテキストに変換します。
次に、ChatGPTがそのトランスクリプトを受け取り、要約やアクションアイテムのリスト、主要なポイントなどを生成するために使用されます。
もちろん、ChatGPTがトランスクリプトで実際に行うことは、与えられたプロンプトに完全に依存しているため、もし望むなら、プロンプトを変更して別のことを行ったり、例えば、携帯電話でメモを録音し、結果としてブログ投稿の下書きを得ることができます。
そのため、後ほどのビデオで、より良い出力を得るために一貫してより良いプロンプトを書くためのヒントをいくつか共有し、私のワークフローをそのまま複製するか、独自のノート作成ニーズに合わせて変更してカスタマイズできます。
このカスタマイズが、一般的なAIツールに対する興奮とともに、特にこのワークフローに対する興奮を高めています。なぜなら、私の実際の頭脳とNotion内のセカンドブレインとの間のパイプラインを広げるものとして捉えているからです。
これまで、外出先で第二の脳へ思考をブレーンダンプしようとすると、親指と携帯電話のキーボードを使う必要があり、非常に時間がかかっていました。
でも今は、携帯電話を持って話しかければ、Notionの中で完璧な書き起こしができるんですから、超クールです。
ところで、Notionを自分の第二の脳にしたいのであれば、私もそうしましたが、Notion用の究極の脳テンプレートが最適です。
タスクマネージャー、プロジェクト管理ダッシュボード、目標管理、そしてこのビデオに最も関連することですが、完全なメモシステムもあります。
実際、これは私のノート取りシステムで、最近行ったカスタマイズの1つは、ここで音声メモのセクションに移動すると、携帯電話で話すことによって作成されたAIによるトランスクリプションのメモがこのセクションにまとめられていることです。
このページをランダムにクリックすると、要約、記録、その他もろもろが表示されます。
究極の脳についてもっと知りたい方は、thomasjfrank.com slash brainにアクセスしてチェックしてみてください。
下の説明文に割引コードもありますので、そちらもチェックしてみてください。
このビデオの最後のほうで、機能についてもう少し詳しくお話ししますが、とりあえず、ビルドを始めましょう。
さて、いつものように、このビデオの目次を以下に掲載しますので、心ゆくまで読み飛ばしてください。
まずは、これを実際に動作させるために必要な4つのツールの概要から説明します。
まず、Notionのアカウントですが、すでにお持ちだと思いますが、まだ登録されていない方は、下の説明にNotionのリンクがあります。
そして、Notionの中にノートデータベースが必要です。
究極の頭脳のようなテンプレートでも、私の無料テンプレートでも、Notionの中にデータベースを設置してもかまいません。
ただ、データベースの準備はしておいてください。
次に、OpenAIのアカウントが必要です。
これによって、音声の書き起こしにWhisper APIを使い、要約やリストの作成にChatGPT APIを使うことができるようになります。
platform.openai.comで入手可能です。
3つ目は、クラウドストレージプロバイダーが必要で、音声をアップロードする場所と、自動化を開始する場所が必要です。
このチュートリアルではGoogle Driveを使いますが、Dropboxを使うこともできます。
OneDriveを使うこともできます。
自分に最適なものを選んでください。
そして4つ目は、PipeDreamのアカウントが必要です。PipeDreamのアカウントはpipedream.comで取得できます。
PipeDreamは自動化ビルダーで、他のアプリを一緒にくっつけることができ、自動化を推進し、新しいオーディオファイルがGoogle Driveにアップロードされるたびに自動的に起動させることができます。
このオートメーションがどのように機能するのか、基本的に高レベルでお見せするために、私のお気に入りのツールの1つであるWhimsicalに行きたいと思います。
基本的には、携帯電話でボイスメモを取ることになります。
それをDropboxやGoogle Driveなど、好きなところにアップロードします。
そして、PipeDreamが自動化を開始し、Whisper APIとOpenAIのChatGPT APIに問い合わせを行い、OpenAIから得た情報をNotionの新しいページに送信するのです。
これが、あなたの視点から見た、これから起こることの大まかな概要ですが、実際には舞台裏で何が起こっているのでしょうか?
キャンバスをスクロールダウンして、ここに作成した小さなグラフを見ると、もう少し詳細な情報を得ることができます。
これが、実際に構築しているものです。
私たちは、クラウドストレージにオーディオファイルをアップロードするつもりです。そして、オーディオファイルが私たちが「ウォッチフォルダ」と呼ぶであろうクラウドストレージに入る瞬間、PipeDreamがそれを見つけ、それが自動化のトリガーになります。
その時点で、音声ファイルをテンポラリ・ストレージにダウンロードします。
音声ファイルをWhisperに送り、文字起こしをさせます。
書き起こした音声は、ChatGPTに送り、リストを要約してもらいます。
その後、少し整形して、すべての内容をきれいにまとめ、Notionに送り、新しいページを作成します。
このように、比較的簡単にできるように思えるかもしれませんが、実際に作り始める時期が来ているのです。
まずはPipeDreamのアカウントにサインアップしましょう。
すでにお持ちの方は、このダッシュボードが表示されるはずですし、すぐに新しいワークフローが表示されるかもしれません。
そうでない場合は、ここに新しいボタンがあるので、それをクリックしてワークフローの構築を開始します。
これは基本的にすべてが起こる場所で、ZapierやMake.comのように、一連のステップを作成するつもりです。そして、自動化が実際にトリガーされると、それらのさまざまなステップをすべて実行します。
そこで、まずこのワークフローに名前をつけ、「Speech to Text to Notion」とします。
ワークフローの最初のステップは常にトリガーであり、トリガーはワークフローの中で唯一名前を変更できないステップでもあります。
トリガーは、ワークフローの中で唯一名前を変えることができないステップです。
この例では、Google Driveの特定のフォルダにオーディオファイルがアップロードされるたびに、ワークフローがトリガーされるようにします。
そのために、Google Driveを検索します。
実は、画面上にちょうどあるんです。
クリックすると、さまざまなアクションのリストが表示されるので、そこから選ぶことができます。
Google Driveの場合、新しいファイルというアクションがあり、Google Driveへのリンクに新しいファイルが追加されたときに新しいイベントを発生させると書かれています。
トリガーとしてこれを選択し、実際にGoogle Driveアカウントに接続する必要があります。
そこで、先に進み、接続をクリックします。
接続が完了すると、ドライブオプションがマイドライブに設定されていることがわかります。
これは私たちが望むものです。
共有ドライブがあれば、それを選ぶこともできますが、私たちは自分のドライブにしたいのです。
そして、この場合、特定のフォルダにあるファイルだけを監視してほしいのです。
Google Driveのアカウント全体を監視されるのは嫌です。
そこで、オプションフィールドのフォルダをクリックし、フォルダを検索することにします。
実はこのためにあらかじめ用意したフォルダがあります。
それは「オーディオアップロードテスト」という名前だと思います。
そこにあります。
それを確認して、ソースの作成をクリックします。
トリガーを設定したところで、このワークフローで追加のステップを開始する前に、アクションが必要ですと表示され、このトリガーのテストイベントを生成するように要求されます。
このイベントは、Google Driveにオーディオファイルをアップロードするものです。
ボイスノートアプリから行うこともできますが、ここではデモンストレーションのために、Googleドライブのこのフォルダを開き、そこにオーディオファイルをドラッグすることにします。
そして、トリガーによって1つの新しいイベントが検出されたことを確認できます。
トリガーが検出したこの新しいファイルを選択します。
パイプドリームのステップで結果が成功するたびに、この緑の成功メッセージが表示されます。
また、エクスポートタブでは、エクスポートされたオブジェクトが表示されます。
つまり、このプロセス全体を通して、このオブジェクトのプロパティにアクセスし、追加のステップでそれを参照することになるのです。
ここで、コピーパスオプションとコピーバリューオプションの両方があることにお気づきでしょうか。
コピー値をクリックすると、このオートメーションの特定の実行から正確な値をコピーすることになります。
つまり、1%ルールサンプルオーディオtest.m4aになるわけです。
通常、このようなことはしません。
なぜなら、オートメーションが実行されるたびに、その値を動的に参照することになるからです。
続けて、このIDプロパティに移動し、パスをコピーすることで、このIDを動的に参照できるようにします。
続けて、continueをクリックします。
次に行うことは、Google DriveからPipeDreamのtempディレクトリにファイルをダウンロードすることです。
PipeDreamは認証されているので、Google Driveにアクセスできますが、OpenAIのWhisperはアクセスできないからです。
実際にファイルをWhisperにアップロードする必要があります。
そのためには、まずGoogle Driveからファイルをダウンロードする必要があります。
幸運なことに、Google Driveにはこのためのアクションが用意されています。
もう一度、このステップでdriveを検索します。
Googleドライブを探します。
そして、ファイルをダウンロードするアクションがあるはずです。
検索してもいいし、load more actionsを押して見つけてもいい。
私は先に進んで検索します。
ありました、ファイルのダウンロードです。
Google Driveのアカウントはすでに接続されていることがわかります。
そして、ファイルプロパティの下で、前のステップの動的な値を参照することになります。
そのために、これらのオプションのいずれかを選択する代わりに、カスタム式を入力することにします。
ここでパスを選択するか、先ほどパスをコピーしたのでここに貼り付けることができます。
ここで二重括弧を使用していることに注意してください。
これは、パイプドリームがプロジェクトの参照に使用している規約です。
このチュートリアルでは必要ないのですが、参考になると思いますので、私のNOTE APIガイドをご覧ください。
この形式はおそらくお分かりになると思います。
基本的に、私たちはstepsというオブジェクトのプロパティにアクセスしています。
そして、これらのプロパティは、他のオブジェクトを値として持つことがあります。
resultsに戻ると、ここで何が起こっているのかがわかります。
steps.triggerオブジェクトがあります。
そして、これを掘り下げていくことができます。
プロパティの1つにeventというものがあります。
これはオブジェクトそのものです。
このオブジェクトを掘り下げていくと、IDプロパティが見つかり、この値があります。
つまり、このIDに対応するファイルをダウンロードしたい、ということです。
そして、ダウンロード先のファイルパスを指定する必要があります。
ここで少し手助けがあります。
スラッシュのtmpディレクトリにファイルの保存先パスが書かれています。
そして、例を示してくれています。
つまり、slash tmpと入力して、slash recording.mp3のような名前をつければいいわけです。
ただ、この場合、Googleドライブにアップロードするオーディオファイルの種類が異なる可能性があります。
例えば、iPhoneを使用している場合、ボイスノートアプリは実際にM4Aファイルをエクスポートします。
しかし、別のアプリを使用している場合は、MP3ファイルをエクスポートすることができます。
そこで、MP3と入力するとエラーが出るので、その代わりに、ここにある結果に戻ることにします。
その前に、この小さなピンアイコンを押して、実際に開いたままにしておきます。
でも、「結果を開く」に切り替えて、これもピン留めしておきます。
このファイルのファイルタイプは、このイベントオブジェクトのプロパティの1つであるため、実際に取得することができます。
ここをクリックすると、さらに多くのプロパティを見つけることができます。
下にスクロールすると、ファイル拡張子プロパティがあり、M4Aが表示されていることがわかります。
このパスをコピーすると、目的地のファイルパスに戻ることができます。
そして、.mp3の代わりに.mp3を指定すると、完全なファイル拡張子のイベントが発生します。
これで、M4AファイルやMP3ファイルなど、Whisperがサポートしているあらゆる種類のオーディオファイルが動作するようになり、拡張子を動的に設定できるようになりました。
では、ここでテストを押してみます。
正しく動作していれば、成功のメッセージが表示され、テンポラリストレージにファイルが保存されるはずです。
これで、戻り値、名前、MIMEタイプ、すべてが揃ったことになります。
次にやりたいことは、実際に音声ファイルをWhisperやOpenAIに送って、文字に起こしてもらうことです。
そのために、プラスアイコンをクリックして、OpenAI ChatGPTアプリを探します。
それをクリックすると、他のアプリと同じようにアクションのリストが表示されます。
ここで選びたいのは「テープ起こしの作成」です。
これをクリックすると、OpenAIのアカウントに接続するように指示されます。
ここで、まだOpenAIのアカウントを持っていない方のために、作り方を説明します。
すでにChatGPTを使っている人は持っているでしょうし、持っていない人はサインアップする必要がありますが、いずれにせよ、platform.openai.comにアクセスしてログインするか、アカウントを作成することができます。
新規アカウントなら5ドル分の無料トークンが貰えるはずで、有効期限は3ヶ月。
私の計算が正しければ、12時間分の音声をアップロードして書き起こし、要約することができるはずです。
とにかく、サインアップすると、この小さなダッシュボードが表示されます。
右上の「パーソナル」に移動して、「アカウントの管理」に進むと、最初に指摘することは、試用期間が終了した後、支払いの概要エリアで有料アカウントにアップグレードできることです。
また、毎月の利用額が一定額を超えないように、ハードリミットを設定することも可能で、とても便利です。
その後、ユーザーAPIキーのオプションに移動して、新しいシークレットキーを作成することになります。
この動画が完成したら、このキーは削除します。
自分でキーを作って、自分でAI転写の費用を払ってください、お願いします。
しかし、ここでコピーボタンを押し、夢のようなワークフローに戻り、APIキーをここに貼り付け、保存をクリックするつもりです。
次に選択するのは、音声アップロードのタイプです。
ファイルストレージとテンポラリストレージがあるので、ここでファイルをクリックします。
そして、ここでファイルのパスを定義します。
先ほどはslash tmp slash recording dotと入力しましたが、ここでもう一度、最初のステップで取得したファイルの拡張子を入力します。
ここで下にスクロールして、これをお見せします。
前のステップのオブジェクトの中に入ることができます。
そして、ファイル拡張子はトリガーステップのオブジェクトにあることが分かっています。
そこで、そのオブジェクトに移動して、見つけられるかどうかを確認します。
検索してみると、確か "full file something"、"full file extension "だったと思いますが、ありました、かっこいいですね。
パスを選択します。
これで、録音ドット(この場合はM4A)に完全にアクセスできるはずです。
では、もう一度、テストしてみましょう。
ただし、ここにいくつかのオプションフィールドがあることを指摘しておきます。
通常、テープ起こしではオプションフィールドを設定する必要はありませんが、ChatGPTで作業する場合は、次のステップで設定するものもあります。
とりあえず、「テスト」を押してみます。
うまくいけば、先ほどアップロードした音声ファイルの完全なトランスクリプトが表示されるはずです。
そして、このように、この小さな戻り値 transcription プロパティに書き起こしがあります。
そして、オーディオファイルの完全なトランスクリプションであることが確認できます。
さて、このビルドプロセスでは、いくつかのエラーに遭遇することがあります。
そこで、次に進む前に、これらのエラーについて簡単に説明します。
まず、このテープ起こしのステップをテストするときに、「録音がもう存在しない」というエラーが発生することがあります。
これは、tempディレクトリがあまり長い間ファイルを保持しないために起こる可能性があります。
実際にオートメーションを実行するときは問題ないでしょう。
しかし、このビデオを見ながらオートメーションを構築するのに時間がかかっている場合、この問題に遭遇するかもしれません。
その場合は、基本的に別のファイルをGoogle Driveにアップロードして、ファイルのダウンロードのステップをもう一度テストすれば、うまくいくはずです。
もうひとつの問題は、パイプドリームワークフローのデフォルトでは、ワークフローが終了していない場合、30秒後にタイムアウトすることです。
ほとんどのワークフローは、それよりずっと早く終了するはずです。
しかし、特にWhisperでは、かなり長いファイルをアップロードする場合、30秒より長くかかることがあります。
そこで、この3.メニューの「設定」を開き、デプロイせずにそのままにしておくと、ここに実行制御の設定があります。
そして、タイムアウトの値を30秒から180秒に設定することにします。
パイプドリームとこのワークフロー全体の詳細については、このチュートリアルの文書版でもっと詳しく説明していることをお伝えしておきます。
下の説明文にリンクしておきます。
また、私が実際に使っているコードヘビーメソッドと呼ぶべきものもあります。
もし、このようなコードブロックの多い方法をやりたいのであれば、コピー&ペーストすればいいのです。
この方法にはいくつかの利点があり、ブログの記事でその点を説明しています。
このビデオでは、シンプルな方法をとっています。
パイプドリームの設定や価格、ワークフローなどの詳細が含まれています。
このビデオでは、そのような詳細な情報を詰め込むつもりはありません。
ただ、要約すると、タイムアウト値を180秒に設定し、エディターに戻って、作り続けようということです。
テープ起こしができたので、ChatGPTのステップをもう一つ追加します。
もう一度OpenAIのChatGPTを使い、今回はtranscribeの代わりにchatを選択します。
ここで、APIを介してChatGPTと連携し、トランスクライブを要約したり、リストに変換したりすることができるようになります。
では、ここで様々な設定オプションを見てみましょう。
すでにOpenAIのアカウントで認証されています。
この点については心配する必要はないでしょう。
もしあなたがAPI経由でGPT-4のベータ版アクセス権を持っているなら、それはラッキーなことです。
そのアクセス権はどうやったら手に入るの?
今はまだ持っていませんが、ここで選択できます。
そうでなければ、GPT3.5ターボモデルをお勧めします。
こちらは2023年3月1日付で凍結されています。
ですから、現在凍結されていないものを選ぶといいでしょう。
そして、ユーザーメッセージは、あなたのプロンプトとなります。
というのも、ChatGPTから得られる出力は、非常に依存性が高いからです。
ChatGPTの出力は、プロンプトの質に大きく左右されます。
プロンプトには3つのパートがあります。
クエリ、またはユーザーメッセージと呼ばれるものです。
コンテキスト(文脈)。
そして、指示やシステムメッセージです。
ユーザーメッセージは、例えばChatGPTに入力するもので、詩を書いてくれとか、受け取ったメールを要約してくれとか、そういうものです。
文脈は、この場合、電子メールのトランスクリプトや、プロンプトの文脈としてチャットボットに分析・使用するよう求めるものです。
そして、システムの指示です。
ChatGPTのウェブサイトから操作する場合、システム指示はユーザーメッセージと同じものです。
それを解析しようとするのです。
しかし、APIで操作する場合、これは別のパラメータです。
システム命令と呼ばれるものです。
そして、コードを見ると、実は全く別のプロンプトを持つ別のセクションになっています。
システムインストラクションは、ChatGPTがどのようなフォーマットで応答するかを指示するものです。
また、システムインストラクションの中で例を挙げることもできます。
ユーザーメッセージの代わりにシステム指示書で例を示すと、ほとんどの場合、出力がより良くなることが分かっています。
さて、プロンプトスクールは終了しました。
では、実際にユーザーメッセージの記入を始めましょう。
このユーザーメッセージのフィールドを埋めるために、実はチュートリアルの文書版に戻るつもりです。
サイドバーの便利な目次から、このチュートリアルで行っているコードなしメソッドの下にある説明文に、このリンクを貼っておきます。
ChatGPTでトランスクリプトを要約するステップを見つけることができます。
そして、少し下にスクロールすると、これから使うプロンプトが書かれたコードブロックが見つかります。
クリップボードにコピーするをクリックします。
ユーザーメッセージフィールドに戻り、それを貼り付けます。
そして、ここでやっていることを見てみましょう。
これがユーザー・メッセージと呼ばれるものです。
そして、15語以内のタイトルを書いてくださいということです。
具体的に言っているのです。
この部分の単語を具体的に制限してくださいとお願いしているのです。
さらに、「ダッシュダッシュサマリーダッシュダッシュ」とも書いてもらっています。
なぜこのようなことをするかというと、これはいわゆるデリミター(区切り記号)です。
ChatGPTから出力されたものを解析して、便利なことをすることができます。
タイトル、要約、リストを分離し、ページ内の異なる場所に配置したいからです。
もちろん、タイトルはここのタイトルフィールドに表示します。
そして、要約は一番上に配置し、少なくとも私は、実際のトランスクリプトの下にこれらのリストをすべて配置したいと考えています。
そのためには、タイトル、サマリー、リストを3つの別々のデータに分割して、個別に扱うことができるようにする必要があります。
そのために、ChatGPTに、この区切り文字、サマリー、追加情報を要求しています。
その先の見出しにsummaryと書いてもらい、その後にsummaryをお願いしています。
そしてこの下に、要点のリスト、アクションアイテム、フォローアップの質問、トランスクリプトに対する潜在的な反論をお願いしています。
このあたりは工夫が必要です。
どんな種類のリストでも、基本的にどんなことでもお願いすることができます。
それがChatGPTです。
そして、一番下にトランスクリプトを提供し、もう一度、動的にリンクしています。これはちょっと変なバグですが、前のステップの戻り値に動的にリンクしています。
そこで、この部分を削除してやり直すと、どのように動作するかがわかります。
この結果に戻ってtranscriptionを作成すると、このtranscriptionプロパティが見つかります。
そのパスをコピーします。
このように、Pipedreamでは追加や後続のステップで動的に値を参照することができます。
つまり、基本的にはこれをユーザーメッセージとして受け取ることになります。
コンテキストとして、前のステップのトランスクリプト全体が使われます。
そして、最後に設定したいのは、システムの指示です。
文章に戻ったら、もう少し下にスクロールして、システムの指示を見つけることができます。
これが、一貫したアウトプットを得るための真の秘策です。
あなたはMarkdownでしか話せないアシスタントです。Markdownは、見出しや箇条書きリストなど、あらゆる種類のフォーマット言語です。
Markdownとしてフォーマットされていないテキストは書かないように。
これで、ChatGPTが常に整形されたMarkdownで応答するようになるはずです。
しかし、さらに徹底させるために、実際に書式の例を与えることができます。
ここでは、例題の書式を設定し、私が望むような区切り文字を含めて、まさに私が望むような書式を与えています。
これをシステム命令、これをユーザーメッセージに設定し、コンテキストとしてトランスクリプションを渡せば、テストができ、良い結果が得られるはずです。
もうひとつ、温度設定も行っておきます。
温度は0から1までの値で、基本的に出力がどの程度クリエイティブになるかを決定したり、影響を与えたりするものです。
もしChatGPTを非常にクリエイティブにしたい、詩のようなものを書いてほしい、ブログの記事を書いてほしいという場合は、高い温度値を設定するとよいでしょう。
しかし、この場合、私は整形されたMarkdownが欲しいし、提供されたトランスクリプトから要点の箇条書きを要約して作成するのに非常に簡単であって欲しいのです。
0.2という値を設定していますが、この値はいつでも試すことができます。
あとは気にする必要はないので、この後testを押してください。
もう一度、成功のメッセージが表示されました。この選択肢のプロパティを掘り下げていくと、実際には配列になっているので、この小さなコンテンツのプロパティにたどり着くまで掘り下げることができます。
そして、タイトル、要約の区切り、要約、追加情報、要点がすべてMarkdownとしてフォーマットされていることがわかります。
なぜMarkdownでフォーマットするのか、その理由を示すために、先に進み、コピー値を押して、Notionワークスペースに移動して、まったく新しいノートを作成することにします。
Markdownを貼り付けると、思ったとおりに見出しが2つ、リストが太字で表示されます。
このように、Markdownを出力するわけですが、pipe dreamのいいところは、Markdownを実際に解析して、このようにNotionに送ってくれるところです。
しかし、この例の一つに戻ってみると、要約がここにあり、トランスクリプトがここにあり、リストがこの下にあることに気づきます。
一方、pipe dreamの結果には、要約と主要なポイントがありますが、要約はここになく、タイトルもここにありますから、ページコンテンツではなく、ページタイトルに入れたいと思います。
このワークフローに小さなコードを1つ追加することになりますが、技術的には完全にコードなしとは言えないと思います。
タイトルを「コードなし」とすると、クリックベイトになってしまうので、申し訳ありません。
しかし、これにより物事がより洗練され、オープンAPIへの呼び出しも大幅に節約できます。この方法を使わないと、タイトル、要約、追加ポイントのそれぞれに対してオープンAPIを呼び出す必要がありますが、それは避けたいです。
そこで、ここでもう1つステップを追加することにします。
nodeを選び、run node codeを選びます。このアクションのどれかを選ぶと、コードウィンドウが表示されるのですが、これがまさにパイプドリームの力です。
Make.comでは、オートメーションに独自のJavaScriptコードを書くことができませんが、pipe dreamでは可能です。
つまり、基本的に実行環境はすべてパイプドリームが用意してくれているのです。
セキュリティ、認証、その他もろもろ。
しかし、JavaScriptを書いたり、Pythonを書いたりすることも可能で、これがこのプラットフォームを非常に強力なものにしています。
では、このコードをすべて削除して、あらかじめ書いておいたコードブロックを貼り付けます。
実際にコードを書く必要はありません。そのために、もう一度ガイドブックにアクセスして、「フォーマット」、「タイトル」、「要約」、「記録」に進みます。
ブログ記事のこのセクションへの直接のリンクは、下の説明文の中にあります。
少し下にスクロールすると、このコードブロックが見つかります。
あとは、これをコピーして貼り付けるだけです。
ですが、その前に、現在「ノード」とだけ名付けられているこのステップにもっと説明的な名前を付けたいと思います。なぜなら、すべてのエクスポートでわかるように、今後のステップで参照する値へのパスは、「steps dot」となっているからです。
このステップの名前、steps.chatです。
これを見ると、steps.create underscore transcriptionとなります。
このブロックのエクスポート値は、デフォルトではsteps.nodeで、これを変更するとsteps.nodeのパスを参照するたびに壊れてしまいます。
そこで、ビルドする前に、これをformatterに変更して、もう少し分かりやすくしておきます。
そこからブログの記事に移動して、コードのブロックのコピーボタンを押し、そのまま貼り付けます。
testを押すと、タイトル、要約、リストを3つの異なるプロパティに分割するオブジェクトが作成されます。
そして、これが私の戻り値です: タイトル、トランスクリプト、サマリー、そして追加情報です。
もうひとつ、このコードでやっていることは、原稿を大量のテキストから、3文以内で、空白を挟んだ段落に変えることですね。
これによって、PipeDreamはNotionに各段落を独自のテキストブロックとして送信するようになります。
さて、これでコーディングは終わりです。簡単で手間がかからないと言いましたが、あとはこの不良品をNotionに送るだけです。
そして、欲しいアクションは「ページを作成する」ではなく「データベースからページを作成する」です。
ここでは、ノートのデータベースがあると仮定して、データベースからページを作成するを選択し、最初にしなければならないことは、Notionのアカウントを接続することです。
他のチュートリアルをご覧になったことがある方は、私がこの作業をするのを見たことがあるかもしれませんね。
次に、「ページを選択」をクリックし、ズームインしているため、ドラッグする必要があります。
使用するノートデータベースが選択されていることを確認します。
しかし、使用するデータベースであるノートCIGはすでに選択されているので、先に進んでアクセスを許可しておきます。
ここから、実際に使用するデータベースを選択する必要があるので、親データベースIDフィールドに設定します。
ここをクリックすると、Pipedreamがアクセスできるデータベースをもとに、様々な選択肢が表示されます。
また、NotionのデータベースIDを手動で入力することもできます。
このリストに自分のデータベースがない場合、Pipedreamがそのデータベースにアクセスできていない可能性があるので、アクセスを手動で設定する方法を簡単に説明します。
データベースにアクセスし、実際にこれをフルページとして開き、左側のパンくずリストを1つたどってデータベース全体にアクセスすると、ここのメニューを開いて、このデータベースに接続されているすべてのアプリが表示されます。
Pipedreamのアカウントを2つ持っているので、ここに2つあるわけですが、もしPipedreamがここになかったら、接続の追加に行き、検索してみると、すでに持っているので、そこにはありません。
でも、Pipedreamがあれば、そのデータベースに追加することができますし、そうすることでアクセスが許可されたことを確認することができます。
しかし、私はこのアクセス権を持っているので、ここで全ノートCIGデータベースをヒットさせ、これを親データベースIDとして設定し、実際にNotionに送信するページコンテンツを指定することができます。
マークダウン構文を使えば、ページのレイアウトを動的に決められるので、とても便利です。
しかし、時間とあなたにとっての簡便さのために、書かれたバージョンに戻り、Notionにトランスクリプトと要約を送るようにしましょう。そして、ここで3番目の小さなコードブロックを見つけ、それをコピーし、ページの内容に貼り付けます。
ここでもまた、動的に値を参照しています。
そして最後に、追加情報の見出しと、追加情報オブジェクトの中にあるすべてのリストがあります。
さて、ページのタイトルも設定したいし、さらにページのプロパティも設定したいかもしれません。
1つはメタタイプと呼ばれるもので、アイコンやページカバーに使用するものです。
まず、メタタイプを設定しましょう。ページアイコンを設定したいので、アイコンを選択できます。そして、このプラットフォームでの経験から、メタタイプを具体的に設定する前に、使用したいプロパティタイプを有効にする方が良いことがわかりました。
では、いくつかのプロパティタイプを選択していきます。この場合、少なくともタイトルを設定したいと思います。デフォルトではデータベース内の名前プロパティになりますが、変更しました。また、タイプというプロパティをAIトランスクリプションという値に設定したいと思います。
これらを選択し、アイコンを選択すると、実際にこれらを有効にするオプションが表示されます。
では、これらをすべて追加してみましょう。
絵文字については、ここで絵文字を検索することができます。
Windowsのセミコロンキーで、ロボットの絵文字を検索することができます。
私はMacの絵文字の方が好きです。
タイトルについては、もう一度、オブジェクトを動的に参照することになりますが、実際にその方法をお見せしましょう。
まず、この設定オプションをここに固定し、フォーマッタの成功メッセージに戻ると、titleプロパティがあるので、コピーパスをクリックし、titleに戻り、そのまま貼り付けます。
そして、タイプには、さまざまな選択オプションがあります。
Notionのデータベースで設定したAI transcriptionをクリックし、最後にtestをクリックします。
それでは、準備のために、ノートエリアに戻りましょう。
私はボイスノートに行くつもりです。なぜなら、ここで見せられるフィルタービューは、タイプがAIトランスクリプションであるノートを表示するからです。つまり、テストを実行すると、新しいトランスクリプトと要約がそのビューに表示されるはずです。
ページの作成に成功し、Notion APIからエクスポートされたすべての戻り値がありますが、さらに重要なのは、Notionに戻ると、まったく新しいトランスクリプトとサマリーが表示されることです。
そして、サマリー、トランスクリプト、そしてこの下に要点、アクションアイテム、フォローアップの質問など、良いものがすべてあります。
ここからは、デプロイを押すだけで、ワークフローがアクティブになります。これは、Googleドライブのフォルダに新しいオーディオファイルをアップロードするたびに、これが始まり、Notion内に同じトランスクリプトと要約が表示されることを意味します。
これはノーコード版であり、ノーコード版にはいくつかの制限があります。つまり、Whisperには現在25メガバイトのファイル制限があります。
ただし、それを回避したい場合、例えば、非常に長いポッドキャストエピソードを書き起こしたい場合や、1時間電話で話してそれを書き起こしたい場合、このチュートリアルのコードが重いバージョンがその問題を解決するのに役立ちます。
もし、あなたがPipedreamにコードをコピー&ペーストしたり、ChatGPTにコードをコピー&ペーストしたりすることに抵抗がなければ、チュートリアルのこのセクションをチェックしてみてください。
このチュートリアルのコードなしバージョンと同じくらい、いやそれ以上に包括的で、私が実際に自分のワークフローで使っているバージョンであることを明記しておきます。
ただ、このビデオでは、コードバージョンは、単純なボイスノートのためにこれを動作させたい多くの人々にとって、少し複雑すぎるかもしれないと感じました、そしてそれは、このコードなしバージョンがあなたのためにすることです。
もし、私が持っているような、このAIの書き起こしや要約のワークフローに最適なノート作成システムを手に入れたいなら、Ultimate Brainの中で手に入れることができますよ。
これは、タスク管理やGTDワークフローを含む、Notionのためのオールインワン生産性テンプレートです。
タスク管理もあれば、GTDワークフローもありますし、それらを使う必要はありません。
プロジェクト管理ダッシュボードがあり、目標追跡があり、レシピトラッカーがあり、そしてこのすべてのノートがダッシュボードにまとめられていて、それぞれのページに専用のページがあるため、携帯電話で非常にうまく機能します。
さらに、Ultimate Brainは、Notionのテンプレートの中で唯一、アクティブで献身的なサポートが受けられるテンプレートでもあります。
私たちは、すべての質問に答えるサポートチームを持っており、また、私たちは、常にテンプレートに独自のカスタマイズや変更を共有する顧客でいっぱいのコミュニティを持っています。
Notionを第二の脳にしたいのであれば、Ultimate Brainが最適です!thomasjfrank.com slash brainで入手できます。
下の説明文に割引コードもあるので、高額な割引を受けたい方はチェックしてみてください。
そして、いつもご覧いただきありがとうございます。
もし、私が新しいNotionのチュートリアルを作ったり、新しいテンプレートをリリースしたときに通知を受けたいなら、私のNotion Tipsのニュースレターにも登録してください。
下の説明文にそのためのリンクがあります。
また、私のウェブサイトには、完全に無料の「Notion基礎講座」もあります。
実は、今すぐお見せすることができるんです。
この小さなベタベタしたメニューがあります。
Notionの基本に行っていただくことができます。そして、ページの基本からライティングシステムまで、データベースまで、Notionをゼロから学ぶために必要なすべてがこのページにあります。また、現在新しいレッスンが開発されています。
もちろん、このページでNotion Tipsのメールマガジンを購読することができます。
質問があれば、下のコメント欄かツイッターでどうぞ。
私はトム・フランクリーです。
ツイッターではとてもアクティブに活動していますので、ツイッターをやっている方はぜひ私と交流してください。
そして改めて、ご視聴ありがとうございました。
何か他に見るものがあれば、そちらやそちらのビデオをクリックしてください。
このワークフローは、外出先でたくさんのアイデアを持っている人にとって、とても役に立つと思います。
さあ、実際に作ってみて、試してみて、感想を聞かせてください。
ご視聴ありがとうございました。
次回もお楽しみに。
では、また。