AIじゃないよ

全AIを一括で使えるアプリ「ChatbotUI」完全ガイド:Claude 3やGPT-4を月額契約なしで利用

当サイトはアフィリエイト広告を一部掲載しています。

OpenAIのGPT-4、AnthropicのClaude 3、GoogleのGemini 1.5と、次々と超高性能なLLMが登場する昨今、全てのAIサービスに別々に登録し、月額サブスクリプション料を支払っていたら、かなりの出費になってしまう。

しかし、各大規模言語モデルには、タスクの得意不得意があるので、色々なモデルを使い分けたいことも多い。

この点、各社のAPIキーを利用することで、月額契約なしで、一つのチャットインターフェース上で、GPT-4, Claude 3, Gemini, Mistral, Groq, Perplexityなどあらゆる大規模言語モデルをサクサク使える夢のようなツールが存在する。

それが、Mckay Wrigley氏がオープンソースで開発している「ChatbotUI」だ。

「ChatbotUI」アプリケーションの利用そのものは完全に無料で、MacやWindowsにインストールしてローカルで利用したり、インストールが面倒な場合にはブラウザ上から利用したりできる。

各社のAPIの利用料に応じて少額の支払いが生じるが、各社の大規模言語モデルのサブスク料が月20ドルほどが相場であることを考えると、複数モデルを使うならChatbotUIを利用した方が確実に安く済むと思われる。

本記事では、実際にChatbotUIのブラウザ版で、Anthropic社のClaude 3 OpusとOpenAI社のGPT-4モデルを動かしてみた手順を紹介する。

さらに、中上級者向けに、自分のMacにChatbot UIをインストールして、ローカル環境でAPIを動かし、ローカルのファイルや画像を各モデルに読み込ませる方法も紹介するので、ぜひ参考にしてほしい。



東京大学でも使われていたAIチャットアプリの使用方法

Chatbot UIは、オープンソースのAIチャットアプリで、開発者であるMckay Wrigley氏のGithubで公開されているレポジトリから自分のMac/PCにインストールして、ローカルで直ちに使い始めることができる。

オープンソースなので、学校内や企業内のサーバーで無料で動かすこともでき、実際、東京大学もこのChatbot UIを使った生成AIチャットサービスを学内向けに提供していた

ただし、現時点では、初心者には少しインストールのプロセスが難しい。

そこでおすすめしたいのが、ブラウザ上で利用できるChatbot UIのOfficial Hosted Versionだ。

面倒なインストール作業なしで、ブラウザ上でメールアドレスを登録するだけでChatbot UIを使い始めることができる。

自分の好きなLLMのAPIキーを使って、スタンダードなチャット機能を使う場合、すべて無料で利用できる。
複数のLLMのテキストチャットを使い分けたい、という目的の範囲では、Hosted Versionの無料版で十分だろう。

ファイルのアップロードなど更に高度な機能を有効にするには、Hosted Versionでは月8ドルの課金が必要だが、ローカルにインストールすれば全機能が無料だ。

まずはHosted版の無料の機能を使ってみて、もし気に入ったら、8ドル課金するよりもローカルへのインストールを頑張った方がお得そうだ。

画面構成や使い方は、Hosted版であれローカル版であれ一緒なので、以下では、まずブラウザ上で無料のHosted Versionを利用することを念頭に、使い方を詳しく解説していく。

ローカルインストール版をM3チップを搭載したMacにインストールして、自分のMac上で実際に使用してみた様子も紹介するので、さらに高度な機能を無料で全て利用したい人は、記事の最後までチェックしてほしい。

APIキーの取得方法:Claude 3 Opusの場合

そもそもAPIキーとは何か

APIキーとは、GPT-4やClaudeのようなAIサービスを利用するための自分専用のパスコードのようなものだ。

APIキーをアプリに入力すると、GPT-4やClaude 3とチャットすることができるようになり、そのAPIキーの持ち主に料金の請求が来る、という仕組みだ。

APIキーを取得するには、通常、OpenAIやAnthropic、Googleなどのサービスを提供している企業のウェブサイトでアカウントを作成し、APIキーを発行してもらう必要がある。

