🍣

Gemini1.5 proとClaude 3 Opusを横に並べただけのチャットアプリを作ってCloud Runで動かしてみた

2024/04/22に公開

Google Cloud Next'24で、Gemini1.5 proが発表されました。
またつい最近、Claude 3 OpusがVertexAIでも使えるようになりました。

どっちが優れているか気になったので横に並べて同時に使ってみるアプリを作ってCloud Runにデプロイしてみました。

ソースコード

記事にしたけど、単純にAIを呼び出して結果を横に並べているだけで語ることが特にないです。LangChainからAIを呼び出してSteamlitでWebアプリ化しています。

コードは貼って置きます。
https://github.com/k-ibaraki/gen-ai-sample-app

雑記とか

LangChainからVertexAIのClaude 3 Opusを呼ぶのが結構面倒くさかった

アプリを作るのにLangChainを使っています。LangChainを使うほどの内容のアプリではないですが過去のコードを流用したかったからです。Gemini1.5を呼ぶのはモデル名を変えるだけで簡単に出来たのですが、Claude3を呼ぶのは結構面倒くさかったです。
その件ついては、スクラップの方に書いたので詳細はそちらを見ていただければと思います。
https://zenn.dev/ibaraki/scraps/533948e6439ea6
なおAWSのBedrockなら特に詰まることもなく簡単にClaude3が使えたので、Claude3を使いたいだけならAWSの方が早いと思います。

CloudRunのコンソールでVertexAI統合機能が使えるようになったよ

NEXT'24で発表された新機能です。使いました。

コンソールからポチポチするだけで、VertexAIと連携する設定が簡単に入れられるようになりました。
と言ってもサービスアカウントに権限を付与しているだけなので、手動でやっても正直大した手間ではないです。

NEXT'24ではCloudSQLとFirestoreの統合も発表されていました。CloudSQLは結構ありがたいです。

デプロイしないとCloud RunのURLが分からない問題

Cloud Runにデプロイしてインターネットに公開すると好き勝手使われてしまう恐れがあるので、Google OAuthで認証する機能を入れておきました。
OAuthの設定をする際にはRedirectURLが必要なので、デプロイした後のURLを先に知っておきたいのです。デプロイ後にURLを取得して再デプロイする2度デマになるので。

現在のCloudRunのURLはこんな感じです↓↓

事前にはProject Hashが分からないので、残念ながらURLを知ることが出来ません[1]

ですが、NEXT'24で発表された新機能で、事前に分かるURLが発行されるようです↓↓

便利になりますね。まだPrivate Previewなので使えませんが。

Gemini in Cloud Run + Application Canvas が気になる

Cloud Run関係でNEXT'24で発表された新機能だと、コンソールからGeminiに作りたい内容を伝えるとインフラ構成を考えてくれてかつApplication Canvas上にインフラ構成を表示してくれる機能が気になります。

基本的に本番ワークフローはIaC書くことになると思うのでこれらの機能が何処まで実践で使えるかは分からないです。ですが、サクッと適当なコンテナをクラウド上で動かしたい時はそれなりにあるので、結構ありなんじゃないかなぁと思っています。私は、AWSのApplication ComposerもとりあえずLambdaをサクッと動かしたいときとかに使ってたりします。

以上です。

脚注
  1. 同じプロジェクト内に適当なコンテナをデプロイすれば分かりますけど、面倒くさいですね。 ↩︎

NCDCエンジニアブログ

Discussion