LIVESENSE ENGINEER BLOG

リブセンスエンジニアの活動や注目していることを発信しています

ChatGPT APIを使うためのWebUI(BetterChatGPT)を社内公開した話

これは LIVESENSE madeブログ 4月のお題 の参加記事です。

データプラットフォームグループの富士谷です。

ChatGPTのAPIの提供とポリシーの改変から、はや1ヶ月半くらい経ちました。弊社でも、ChatGPT(OpenAI API)を使った機能を開発し、転職会議や面接支援ツールのbatonnで、すでにリリースしています。

転職会議については、開発の裏側もブログで公開しています。

made.livesense.co.jp

APIを使った機能開発や業務効率化は今後も模索していきたいと考えています。 重要なのは、各々がどのように使えるか考えて、試して、共有してみることかなと思っています。 これ、個人的にはデータの民主化とか、RedashなどのBIツールがある意義とかと似てるなと思っています。

データプラットフォームグループでは、アクセスログをはじめとした様々なデータを社内の人が容易に使えるようにする活動を行っています。 その延長線上と考えて、今回は、ChatGPTの利用を広げるために、ChatGPTのAPIをChatGPTライクなUIで扱えるSPAの BetterChatGPTを、社内で利用できるようにしました。

why BetterChatGPT

ChatGPTの利用には、Web版のChatGPTが、一番の選択肢になりますが、データが学習等に利用される可能性があるため、機密情報等の入力は避けるべきでしょう。 APIであれば、入力データは学習に利用されないので、問題は軽減されますが、ChatGPTのようなわかりやすいユーザインターフェイスは、公式では提供されていません。 APIの利用には、OpenAI の Playground、RESTクライアントやpythonなどを使うことが多いのではないかと思います。 ただ、リテラシーがやや必要だったり、環境を自前で準備したり、無料枠が切れたら費用管理あたりも考えないといけません。 いい感じのUIがほしいですね。

気軽に使えるようにするために、slackを使ったり、例えばchatbot-uiPR TIMESさんの例)のような他のUIもあります。

私は、BetterChatGPTを選びました。

BetterChatGPT

BetterChatGPTは、ChatGPTと似たUIながら機能が豊富です。 チャットの修正やロールの設定(system、assitant、user)、パラメータの調整なども可能です。 環境変数にAPIキーを指定してyarn buildすれば、APIキーも静的ファイルに埋め込めます。 日本語対応も良い感じです。デスクトップアプリもあります。

正直に言えば、ちょっと前に、はてなブックマークでバズってたのを見かけて知りました。

構築

データプラットフォームグループでは、Livesense Brain という機械学習基盤(データ活用基盤)を構築しています。 GKE Autopilotで動作しており、社内向けWebアプリをサクッと公開することが可能です。 構成の詳細は省きますが、Deployment の initContainer で yarn build を実行し、APIキーを静的ファイルに埋め込んで公開し、Ingressで IAP を設定して社内限定公開にしています。

構成図

課題

システム面

今後、GPT-4の利用等のために、APIキーの切り替えも考えているのですが、APIキーはブラウザ上に保持されており、切り替えにはユーザ自身の操作が必要なので、ちょっと手間かもしれません。 BetterChatGPTはカスタムエンドポイントを設定できるので、これを立ててAPIキーを隠蔽してもよいかもしれません。悪用・流用の対策にもなります。

費用はOpenAIのページからわかるのですが、具体的に誰が使ってるかわかりません。これを知るには、構成から考え直す必要がありそうです。とはいえ、GPT-3.5-turboの費用は安く、今はほとんどコストかかってないので、必要になったときに考えようと思っています。

今後、ChatGPT pluginsや、画像などのマルチモーダルが出てくることを考えると、適切なUIや構成が変わってくるかもしれません。用途によっては、チャット形式ではなく専用のアプリケーションにしたほうが使いやすい場合もあると思います。そのときには、Streamlit とかを使って開発しようかなと考えています。

ガイドライン

ガイドライン(利用方針)の策定も課題です。今回、グループ向けではありますが、ざっくり言えば、以下のようなガイドラインを策定しました。

  • ChatGPTのWeb版
    • 社外秘の情報の入力は(これまでどおり改めて)禁止
      • 一般的な調べ物等であればOK
  • ChatGPT のAPI(BetterChatGPTも含む)
    • 個人情報や極秘情報等はAPIであっても原則禁止
      • 利用する場合にはデータを保持する部門や法務等への確認を必須
    • 議事録とかソースコードとか重要なものでなければ、社外秘の情報の入力はOK

実際のところ、その他ツールやSaaSなどと大きな違いはないと思うのですが、ChatGPTの汎用性が高すぎるし、「学習に使われる」とかちょっと特殊ですし、ガイドラインがないとよくわからないなとも思います。しかし、ガイドラインを抽象的にしすぎると分かりづらいし、具体的にするとそれはそれで線引が難しいです。迷ったら上長等に相談すること、としていますが、引き続き、改定をしていきたいなと思っています。

さいごに

リブセンスは、思いついたらサクッと開発できる文化があります。興味がある方は、採用情報をご確認ください。

hrmos.co