見出し画像

ChatGPTは自動化で真価を発揮する

この記事はポッドキャストとの連動コンテンツです。リスナーの方にmakeを使ったChatGPTの自動化について詳しく説明することを目的に公開しています。

概要

  • ChatGPTのAPIについて

  • OpenAI APIキー取得の流れ

  • (オプション)OpenAI Playgroundで遊ぶ

  • makeを使いメールを受信したらChatGPTのAPIで処理する実装をデモ

ちなみに、エピソード内で紹介した音声スピーチの費用は3分前後で約12円でした。この記事で紹介するデモ(メールの一行要約を作り、下書きを作成する)は約1.6円でした。

自動化とは?

ChatGPTを手動で動かすのではなく、自動で動かすこと。具体的にはOpenAIのAPIを使って動かしていく。

APIとは?

プログラムからChatGPTを操作できるもの。

makeを使ったChatGPT自動化

makeとは様々なツールを自動化できるツールです。ブロックを組み合わせるようにコードを書かずに自動化を実装できます。

例えば、「Gmailを受信したら自動で⚪︎⚪︎をする」のような感じです。
ここでは3ステップでChatGPT × makeを使った自動化を紹介します。

ステップ1: ChatGPTのAPIキー取得

ChatGPTのAPIキーを発行するサイトにアクセスします。

https://platform.openai.com/api-keys

画面にStart Vertificationと表示されている方は電話番号の認証を済ませます。

画像

クレジットカードの登録がまだの方は右上の歯車アイコン > 左サイドバーBilling > Add payment detailsから登録します。

画像

下準備が整ったらAPI keys > Create new secret keyからAPIキーを発行します。

画像

名前はオプションです。ここではtest_api_keyとしました。Create secret keyを押します。

画像
画像

Copyを押して発行されたAPIキーをコピーします。後で使うのでメモしておきます。

APIキー取り扱いの注意点

ポッドキャスト内でも話しましたが、APIキーはクレジットカードのようなものです。ChatGPTをAPI経由で利用した場合、利用に応じて課金されます。
先ほどAPIキーを発行しましたが、共有しないようにご注意ください。APIキーさえ分かれば誰でもあなたの名義でChatGPTのAPIを使えてしまうことになります。クレジットカードを道端に落とすようなイメージです。
テストで作ったAPI(今後、使う予定のないもの)は削除していくことをおすすめします。ゴミ箱アイコンから削除可能です。

画像

OpenAI Playgroundで遊ぶ

APIキーを発行した後はPlaygroundでモデルやプロンプトの実験ができます。
新しくリリースされたGPT-4.5も従量課金で使うことができます。

画像
右上のモデル選択からGPT-4.5-previewを選択する

→OpenAI Playgroundへ

makeを使う

APIキーを使えばChatGPTをプログラミングから操作できますが、ここではmakeというツールを使って動かしていきます。

https://www.make.com/en

会員登録はGoogle連携などで簡単にできます。無料で利用可能です。
ログイン後、右上のCreate a new scenarioをクリックします。makeでは処理の塊を「シナリオ」と定義しています。

Search apps or modulesにOpenAIと入力しモジュールを検索します。

画像

モジュールというのはOpenAIやGmailなど外部の様々なサービスを指します。これらを組み合わせて自動化の処理を実装します。
OpenAIと検索後、OpenAI(ChatGPT, Whisper..)を選択。

画像

若干、下にずらしてCreate a Completion (GPT-3, GPT-3.5, GPT-4)を選択。

画像

Connection > AddからAPI Keyの箇所にOpenAIのサイトで発行したAPIキーを入力 > Saveを押します。makeでOpenAIのAPIにアクセスする準備が整いました。

画像

ChatGPTにAPIからアクセスする

各項目を埋めていきます。

画像

Model

使用する言語モデルです。GPT-4oやGPT-4、GPT-3.5など選べます。ここではAPIの料金が安いGPT-3.5を選択しました。

Role

Userを選択。この後に入力するMessage Contentをユーザーからの入力として処理します。

Message Content

いわゆるプロンプトの部分。

Max Tokens

トークンの最大値を決めます。トークンは入力するプロンプトや回答の文字数のようなものです。日本語だと1文字あたり、ざっくり計算して1トークン。テストなので100にしておきます。

以上の入力が終わったら、Run Once(一度だけ実行)を押します。

画像

Run onceを押すとChatGPTのアイコン右上に"1"という数字が出てくるので押してみましょう。実行結果が上図のように表示されます。

Result	こんにちは!元気ですか?何かお手伝いできることがありますか?
Model	gpt-3.5-turbo-0125

"こんにちは!"というプロンプトに対して、このような回答結果を確認できました。

メールを受信したらChatGPTに一行要約と返信の下書きを作成してもらう

さて、ここまでAPIからChatGPTを操作する方法を見ました。締めとしてメールを受信したらChatGPTに一行要約と返信の下書きを作成してもらう方法を考えてみます。
一度、処理を整理してみましょう。
1️⃣ メールを受信したら
2️⃣ メールの内容とプロンプトをChatGPTに投げて
3️⃣ 一行要約と返信の下書きを作成してもらう。

まず、現時点で出来ることを見ていきます。1️⃣と3️⃣は自動化の部分なので後回しにしましょう。
2️⃣から行きましょうか。こちらはプロンプトを考えれば良さそうです。
メールの内容を添付して、一行要約と返信の下書きを作成するプロンプトを考えます。

