2024年8月3週目振り返り

今週やったこと

LINE Messaging API + OpenAI API + GASでチャットボット実装した

コストを抑えつつAI機能を使ったLINE botを実装しました。
技術要素としてはLINE Messaging API + OpenAI API + GASを使いました。
LINEに投稿した内容をGASのdo_postメソッドで取得し、GASからOpenAI APIにリクエストを送る形にしています。

実装自体はそこまで時間がかからずできましたが、OpenAI APIのクレジットを購入したりする手間が必要だったのでそこを調べるのに少し時間がかかりました。
クレジットを購入していない状態でAPIリクエストを送るとステータスコード429エラーになっていましたが、クレジットを購入して15分ぐらい経つと正常にOpenAIからのレスポンスを受け取れるようになりました。

ここから発展させておもしろいLINE botを作ってみたいと思います。

今週学んだこと

Pythonのdatetimeオブジェクトのtimezoneについて

  • Pythonでtimezoneの情報がないdatetimeオブジェクトはOffset-naive datetimeとして扱われ、timezoneの情報があるdatetimeオブジェクトはOffset-aware datetimeとして扱われる。
    両者を比較しようとするとTypeError: can’t compare offset-naive and offset-aware datetimesエラーになる
    • 両方のdatetimeオブジェクトのtypeを一致させれば比較可能になる。今回はテストコードでdatetimeをtzinfoなしで初期化していた部分をdatetime.datetime(2024, 1, 1, tzinfo=timezone.utc)と修正してtimezone情報を追加することで比較できるようになった

参考になった記事など