ChatGPTやStable Diffusionといった生成AIサービスが人気を集めるなか、Googleが提供するGeminiに着目している方も多いのではないでしょうか。GeminiもChatGPTのように、質問形式でテキストの生成を行えますが、テキスト以外に画像や動画などの情報も理解できるため、生成コンテンツの質を高められます。
このGeminiを、自社のシステムやアプリケーションなどに実装できるのがGemini APIです。そのため、テキスト生成やメッセージのやり取りといった機能を実装した、独自のシステムを構築できます。本記事では、Gemini APIの特徴や仕組み、導入方法を解説します。具体的な活用例も紹介しているので、ぜひ参考にしてください。
そもそもGeminiとは何か?
Gemini APIを理解するためにはGeminiに対する理解が欠かせません。Geminiとは、Googleが提供している生成AIモデルです。生成AIは、人間が指示を与えることで機械がテキストや画像などのコンテンツを生み出す技術で、コンテンツを生成するための規範を生成AIモデルといいます。
Geminiの最大の特徴は、マルチモーダルな生成AIモデルである点です。従来の生成AIモデルとは異なり、Geminiではテキスト以外にも、画像や動画、音声、コードといった幅広い形式の情報を理解できます。これにより、ニュアンス的な表現を理解できるため、生成コンテンツの幅が広がったり、質が向上したりといったメリットが生まれます。
GeminiとはGPT-4を凌ぐGoogleの次世代AIモデル|最新情報からできることを紹介
Gemini APIとはシステム上でGeminiの仕組みを稼働できるサービス
Gemini APIは、Geminiの能力をさまざまなシステムやアプリケーションに組み込むためのインターフェースです。Webブラウザ上で動作するGeminiとは異なり、Geminiのテキスト生成・理解能力を、APIを通じて独自のシステムやアプリケーションに組み込めます。
APIパラメータを通じてGeminiの振る舞いを細かく調整し、特定のタスクやユースケースに合わせて最適化できるのもポイントです。また、さまざまなプログラミング言語やプラットフォームに対応しており、既存のシステムやワークフローへの組み込みをスムーズに行えます。
Gemini APIの導入方法
Gemini APIの導入手順は次の通りです。- Google AI StudioでAPIキーを取得
- ライブラリのインストール
- コード作成・実行
Google AI Studioとは、Geminiを無料で試験的に利用できるサービスです。テキスト生成によるGeminiとの会話を楽しめるほか、やり取りの内容をGoogleドライブに保存できます。Gemini APIを利用する際は、このGoogle AI Studioを通してGoogle CloudプロジェクトからAPIキーを取得します。
仮にPythonでGemini APIを呼び出す場合は、シェルで次のコマンドを実行してライブラリをインストールしましょう。
pip install google-generativeai python-dotenv |
import os from dotenv import load_dotenv import google.generativeai as genai # .envファイルの読み込み load_dotenv() # API-KEYの設定 GOOGLE_API_KEY=os.getenv('GOOGLE_API_KEY') genai.configure(api_key=GOOGLE_API_KEY) gemini_pro = genai.GenerativeModel("gemini-pro") prompt = "質問内容を記載" response = gemini_pro.generate_content(prompt) print(response.text) |
最後に、シェルで次のコマンドを実行すると回答を受け取れます。
python main.py |
Gemini APIの活用例
Gemini APIを利用することで、次のようなことが可能になります。- テキストの生成
- チャット
- エンベディング
- モデルに対する入出力制限
それぞれの活用方法を解説します。
テキストの生成
質問内容に応じて機械が独自のテキストを生成します。先ほど作成したコードの、「prompt = "質問内容を記載"」の「質問内容を記載」の箇所に、Geminiに聞いてみたいことを入力しましょう。また、有料版のGemini Pro Visionの場合、画像をインポートして、その画像の内容をGeminiに説明してもらうことも可能です。
Gemini APIでは、コードを変更することでさまざまな機能を利用できます。例えば、一つの質問に対して複数の回答を得られる「candinates」や、回答結果をリアルタイムで表示させる「streaming」などのコードが代表的です。
チャット
有料版のGemini Proの場合、AIとの間でチャット形式の会話を楽しめます。例えば、「私の名前は○○です」のメッセージを送信すると、AIが「こんにちは、○○さん、よろしくお願いします」といった形で返答してくれる仕組みです。
また、次のようなコードを実行すると、メッセージをやり取りした履歴を確認できます。
for message in chat.history: |
このコードでは、過去のチャット履歴の中からメッセージを順番に取得して、それぞれのメッセージの役割(ユーザーが送ったものか、システムが返したものか)とその内容を太字に変換しています。
エンベディング
エンベディングとは、テキストデータを数値データへと変換する技術です。エンベディングを行うことで、長文のなかから特定の情報を抽出できるほか、テキスト同士の類似性や関連性を見つけられます。
例えば、「私の名前は山田です」の文をエンベディングする場合、次のようなコードを実行します。
result = genai.embed_content( model="models/embedding-001", content="私の名前は山田です", task_type="retrieval_document", title="Embedding of single string") # 1 input > 1 vector output print(str(result['embedding'])[:50], '... TRIMMED]') |
モデルに対する入出力制限
Gemini APIのより高度な活用方法としては、モデルに対する入出力制限があげられます。例えば、入力したコードのなかで、どの安全フィルタが関与したかをAIに答えてもらえます。この場合は、safety settingsの引数を与えるのが一般的です。
response = model.generate_content('[Questionable prompt here]', safety_settings={'HARASSMENT':'block_none'}) |
Gemini APIの料金体系
Gemini APIには、リクエスト数とトークン(AIが情報を認識する単位)数に応じて無料枠が用意されています。無料枠の上限を超えて利用する場合は課金が必要です。
Gemini APIの有料版は3種類のプランが用意されています。それぞれの違いは次の通りです。
Gemini 1.0 Pro | Gemini 1.5 Pro | Gemini 1.5 Flash | |
無料枠の上限 | ・15RPM※1 ・32,000TPM※2 ・1,500RPD※3 |
・2RPM ・32,000TPM ・50RPD |
・15RPM ・100万TPM ・1,500RPD |
有料版の価格 (~128,000トークン) |
・入力料金:$0.50/100万トークン ・出力料金:$1.50/100万トークン |
・入力料金:$3.50/100万トークン ・出力料金:$10.50/100万トークン |
・入力料金:$0.075/100万トークン ・出力料金:$0.30/100万トークン |
有料版の価格 (128,001トークン~) |
・入力料金:$0.50/100万トークン ・出力料金:$1.50/100万トークン |
・入力料金:$7.00/100万トークン ・出力料金:$21.00/100万トークン |
・入力料金:$0.15/100万トークン ・出力料金:$0.60/100万トークン |
※1:RPM=1分あたりのリクエスト数
※2:TPM=1分あたりのトークン数
※3:RPD=1日あたりのリクエスト数
それぞれの価格は従量課金制です。無料枠を超えた場合は、利用した分のみ課金されます。
Gemini APIで生成AI技術を柔軟に活用しよう
Webブラウザ上で利用できるGeminiを、業務システムなどに実装したい場合はGemini APIを利用しましょう。これによりシステム上で生成AIの仕組みを活用できます。Gemini APIには、テキストの生成やチャット、エンベディングといった幅広い活用手段があるので、あらかじめ用途を決めておくことが大切です。
また、Google Cloudを活用して機械学習の仕組みを取り入れるのも良いでしょう。Google Cloudとは、AIや機械学習、クラウドコンピューティング、データ分析など、さまざまなサービスが統合されたクラウドプラットフォームです。
Gemini APIと機械学習の組み合わせ方には、さまざまな方法があります。例えば、Gemini APIでエンベディングを行うことで、テキストデータを数値ベクトルに変換できるため、テキストデータを機械学習モデルが理解しやすくなり、学習効率が高まります。こちらの資料でGoogle Cloudと機械学習の仕組みを詳しく紹介しているので、ぜひ参考にしてください。
監修者
Google Workspace のエンジニア資格はもちろん、ChromeOS、Google Cloud (旧GCP)の資格も保有。
顧客と伴走し Google サービスを効果的に活用していただく支援をしております。
趣味は落語。
<保有資格>
・Associate Cloud Engineer
・Professional Google Workspace Administrator
・Professional Cloud Architect
・Professional Cloud Security Engineer
・Professional ChromeOS Administrator
・Certified Educator Level 1
・Certified Educator Level 2
- カテゴリ:
- Google Cloud(GCP)