見出し画像

【自動日記ツールまとめ】GoogleとOpenAIのAPIを使用した自動日記作成ツール作成手順


年末に今年一年を振り返るために、毎日の出来事が自動的に日記として生成されていてほしいのだ。

この欲望をもとに、ようやく辿り着いた一連の仕組みがあるので、今日は、それを紹介します。

プログラミングスキルのある諸先輩方は、
「なにをそんなみみっちーことを。。」
と、思うかもしれませんが、今はこれが精一杯です。


自動日記ツールがやること


全工程のフローチャート

今回は、Googleカレンダーからスケジュールを抜き取り、GPTにまとめてもらう手法をとります。

使用するツール

  • Googleカレンダー

  • Googleスプレッドシート

  • Googleドキュメント

  • Google Apps Script

  • Open API

出来たこと

  • 毎日定時になったらGoogleドキュメントに絵日記が作成されている仕組み

現時点の課題

  • Googleカレンダーを使うことの弊害

    • 予定の通知が他のスケジュール通知と混ざる

    • カレンダーの「説明」の編集時、「全てのスケジュールを更新」してしまうと詰む

  • 費用の問題

    • 日記自体の費用は一日(一回)10円くらいだが、チャットGPTプラスの月額20ドルも考慮すると一日100円くらいかかる

  • GPTのModelが変わると動かなくなる問題

    • 今回、現時点で出来る最高のアウトプットを目指したので、日記の作成は「gpt-4-turbo-preview」を使い、イラスト作成は「dall-e-3」を使用しているんだけど、このModelがopenai側で変更されたとき、このGASは動かなくなる。

  • 今後はMAPとか、photoからも情報を取得してリマインドされたい。

    • でも今のところ、40歳インドアオジサンのMAPアプリのタイムラインは毎日家にいるし、写真も猫と子供の写真なので、優先度は低い。かなり。

中身の説明

今回の一連の流れでは、GoogleとOpen AIの組み合わせで、リッチに日記を作成します。
以下の「やること」10個を行うことで、毎日の日記が楽に楽しくなるはずです。
私が書かなくても丁寧に説明されているサイトがあったり、今後のアップデートの際に修正が楽になるように、各項目は他の記事を引用しています。
ページの行き来が面倒かもしれないですが、ご容赦ください。

情報の取得 - GoogleCalendarの準備

以下の工程をクリアするための準備です


■ここでやることの説明
GoogleCalendarを使用して出来事をメモする。
 ・カレンダーには、予め「空のスケジュール」をセットしておきます。
 ・カレンダーの通知機能でリマインドされたら、手動でカレンダー内に「起きた出来事」をメモするスンポーです。
  ・このとき、忙しかったり、特に何も起きてないとき「後ででいいか」と思いがちです。
  ・そのため、最初は仕事で使っているSlackのワークフローでリマインドされるようにしていました。仕事ならちゃんとやる私が偉いと思います。
  ・ただ、Slackのワークフローは有料じゃないと使えないそうです。また、使うツールが多いと設定も複雑になるので、Googleだけにすることにしました。

やること:1 Googleアカウントの用意

やること:2 GoogleCalendarのセッティング


情報の取得 - GoogleスプレッドシートとGASの準備

以下のすべての工程で使用するスプレッドシートの用意です

■ここでやること説明
GoogleSpreadsheetと、Google app script(GAS)を使用してデータを整理する
 ・「知ってる人」からすると、Pythonだなんだというやり方のほうが主流&シンプルに出来ると思うんですけど脳みそが追いつかないので、GoogleAppScriptで、GoogleCalendarからGoogleSpreadsheetに情報を落として整理することにします。
 ・ここまで、大げさに英語を並べて情報を複雑にしていますが、「カレンダーからスプシにデータを自動取得する」と同じことを言ってます。このようなマウントするテクニックを大人たちは使ってきますので、会社に就職したら「それってこういうことですよね」と日本語で単純化して返すといいでしょう。

やること:3 Googleスプレッドシートの作成

やること:4 Googleドライブにフォルダ作成

やること:5 GoogleAppScriptへ新しいプロジェクトの作成〜「スクリプト プロパティ」を設定〜Calendarから情報を取得するコードの設定

以下工程です


日記の作成 - openAIのchatGPTを呼び出せるAPIKeyを取得する

以下工程で使用するGPTのための準備です


■ここでやることの説明
私が普段使ってるからpromptが作成しやすいのでchatGPTを使用します。
 ・この日記を作成している最中にも、Google発の「gemini」など、他の生成AIの革新がニュースされていましたので、今後はGoogleだけに統一するとかしても良いかもと思うし、私が作らなくてもGoogleが自動日記ツール作ってくださいお願いします。
 ・今回、現時点で出来る最高のアウトプットを目指したので、日記の作成は「gpt-4-turbo-preview」を使い、イラスト作成は「dall-e-3」を使用しています。そのため、プランのアップグレードが必要です
 ・月額無料アカウントだと、(2024年2月現在)gpt-4やdall-e-3が使用できません。

やること:6 OpenAIのアカウント用意・APIキーの取得・アップグレード

日記の作成〜保存 - GoogleでAPPでScriptで

本作成手順も、いよいよ最終工程です。
以下の設定を行います。


■ここでやることの設定
・用意した環境をもとに、GASを登録していきます。
・ここまできたら、もうあとは「エラーがでないことを祈るのみ」の祈祷力の勝負になります。

やること:7 GoogleAppScriptのプロジェクトへ、「スクリプト プロパティ」を設定〜日記生成のGASを設定


イラストの作成〜保存 - GAS経由で作成されたイラストを保存

■ここでやることの設定
・日記の作成と同じような仕組みで、OpenAIのDALL-Eにイラストを描いてもらう工程です。
 ・ここまでの流れで、作成された日記がGoogleドキュメントに保存されているので、イラストがなくても良い方はコレ以降は不要でも毎日動くのは動きます。

やること:8 GoogleAppScriptのプロジェクトへ、イラスト生成のためのGASを設定



自動で動く仕組み - プロジェクトへトリガーの設定

■ここでやることの説明
・以上で、ボタン一つで動くツールはできましたので、あとは、これを自動で(定期的に)動く設定をします。
・今回作成したものは「毎日」動かす前提としていますので、トリガーも毎日定時に動くようにします。

やること:9 トリガーの設定


おわりです!
お疲れ様でした。

つかれたーーーー


以下【有料記事】へのリンク

以下は、各promptと、今回の自動日記のシートやGASの設定がされているシートの有料販売です。
ぜひ、試してみてください。





今回の全部が入ってるシート


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