Gemini 2.0 Flash が、Vertex AI Gemini API と Vertex AI Studio で試験運用版プレビュー リリースとして利用可能になりました。このモデルには、新機能とコア機能の強化が導入されています。
- Multimodal Live API: この新しい API を使用すると、ツールを使用してリアルタイムのビジョンと音声ストリーミング アプリケーションを作成できます。
- 速度とパフォーマンス: Gemini 2.0 Flash では、Gemini 1.5 Flash と比較して、最初のトークンまでの時間(TTFT)が大幅に短縮されています。
- 品質: このモデルは、Gemini 1.5 Pro などの大型モデルと同等の品質を維持します。
- エージェント エクスペリエンスの改善: Gemini 2.0 では、マルチモーダル理解、コーディング、複雑な指示の実行、関数呼び出しが改善されています。これらの改善は連携して、エージェント エクスペリエンスの向上をサポートします。
- 新しいモダリティ: Gemini 2.0 では、ネイティブ画像生成と制御可能なテキスト読み上げ機能が導入され、画像編集、ローカライズされたアートワークの作成、表現力豊かなストーリーテリングが可能になります。
新しいモデルをサポートするため、Gemini Developer API と Vertex AI の Gemini API 間の簡単な移行をサポートするまったく新しい SDK もリリースされます。
Gemini 2.0 の技術的な詳細については、Google モデルをご覧ください。
Google Gen AI SDK(試験運用版)
新しい Google Gen AI SDK は、Gemini Developer API と Vertex AI の Gemini API の両方を介して Gemini 2.0 への統合インターフェースを提供します。いくつかの例外を除き、1 つのプラットフォームで実行されるコードは両方のプラットフォームで実行されます。つまり、Developer API を使用してアプリケーションのプロトタイプを作成してから、コードを書き換えることなくアプリケーションを Vertex AI に移行できます。
Gen AI SDK は Gemini 1.5 モデルもサポートしています。
新しい SDK は Python と Go で利用できます。Java と JavaScript は近日提供予定です。
次に示すように SDK の使用を開始できます。
- 新しい SDK をインストールします。
pip install google-genai
- 次に、ライブラリをインポートし、クライアントを初期化してコンテンツを生成します。
from google import genai
# Replace the `project` and `location` values with appropriate values for
# your project.
client = genai.Client(
vertexai=True, project='YOUR_CLOUD_PROJECT', location='us-central1'
)
response = client.models.generate_content(
model='gemini-2.0-flash-exp', contents='How does AI work?'
)
print(response.text)
(省略可)環境変数を設定する
または、環境変数を使用してクライアントを初期化することもできます。まず、適切な値を設定して変数をエクスポートします。
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=YOUR_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=us-central1
export GOOGLE_GENAI_USE_VERTEXAI=True
次に、引数なしでクライアントを初期化できます。
client = genai.Client()
Multimodal Live API
Multimodal Live API を使用すると、Gemini との低レイテンシの双方向音声と動画のやり取りが可能になります。Multimodal Live API を使用すると、エンドユーザーに自然で人間のような音声会話のエクスペリエンスを提供できます。また、音声コマンドを使用してモデルのレスポンスを中断することもできます。このモデルは、テキスト、音声、動画の入力を処理し、テキストと音声の出力を生成できます。
Multimodal Live API は、Gemini API で BidiGenerateContent
メソッドとして使用でき、WebSockets 上に構築されています。
詳細については、Multimodal Live API リファレンス ガイドをご覧ください。
Multimodal Live API の使用を開始するためのテキストからテキストへの例については、以下をご覧ください。
from google import genai
client = genai.Client()
model_id = "gemini-2.0-flash-exp"
config = {"response_modalities": ["TEXT"]}
async with client.aio.live.connect(model=model_id, config=config) as session:
message = "Hello? Gemini, are you there?"
print("> ", message, "\n")
await session.send(input=message, end_of_turn=True)
async for response in session.receive():
print(response.text)
機能:
- 音声入力と音声出力
- 音声入力と音声出力のオーディオ / 動画入力
- 選択可能な音声。Multimodal Live API の音声をご覧ください。
- セッション継続時間: 音声の場合は最長 15 分、音声と動画の場合は最長 2 分
Multimodal Live API のその他の機能については、Multimodal Live API の機能をご覧ください。
Language:
- 英語のみ
制限事項:
- Multimodal Live API の制限事項をご覧ください。
検索ツール
Google 検索でのグラウンディングを使用すると、モデルからの回答の精度と新しさを高めることができます。Gemini 2.0 以降では、Google 検索をツールとして使用できます。つまり、モデルは Google 検索を使用するタイミングを判断できます。次の例は、検索をツールとして構成する方法を示しています。
from google import genai
from google.genai.types import Tool, GenerateContentConfig, GoogleSearch
client = genai.Client()
model_id = "gemini-2.0-flash-exp"
google_search_tool = Tool(
google_search = GoogleSearch()
)
response = client.models.generate_content(
model=model_id,
contents="When is the next total solar eclipse in the United States?",
config=GenerateContentConfig(
tools=[google_search_tool],
response_modalities=["TEXT"],
)
)
for each in response.candidates[0].content.parts:
print(each.text)
# Example response:
# The next total solar eclipse visible in the contiguous United States will be on ...
# To get grounding metadata as web content.
print(response.candidates[0].grounding_metadata.search_entry_point.rendered_content)
検索ツール機能を使用すると、マルチターン検索やマルチツールクエリも可能になります(たとえば、グラウンディングと Google 検索、コード実行を組み合わせる)。
検索ツールを使用すると、計画、推論、思考を必要とする複雑なプロンプトとワークフローを実現できます。
- グラウンディング: 事実性と新しさを高め、より正確な回答を提供
- ウェブからアーティファクトを取得して詳細な分析を行う
- マルチモーダル推論や生成タスクを支援する関連する画像、動画、その他のメディアを見つける
- コーディング、技術的なトラブルシューティング、その他の専門的なタスク
- 地域固有の情報の検索、コンテンツの正確な翻訳のサポート
- 関連するウェブサイトを見つけてさらに閲覧する
境界ボックス検出
この試験運用版では、画像と動画内のオブジェクト検出とローカライズのための強力なツールをデベロッパーに提供します。境界ボックスを使用してオブジェクトを正確に識別して区切ることで、デベロッパーは幅広いアプリケーションを実現し、プロジェクトのインテリジェンスを強化できます。
主なメリット:
- シンプル: コンピュータ ビジョンの専門知識に関係なく、オブジェクト検出機能をアプリケーションに簡単に統合できます。
- カスタマイズ可能: カスタム モデルをトレーニングしなくても、カスタム インストラクション(「この画像内のすべての緑色のオブジェクトの境界ボックスを表示したい」など)に基づいて境界ボックスを生成できます。
技術的な詳細:
- 入力: プロンプトと、関連する画像または動画フレーム。
- 出力:
[y_min, x_min, y_max, x_max]
形式の境界ボックス。左上は原点です。x
軸とy
軸は、それぞれ水平方向と垂直方向に進みます。座標値は、画像ごとに 0 ~ 1,000 に正規化されます。 - 可視化: AI Studio ユーザーには、UI 内に境界ボックスが表示されます。Vertex AI ユーザーは、カスタム可視化コードを使用してバウンディング ボックスを可視化する必要があります。
音声生成(早期アクセス/許可リスト)
Gemini 2.0 は、テキスト読み上げという新しいマルチモーダル生成機能をサポートしています。Text-to-Speech 機能を使用すると、人間の声のように聞こえる高品質な音声出力を生成するようモデルに指示できます(say "hi everyone"
)。また、音声をステアリングすることで出力をさらに調整できます。
画像生成(早期アクセス/許可リスト)
Gemini 2.0 は、インライン画像を含むテキストを出力する機能をサポートしています。これにより、Gemini を使用して会話的に画像を編集したり、マルチモーダル出力(1 つのターンでテキストと画像を含むブログ投稿など)を生成したりできます。これまでは、複数のモデルを連結する必要がありました。
画像生成は非公開の試験運用版としてご利用いただけます。次のモダリティと機能をサポートしています。
- テキストから画像
- プロンプトの例: 「背景に花火があるエッフェル塔の画像を生成して。」
- テキストから画像とテキスト(インターリーブ)
- プロンプトの例: 「パエリアのレシピをイラスト付きで生成してください。レシピの生成時に、テキストと一緒に表示する画像を作成します。」
- 画像とテキストから画像とテキスト(インターリーブ)
- プロンプトの例:(家具付きの部屋の画像を使用)「この部屋に合いそうなソファの色は他にどんなものがありますか?画像を更新していただけますか?」
- 画像編集(テキストと画像から画像)
- プロンプトの例: 「この画像を編集して漫画のようにしてください」
- プロンプトの例: [猫の画像] + [枕の画像] + 「この枕に猫のクロスステッチを作成して」
- マルチターン画像編集(チャット)
- プロンプトの例: [青い車の画像をアップロードしてください。]「この車をコンバーチブルにしてください。」「色を黄色に変更してください。」
- 透かし
- 生成されたすべての画像には SynthID の透かしが含まれています。
制限事項:
- 人物の生成や、アップロードされた人物の画像の編集は許可されていません。
- 最適なパフォーマンスを得るには、EN、es-MX、ja-JP、zh-CN、hi-IN の言語を使用します。
- 画像生成では、音声や動画の入力はサポートされていません。
- 画像生成がトリガーされない場合があります。
- モデルはテキストのみを出力する場合があります。画像出力を明示的にリクエストしてみてください(例: 「画像を生成」、「画像を入力する」、「画像を更新する」)。
- モデルの生成が途中で停止することがあります。もう一度お試しいただくか、別のプロンプトをお試しください。
料金
試験運用版の Google モデルの使用に対して課金されることはありません。