🦔

社内用のChatGPTを用意した話

2023/04/17に公開

こんにちは、みてねコールドクターでエンジニアマネージャーをしている遠藤です。
社内用のChatGPTを用意した話をします。

背景

ChatGPTが登場以降、その有用性が認められ、業務改善に繋げられることが多いことが分かってきました。
弊社でもChatGPTを有効活用したいと考えましたが、以下のような問題がありました。

  • ChatGPT経由での入力が学習データとして使われる可能性がある
  • 法人プランが用意されていないので、個人契約が必要

そこで、社内用のChatGPTを用意することにしました。

検討事項

社内用に用意するにあたり、以下の点を検討しました。

  • API経由での利用
  • メンバーがAPIキーを扱わなくてもいいようにする
    • 気軽に使えるように
  • カスタマイズや自前で用意しないようにする
    • 変化が激しいため、なるべく環境をすぐ捨てられるようにする
  • 社内以外のメンバーがアクセスできないようにする

上記を検討した結果、BetterChatGPT + Cloudflare pages + Cloudflare accessを使うことにしました。

BetterChatGPT

BetterChatGPTを選んだ理由は以下の通りです。

  • ChatGPTライクのGUIがある
  • systemプロンプトも扱える
  • 環境変数にAPIキーの埋め込みが可能
  • フォークしてそのままCloudflare pagesにデプロイできる
  • DB不要で簡単

Cloudflare pages

Cloudflare pagesを選んだ理由は以下の通りです。

  • ホスティングが簡単
  • スケーラビリティが高い
  • Cloudflare accessを使うことで、社内以外のメンバーがアクセスできないようにできる

Cloudflare access

Cloudflare accessを選んだ理由は以下の通りです。

  • Cloudflare pagesと相性がいい
  • 50名まで無料で使える
  • メンバーのメールアドレスでログインできる

導入

1.Cloudflare pagesの設定

BetterChatGPTをフォークして、privateリポジトリとして社内のみに公開しました。カスタマイズしないのでpublicリポジトリにしても問題ありません。
次に、フォークしたリポジトリをCloudflare pagesに設定します。

ビルドコマンドに yarn build、デプロイディレクトリに dist を指定し、VITE_OPENAI_API_KEYにAPIキーを設定します。

カスタム ドメイン に設定したいドメイン名を入力します。

2.Cloudflare accessの設定

Cloudflare accessを設定します。
細かい設定は省略しますが、
typeはSELF-HOSTED に設定し、Application URL はCloudflare pagesで設定したカスタムドメイン、policyはEmails ending in に 自社のメールで使っているドメインを設定します。

3.Cloudflare bulk redirectの設定

ドメイン経由のアクセスは制限されていますが、pagesが作成する pages.dev ではアクセス制限されないので、bulk redirectを設定します。
一括リダイレクト リスト のソース URLに、pages.dev ドメインのURLを設定し、宛先 URL に、Cloudflare pagesで設定したカスタムドメインを設定します。
その後、一括リダイレクトルールの作成 からルールを作成し、リストに先ほど作成したものを選択してください。
有効にすれば、pages.dev ドメインからアクセスした場合、Cloudflare pagesで設定したカスタムドメインにリダイレクトされます。

まとめ

BetterChatGPT + Cloudflareで簡単に社内用のChatGPTを用意することができました。
ホスティングの手間もなく、またセキュアな環境が簡単に作れたかと思います。
まだまだ社内で使われているとは言い難い状況なので、今後は社内での普及を進めていきたいと思います。

コールドクターでは、LLMを使って業務改善をしてみたいエンジニアを募集中です。

みてねコールドクターテックブログ

Discussion