GPT-4やClaude 3 Opusの場合、予めアカウントにお金をチャージしておくと、APIキーの利用量に応じて、チャージした金額から料金が引かれていく従量課金の仕組みになっている。

OpenAIのGPT-4のAPIキーを発行する方法は、過去の当ブログの記事で紹介してあるので、ここではClaude 3の最上位モデルであるOpusを使用することを念頭に、AnthropicのAPIキーを取得する方法を紹介する。

AnthropicのWebサイトでClaudeのAPIキーを発行する方法

まずはAnthropic社のWebサイトより、ClaudeのAPIページに移動する。「Get started now」ボタンをクリックして、アカウントの作成画面に進む。

メールアドレスを入力して登録を済ませたら、AnthropicのAPIを使った開発ツール群にアクセスできる「ダッシュボード」に進むので、そこで「Get API Keys」に進む。

すると、現在自分のアカウントに紐ついているAPIキーの一覧が表示されるので、「Create Key」ボタンをクリックして、新しいAPIキーを作成する。

「chatbotui」など、何に使う予定のキーか分かりやすいように名前をつけておくと、後々使用量や課金額の管理が便利になるかもしれない。

APIキーを発行できたら、あとは利用料金をチャージすれば、APIキーを利用することができる。「Plans & Billing」のメニューから、課金プランやクレジットのチャージなどが可能だ。

筆者がAPIキーを初めてアカウントを作成した時点では、「Evaluation」プランというお試し用のモードになっており、5ドル分のクレジットが無料で付与された。

5ドルを使い切るまでは、無料で使い続けることができる。

Evaluationプランで付与された5ドルを使い切ったら、基本的には「Build」プランという事前チャージ方式の課金プランにアップグレードすることになる。

特に月々の定額の支払いは生じずに、必要な分だけクレジットをチャージするプリペイドプランだ。

1分間あたり4000リクエストが可能であり、大規模なアプリケーション開発などでAPIを利用する場合などを除いて、チャットで使う程度ならBuildプランで十分だ。

APIキーの利用料金はどれくらいなのか

Claude 3の最上位モデルであるOpusは、下位のHaikuやSonnetなどのモデルと比べると料金が高いが、それでも、以下のような価格だ。

  • 100万トークンの入力:15ドル
  • 100万トークンの出力:75ドル

100万トークンと言われてもイメージが湧かないので、1000トークンに換算して考えてみる。1,000トークンならば、1ドル150円換算で、入力0.015ドル(約2.25円)、出力0.075ドル(約11.25円)となる。

1,000トークンとは、だいたい英文750単語、日本語450字くらいだとイメージすると良い。

したがって、あくまで概算だが、日本語なら、原稿用紙1枚強(450字)の入力で2.25円、出力で11.25円ということだ。

サブスクリプションの場合、月額20ドル(約3,000円)を使用量に関わらず毎月支払うことになるが、APIキーで1ヶ月の間に3,000円分もの入出力をするのは結構大変だ。

日本語で原稿用紙222枚分の入力と、原稿用紙222枚分の出力をしたら、やっと3,000円に達する計算なので、大抵の人は、APIキーを使った方が安いだろう。

さらにこれがChatGPT、Claude 3、Gemini Proなどを併用するとなると、相当なヘビーユーザーでなければ、どうやってもそこまで大量にチャットを使うことはないと思われるので、サブスクよりも、APIキーを使った従量課金の方がずっとお得感がある。

ブラウザ版Chatbot UIの使い方

APIキーが用意できたら、いよいよChatbotUIのブラウザ版を利用する方法を紹介する。

まずはChatbot UIのOfficial Hosted Versionのトップページにアクセスして、メールアドレスを登録(Sign Up)する。

登録すると、早速ながら自分が所有しているAPIキーを登録することのできる画面が表示される。

ここで、OpenAIのGPT-4を利用するためのAPIキーや、上述したAnthropicのClaude用のAPIキーを登録できる。これら以外にも、GoogleのGemini、MetaのLlamaやMistralなどのモデルを利用できるクラウドサービスのGroq、Perplexityなどの有名モデル・各種APIに一通り対応している。

