ChatGPT+Flutter+Firebaseを使ったWebサービスを作ってみた ~構成編~

注意事項

この記事は、Notion AIに対して

  • 問題と解決策の概要
  • 例示用のコード

を渡して生成した実験的な記事になります。

はじめに

前回の記事の続きで、WordySquirrelの構成について雑に紹介します。

khasegawa.hatenablog.com

構成

以下の図がWordySquirrelの構成についての概要です。

図から分かるように、ユーザーが文章を入力すると、Firebase Functionsがリクエストを受け取ります。
認証に成功した場合、Firebase FunctionsはOpenAIにリクエストを送信し、OpenAIが応答を返します。
最後に、Firebase FunctionsはOpenAIからの応答を受け取り、ユーザーに返します。

認証

WordySquirrelでは、Firebase Authenticationを使用してユーザーを認証します。
今回はGoogle認証のみを設定していますが、必要に応じて他のログイン方法も実装可能です。

認証・認可を行っている理由は、2つあります。

  • スパムやボットからのリクエストをある程度は防ぐ
  • ユーザが自身が投稿した内容を後から振り返るための履歴画面を作る

これらの目的からログインできるようにしています。

データ

データは、Firestoreを利用して管理しています。
記事用のarticlesコレクションのみで、各ドキュメントは以下のようになっています。

{
  owner: {UID},
  input: {
    target: {TARGET},
    prompt: {PROMPT},
  },
  output: {OPEN AI RESPONSE},
}

まとめ

以上が、WordySquirrelの構成についての説明です。
WordySquirrelの構成はシンプルですが、Firebase FunctionsとOpenAIを組み合わせることで、高度な機能を提供することができます。