見出し画像

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

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

概要

  • ChatGPTのAPIについて

  • APIキー取得の流れ

  • 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(今後、使う予定のないもの)は削除していくことをおすすめします。ゴミ箱アイコンから削除可能です。

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キー右側のゴミ箱アイコンから破棄できましたね。

---
XではAIの最新ニュースやプロンプト、活用アイデアを発信しています。フォローよろしくお願いします!(@robothink_jp)


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