自分が使用する予定のあるAPIキーだけを入力すれば良い。筆者は、OpenAI、Anthropic、GoogleのAPIキーを発行して、GPT-4, Claude 3, Gemini Proを全て利用可能にしている。

初回登録時以外にも、Chatbot UIのユーザーセッティングを開けば、いつでもAPIキーを追加・変更できるので安心して欲しい。

APIキーを入力したモデルは、Chatbot UIで、「New Chat」ボタンで新しいチャットを作った際に、右上でモデル選択が可能になる。

筆者のアカウントでは、AnthropicのAPIキーを登録してあるため、Claude 3のOpusやSonnet、 Haikuを簡単に呼び出すことができるし、さらにOpenAIのAPIキーも登録しているおかげで、GPT-4 TurboやGPT 3.5 Turbo、または画像の読み込みに対応したGPT-4 Visionモデルまで呼び出すことができる。

タスクによって、最適なモデルをその都度選択して、自分の好きなLLMを直ちに呼び出せるのは、非常に便利だ。

チャットインターフェースの動作も軽快で、ChatGPTやClaude 3のブラウザ版をサブスク契約して使う際の画面と、ほとんど変わらない使い心地を味わうことができる。

ブラウザ版の無料プランでは、残念ながらファイルや画像を添付することはできないが、20ドルの月額サブスクに登録しなくてもGPT-4やClaude 3 Opusなどの最新モデルとのチャットを利用できるので、ぜひ活用してみてほしい。

Macのローカル環境でChatbot UIを使う

Appleシリコンを搭載したMac Book Airなどでも、Chatbot UIのローカル版をサクサク動かすことができる。

インストールの手順の細かいステップは、アプリのアップデートなどによっても変わりうるので、開発者であるMckay Wrigley氏のGithubページで最新のインストール方法を確認して欲しい。

Githubレポジトリのクローン、Docker、Supabaseのインストールなどを行うだけで、比較的簡単に起動できるので、それほどプログラミング等に詳しくない人であっても、Macのターミナルを使ってGit CloneとHomebrewさえできれば何とかなる。

ここでは、筆者がChatbot UIを購入したばかりのMac Book Airにインストールした際の流れをざっくり解説しておく。

Homebrewをインストールする

Homebrewは、MacOS用のパッケージマネージャーで、ターミナルのコマンドで様々なプログラムを簡単にインストールできるようになる。
使ったことがない場合は、Homebrewの公式ページにある以下のインストールコマンドを、ターミナルに打ち込んで、Homebrewをインストールしておく必要がある。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Homebrewインストールが完了した後に、ターミナルに「Next Step」という太字で表示されるPATHを通すためのコマンドを実行するのも忘れずに。

Node.jsとDockerを入れておく

Homebrewが使えるようになったので、Node.jsをbrewコマンドでインストールする。

brew install node

また、Supabaseを動かすにあたってDockerが必要なので、Mac用のDockerデスクトップをダウンロードしておく。

Chatbot UIのインストール

これで大体の準備ができたので、自分のホームディレクトリで、Git Cloneコマンドを使い、Chatbot UIのGithubレポジトリをコピーしてくる。

git clone https://github.com/mckaywrigley/chatbot-ui.git

ホームディレクトリにchatbot-uiというフォルダが作成され、その中にファイルがダウンロードされる。

次に、cdコマンドで先ほど作成したchatbot-uiフォルダに移動して、Dependenciesをまとめてインストールする。

npm install

そして、brewコマンドでSupabaseをインストールする。

brew install supabase/tap/supabase

Supabaseのインストールが完了したら、chatbot-uiフォルダで、以下のコマンドを実行し、Supabaseを起動する。

supabase start

初回起動時はそれなりに時間がかかるが、Docker Desktopアプリを開いてみると、勝手にSupabaseのコンテナが次々立ち上がっているのが分かる。

次に、環境変数の設定を行う。

cp .env.local.example .env.local

を実行してchatbot-uiフォルダの中に.env.localファイルを作成する。このファイル内に、Supabaseの諸々の情報を書き写す必要がある。ターミナルで、

