-
Gemini API を試す
Google Cloud を設定したら、Vertex AI Studio で、またはノートブックのチュートリアルで Python SDK や REST API を使用して、マルチモーダル プロンプトを試してください。
-
Vertex AI Gemini API リファレンス
Vertex AI Gemini API のエンドポイント、パラメータ、戻り値について説明します。
-
マルチモーダル プロンプトの設計
マルチモーダル プロンプトを設計する際のベスト プラクティスと、プロンプトの例をご覧ください。
マルチモーダル モデル
プロンプト | レスポンス |
このクッキーのレシピを教えてください。 |
**材料** - 1 c. (2 本のスティック)柔らかい無塩バター - 3/4 c. グラニュー糖 - 3/4 c. パック詰めされたブラウン シュガー - 1 tsp . バニラ エッセンス - 卵大 2 個 - 2 1/4 c. 汎用小麦粉 - 1 tsp. 重曹 - 1 tsp. 塩 ... |
マルチモーダル モデルは、画像、動画、テキストなどの複数のモダリティの情報を処理できるモデルです。たとえば、クッキーの皿の写真をモデルに送信し、それらのクッキーのレシピを提供するようモデルに依頼できます。
Gemini モデル
以下の Gemini モデルを利用できます。
- Gemini 1.5 Pro:(プレビュー)マルチモーダル(テキスト、画像、音声、PDF、コード、動画)で、最大 100 万の入力トークンを使用して幅広いタスクにわたってスケールできるように作成されています。
- Gemini 1.0 Pro: 自然言語タスク、マルチターン テキストとコードチャット、およびコード生成を処理するように設計されています。
- Gemini 1.0 Pro Vision: マルチモーダル プロンプトをサポートします。プロンプト リクエストにテキスト、画像、動画を含めて、テキストまたはコード レスポンスを取得できます。
Gemini 1.5 Pro のユースケース
Gemini 1.5 Pro(プレビュー)は、モダリティ(テキスト、コード、PDF、画像、音声、動画)の一つまたは組み合わせを含むプロンプトからのテキスト生成をサポートしています。ユースケースとしては、次のようなものがあります。
ユースケース | 説明 |
---|---|
要約 | 元のテキストの関連情報を盛り込んで、ドキュメントの短いバージョンを作成します。たとえば、教科書の一章を要約することが必要な場合が考えられます。または、商品を詳しく説明する長い段落から簡潔な商品説明を作成することもできます。 |
視覚的な情報探索 | 外部の知識を、入力された画像または動画から抽出した情報とを組み合わせて使用して、質問に回答します。 |
オブジェクト認識 | 画像や動画内のオブジェクトの詳細な識別に関連する質問に回答します。 |
デジタル コンテンツについての理解 | インフォグラフィック、グラフ、図、表、ウェブページなどのビジュアル コンテンツから情報を抽出して、質問に答えます。 |
構造化コンテンツの生成 | マルチモーダル入力に基づいて、HTML や JSON などの形式でレスポンスを生成します。 |
字幕と説明 | さまざまな詳細レベルの画像と動画の説明を生成します。 |
長尺コンテンツ | テキスト、コード、画像、動画、音声の長い形式のコンテンツを、最大 100 万トークンまで処理できます。 |
推論: | 記憶化や検索を行わずに新しい情報を複合的に推測します。 |
音声 | 要約、音声文字変換、Q&A のために音声ファイルを分析します。 |
音声と動画 | 音声を含む動画ファイルを要約し、タイムスタンプ付きのチャプターを返します。 |
マルチモーダル処理 | 複数の種類の入力メディア(動画入力や音声入力など)を同時に処理します。 |
Gemini 1.0 Pro のユースケース
Gemini 1.0 Pro は、テキスト プロンプトからのテキストとコードの生成をサポートしています。ユースケースとしては、次のようなものがあります。
ユースケース | 説明 |
---|---|
要約 | 元のテキストの関連情報を盛り込んで、ドキュメントの短いバージョンを作成します。たとえば、教科書の一章を要約することが必要な場合が考えられます。または、商品を詳しく説明する長い段落から簡潔な商品説明を作成することもできます。 |
質問応答 | 質問への回答をテキストで提示します。たとえば、ナレッジベースのコンテンツから、よくある質問(FAQ)のドキュメントの作成を自動化できます。 |
デジタル コンテンツについての理解 | 指定されたテキストにラベルを割り当てます。たとえば、文法的に正しいかどうかを示すラベルをテキストに付けることができます。 |
分類 | 提供されたテキストを説明するラベルを割り当てます。たとえば、テキスト ブロックが文法的に正しいかどうかを示すラベルを適用します。 |
情報探索 | 世界中の知識を、画像や動画から抽出した情報と組み合わせます。 |
オブジェクト認識 | 画像や動画内のオブジェクトの詳細な識別に関連する質問に回答します。 |
感情分析 | テキストの感情を特定する分類の一形態です。感情はラベルに変換され、テキストに適用されます。たとえば、テキストの感情には肯定的か否定的かといった二極性、怒りや幸せなどの感情があります。 |
エンティティの抽出 | 一連の要件と背景を指定してテキストを生成します。たとえば、特定の文脈の下で、特定のトーンを使用してメールの下書きを作成できます。 |
コード生成 | 説明に基づいてコードを生成します。たとえば、うるう年かどうかを確認する関数の作成をモデルに指示できます。 |
Gemini 1.0 Pro Vision のユースケース
Gemini 1.0 Pro Vision は、テキスト、画像、動画を入力としたテキスト生成をサポートしています。ユースケースとしては、次のようなものがあります。
ユースケース | 説明 |
---|---|
情報探索 | 世界中の知識を、画像や動画から抽出した情報と組み合わせます。 |
オブジェクト認識 | 画像や動画内のオブジェクトの詳細な識別に関連する質問に回答します。 |
デジタル コンテンツについての理解 | インフォグラフィック、グラフ、図、表、ウェブページなどのコンテンツから情報を抽出して、質問に答えます。 |
構造化コンテンツの生成 | 与えられたプロンプトの指示に基づいて、HTML や JSON などの形式でレスポンスを生成します。 |
字幕 / 説明 | さまざまな詳細レベルの画像と動画の説明を生成します。 |
推測 | 画像に表示されていないもの、または動画の前後で起こることを推測します。 |
写真オブジェクトの検出 | 画像内のオブジェクトを検出し、オブジェクトの説明をテキストで返します。 |
画像内のアイテムに関する情報を返す | Gemini 1.0 Pro Vision は、複数の食料品を含む画像を受け取り、それらの商品の支払い額の概算を返すことができます。 |
画面とインターフェースの理解 | アプライアンスの画面、ユーザー インターフェース、レイアウトから情報を抽出します。たとえば、Gemini 1.0 Pro Vision にアプライアンスの画像を渡して、アプライアンスの使用方法を確認できます。 |
技術図の理解 | エンティティ リレーションシップ(ER)図を解読して、テーブル間のリレーションシップを理解し、BigQuery などの特定の環境での最適化要件を確認できます。 |
複数の画像に基づいておすすめを提示 | 眼鏡の写真を使用して、自分の顔にぴったり合うものを判断できます。 |
動画の説明を生成 | 動画に表示される内容を検出します。たとえば、旅行先の動画を提供すると、その場所の説明、おすすめスポット、行き方などが表示されます。 |
さまざまな用途に応じたプロンプトを設計する方法については、以下のページをご覧ください。
モデルの強度と制限もご覧ください。
プログラミング言語 SDK
Vertex AI Gemini API は、次の SDK をサポートしています。
Python
from vertexai import generative_models
from vertexai.generative_models import GenerativeModel
model = GenerativeModel(model_name="gemini-1.0-pro-vision")
response = model.generate_content(["What is this?", img])
Node.js
// Initialize Vertex AI with your Cloud project and location
const vertexAI = new VertexAI({project: projectId, location: location});
const generativeVisionModel = vertexAI.getGenerativeModel({ model: "gemini-1.0-pro-vision"});
const result = await model.generateContent([
"What is this?",
{inlineData: {data: imgDataInBase64, mimeType: 'image/png'}}
]);
Java
public static void main(String[] args) throws Exception {
try (VertexAI vertexAi = new VertexAI(PROJECT_ID, LOCATION); ) {
GenerativeModel model = new GenerativeModel("gemini-1.0-pro-vision", vertexAI);
List<Content> contents = new ArrayList<>();
contents.add(ContentMaker
.fromMultiModalData(
"What is this?",
PartMaker.fromMimeTypeAndData("image/jpeg", IMAGE_URI)));
GenerateContentResponse response = model.generateContent(contents);
}
}
}
Go
model := client.GenerativeModel("gemini-1.0-pro-vision", "us-central1")
img := genai.ImageData("jpeg", image_bytes)
prompt := genai.Text("What is this?")
resp, err := model.GenerateContent(ctx, img, prompt)
Google AI Gemini API との違い
Vertex AI Gemini API と Google AI Gemini API のどちらでも Gemini モデルの機能をアプリケーションに組み込むことができます。どのプラットフォームが適しているかは、目標によって異なります。
Vertex AI Gemini API は、デベロッパーや企業で大規模なデプロイを行うために設計されています。エンタープライズ セキュリティ、データ所在地、パフォーマンス、テクニカル サポートなどの機能があります。既存の Google Cloud のお客様や、中規模から大規模のアプリケーションをデプロイする場合に適しています。
Google Cloud を初めてご利用になるホビイスト、学生、開発者の方は、テスト、プロトタイピング、小規模なデプロイに適した Google AI Gemini API をお試しください。モバイルアプリやウェブアプリから Gemini を直接使用することをお考えの場合は、Android、Swift、ウェブの Google AI SDK をご覧ください。
Vertex AI Gemini API のドキュメント
Vertex AI Gemini API の詳細を確認するには、次のいずれかのトピックを選択してください。
Vertex AI Gemini API を使ってみる
-
Google Cloud でセットアップする
Google Cloud を初めて使用される方は、このページの設定手順に沿ってすぐに使いはじめることができます。
-
Gemini API 用の Python SDK クラス
Vertex AI Gemini API 用の Python SDK で提供されるクラスの属性、メソッド、使用例などについて学習します。
-
Python SDK のリファレンス
Vertex AI SDK for Python の生成 AI の詳細なリファレンスをご覧ください。
Vertex AI Gemini API に移行する
-
Google AI から Vertex AI に移行する
Python コードを Google AI Gemini API から Vertex AI Gemini API に移行する方法について説明します。
-
PaLM API から Gemini API に移行する
Python コードを Vertex AI PaLM API から Vertex AI Gemini API に移行する方法について説明します。
コア機能の使い方を学ぶ
-
マルチモーダル プロンプト リクエストを送信する
Google Cloud コンソール、Python SDK、または REST API を使用してマルチモーダル プロンプト リクエストを送信する方法を学習します。
-
チャット プロンプト リクエストを送信する
Google Cloud コンソール、Python SDK、または REST API を使用して、シングルターンとマルチターンのチャット プロンプトを送信する方法について学習します。
-
関数呼び出し
外部関数を呼び出すための JSON を出力するモデルの取得方法について学習します。