# 指示
次の処理を実行する。
- メールを一行に要約する
- メールの返信を出力する。出力内容は丁重なお断りメールにする。

# メール
(メール内容)

テストなのでシンプルなプロンプトにしました。営業メールに対する返信を想定しています。

メールの受信処理

makeの現在の画面は先ほど作成した"こんにちは!"シナリオだと思います。画面左サイドバーに家アイコン(Organization)を押してホーム画面に戻ります。
「まだシナリオ保存されてないよ」とメッセージ出ますが、不要なので削除します。Discard changes(変更を破棄する)を押します。

画像

改めて画面右上のCreate a new scenarioから新しくシナリオを作成します。
次にSearch apps or modulesに"Webhooks"と入力してモジュールを検索します。Custom mailhookを選択します。

画像

「メールを受信したら⚪︎⚪︎する」というモジュールです。Add > saveを押すと即席のメールアドレスを発行してくれます。

画像

Copy address to clipboardを押して、こちらのメールアドレスをメモ帳にコピーしておきます。
これで、このメールアドレスにメールが届いたら⚪︎⚪︎するの部分が実装できました。

ChatGPTのモジュールを用意する

メール受信後の処理を実装します。具体的には"メール受信→ChatGPTで処理"という流れです。
Webhooksのモジュールの右側のポコっとした所にマウスを乗せてAdd another moduleを押します。

画像

このようにmakeではモジュールを連結させることでコードを書かずに処理を実装できます。

ここからは先ほどのChatGPTモジュールの復習となります。
Search apps or modulesにOpenAIと入力しモジュールを検索します。

画像

OpenAIと検索後、OpenAI(ChatGPT, Whisper..)を選択。

画像

若干、下にずらしてCreate a Completion (GPT-3, GPT-3.5, GPT-4)を選択。

画像

先ほどは、ここでAPIキーを設定しましたがすでに設定済みです。

各項目を埋めていきます。

画像

変更点は、次の3点です。

  1. ModelをGPT-4oに変更

  2. Message Content内のプロンプトを変更

  3. Max Tokensを1000に変更

ちなみに、プロンプトの# メールの下に"1. Text"と赤枠で囲まれているものがあります。これはWebhooksで受信したメールの内容です。
Message Contentをクリックすると画面に表示されるのでドラッグ&ドロップでこの場所に移動させます。

画像

メールで受信した内容をChatGPTのプロンプトに渡せます。以上で完成となります。

テストしてみる

先ほど、Webhooksで発行された即席のメールアドレス宛にメールを送信してみます。

画像

自分のメールアドレスから即席アドレス宛に送ってみましょう。内容は👇に用意しました。

株式会社ロボシンク 代表者様

お世話になります、株式会社⚪︎⚪︎の田中でございます。弊社では法人様向けに業務改善をサポートをするサービスを提供しています。サービスご案内のためご連絡しました。

ぜひ詳細を直接ご案内させて頂きたく思います。以下URLからご都合の合う日程をご選択頂けると幸いです。
[URL]

以上となります。お手数おかけしますがご確認の程、よろしくお願いします。

メール送信後、make画面に戻り画面左のRun onceを押します。
私の環境では10秒ほど時間がかかりました。この間に即席のメールアドレス宛に送られたメール内容がChatGPTのAPIに送られ処理されています。

ChatGPTアイコンの右上に表示する"1"を押してみます。
OUTPUT Resultを押すと..API経由で受信したメールの一行要約と返信の下書きが出力されていますね🎉

画像

発展

以上、早足となりましたがChatGPT × makeを使った概要となります。
今回、処理を分かりやすくするためRun onceで結果を手動で確認しています。これはスケジュール設定をすることで自動化できます。(例:1時間、毎日、毎週月曜など)

ここでは基本的なことだけに限定しましたが、様々な発展を考えることができます。
例えば、メールを受信したらChatGPTに処理をさせて、その結果をSlackやLINEに通知する。
サンプルではChatGPT以降の処理を実装していません。しかし、ChatGPTのモジュール以降に様々なモジュールを繋げていけば、結果をSlackに通知したりスプレッドシートに保存する、ような処理も実装できます。

画像
ポッドキャストの更新を取得しChatGPTで処理。結果をTodoistに通知するシナリオ

ちなみに、今回Webhooksを使っていますが、受信メールをWebhooksの即席メールアドレスに転送し、ChatGPTに処理させるという使い方もできます✌️

最後にこれをする

APIキーを直近で使う予定がなければ削除しておきましょう。APIキー右側のゴミ箱アイコンから破棄できましたね。

画像

【note読者限定】生成AIのおすすめツールの資料を配布中

  • 生成AIツールは何を使えばいいか分からない

  • もっと業務効率化に貢献するツールを知りたい

  • ChatGPT以外のAIツールを知りたい

こういった声に応えておすすめの生成AIツールを解説する資料を制作しました。もっとAIの情報をキャッチアップしたい人はぜひご覧ください。
👉資料を受け取る

noteでも月に20本ほどAI関連の記事を投稿しています。フォローよろしくお願いします😼


いいなと思ったら応援しよう!

ピックアップされています

AI活用アイデア(矢野哲平)

  • 19本

コメント

ログイン または 会員登録 するとコメントできます。
ChatGPTは自動化で真価を発揮する|矢野 哲平@耳で学ぶAI
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1