supabase status

コマンドを実行すると、以下のようにSupabaseの認証情報などの必要な情報が表示される。

テキストエディタで、先に作成した.env.localファイルを開くと、以下のように、これらのSupabaseの情報を書き写す場所、GPT-4やClaudeなどのLLMのAPIキーを入力する場所があるので、それぞれを埋めていく。

  • NEXT_PUBLIC_SUPABASE_URLには、statusの「API URL」
  • NEXT_PUBLIC_SUPABASE_ANON_KEYには、statusの「anon key」
  • SUPABASE_SERVICE_ROLE_KEYには、statusの「service_role key」

他の項目は埋めなくても、アプリを起動後にAPIキーなどを入力すればとりあえず動作するので問題ない。

また、chatbot-uiフォルダ内にあるSQLデータベースの設定も確認が必要とのこと。

筆者の場合は特に何も変更の必要がなかったが、chatbot-ui/supabase/migrations/20240108234540_setup.sqlというパスにあるファイルをテキストエディタで開き、54行目に記入されているservice_role keyが、先ほどstatusで表示されたものと一致しているかを確認する。

Chatbot UIの起動

ここまで完了したら、chatbot-uiディレクトリで、ターミナルに以下のコマンドを打ち込むだけで、Chatbot UIが起動する。

npm run chat

コマンドが正しく動作したら、以下のURLを開くと、ローカルで動作しているChatbot UIのユーザーインターフェースが表示される。

http://localhost:3000

また、メッセージの履歴なども全てローカルに保存されており、以下のURLからバックエンドも閲覧できる。

http://localhost:54323/project/default/editor

Macのローカル環境のChatbot UIで、Claude 3, GPT-4を使ってみる

npm run chatコマンドで起動して、ローカルでUIを開いた場合にも、最初にはログイン画面が表示される。

本来は、サーバー上で動作させて、学校内、会社内のユーザーに使わせる場合に各ユーザーにアカウントを作成させるような使い方が想定されている。

ここでは、自分一人で自分のPC上で動かすだけなので、本当に適当なアドレスとパスワードを入力して、「Sign Up」をクリックすれば使用開始できる。

ただ、一応チャット履歴などがユーザーに紐ついて保存されるので、真面目に自分の本当のメールアドレスなどを登録しておいた方が後々分かりやすいかもしれない。

ユーザー名の作成が完了すると、APIキーを設定することのできる画面に移行する。

先に作成した.env.localファイルの中でAPIキーを入力していれば、ここで入力されたAPIキーよりも、.env.localファイルの中に記入されたAPIキーが優先される。

ここで、ブラウザ版と同様に、自分が使いたいLLMモデルのAPIキーを入力しておけば良い。

筆者は、OpenAI、Anthropic、Googleはよく使うのでAPIキーを設定しておいた。

APIキーを入力すると、そのキーで使用できる大規模言語モデルが、右上のプルダウンメニューから選択できるようになる。

ブラウザ版の無料プランでは利用できなかったファイルのアップロードなどにも対応している。

例えば、ローカルにあるPDFファイルを、GPT-4 Turboに読み取らせてみると、ファイルの中身を正確に読み取って回答が得られた。

特定のモデルに、特定のシステムプロンプトを組み合わせて、自分好みの動作をするようにカスタマイズする「プリセット」機能や、よく使うプロンプト分をテンプレートとして保存しておく機能、ファイルをアップロードしておいて、それらのファイルを大規模言語モデルに参照させる機能などが備わっている。

ブラウザ版だと月8ドルかかる費用が、ローカル版なら全て無料で利用できるのが熱い。

次々と新しいAIモデルが登場する今、Claude 3 Opusが登場した直後にChatbot UIが即座に対応していたので、最新のAIを試すには最高のアプリケーションだと言える。

月額契約をしなくても、画像やファイルのアップロードなど、ChatGPTやClaude 3に備わっている機能の一部は、Chatbot UIでも再現可能なので、利用料金を抑えながら、最新モデルを色々つまみ食いするには最適なツールではないか。



Make a comment

*
*
* (公開されません)