Gemini API は、画像、音声、コード、ツールなどを使用したコンテンツ生成をサポートしています。各機能の詳細については、タスクに焦点を当てたサンプルコードをご覧いただくか、包括的なガイドをご覧ください。
メソッド: models.generateContent
- エンドポイント
- パスパラメータ
- リクエスト本文
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- レスポンスの本文
- 認可スコープ
- リクエストの例 <ph type="x-smartling-placeholder">
入力 GenerateContentRequest
に基づいてモデル レスポンスを生成します。使用方法の詳細については、テキスト生成ガイドをご覧ください。入力機能は、チューニング済みモデルを含め、モデルによって異なります。詳細については、モデルガイドとチューニング ガイドをご覧ください。
エンドポイント
<ph type="x-smartling-placeholder"></ph> 投稿
https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateContent
パスパラメータ
model
string
必須。コンプリーションの生成に使用する Model
の名前。
形式: name=models/{model}
。これは models/{model}
の形式になります。
リクエスト本文
リクエストの本文には、次の構造のデータが含まれます。
<ph type="x-smartling-placeholder">contents[]
object (Content
)
必須。モデルとの現在の会話の内容。
シングルターンのクエリの場合、これは単一のインスタンスです。chat のようなマルチターン クエリの場合、これは会話履歴と最新のリクエストを含む繰り返しフィールドです。
tools[]
object (Tool
)
toolConfig
object (ToolConfig
)
省略可。リクエストで指定された任意の Tool
のツール構成。使用例については、関数呼び出しガイドをご覧ください。
safetySettings[]
object (SafetySetting
)
省略可。安全でないコンテンツをブロックするための一意の SafetySetting
インスタンスのリスト。
これは GenerateContentRequest.contents
と GenerateContentResponse.candidates
に適用されます。SafetyCategory
タイプごとに複数の設定を指定することはできません。API は、これらの設定で設定されたしきい値を満たしていないコンテンツとレスポンスをブロックします。このリストは、safetySettings で指定された各 SafetyCategory
のデフォルト設定をオーバーライドします。指定された SafetyCategory
の SafetySetting
がリストで指定された場合、API はそのカテゴリのデフォルトの安全性設定を使用します。有害カテゴリ HARM_CATEGORY_HATE_SPEECH、HARM_CATEGORY_SEXUALLY_EXPLICIT、HARM_CATEGORY_DANGEROUS_CONTENT、HARM_CATEGORY_HARASSMENT をサポートしています。利用可能な安全性設定について詳しくは、ガイドをご覧ください。また、AI アプリケーションに安全に関する考慮事項を組み込む方法については、安全に関するガイダンスをご覧ください。
generationConfig
object (GenerationConfig
)
省略可。モデルの生成と出力の構成オプション。
cachedContent
string
省略可。予測を提供するコンテキストとして使用するキャッシュに保存されたコンテンツの名前。形式: cachedContents/{cachedContent}
リクエスト例
テキスト
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
画像
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
音声
Python
Node.js
Shell
動画
Python
Node.js
Go
Shell
Python
Shell
チャット
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
キャッシュ
Python
Node.js
チューニング済みモデル
Python
JSON モード
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
コードの実行
Python
Kotlin
Java
関数呼び出し
Python
Node.js
Shell
Kotlin
Swift
Dart
Java
生成構成
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
安全性設定
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
システム命令
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
レスポンスの本文
成功した場合、レスポンスの本文には GenerateContentResponse
のインスタンスが含まれます。
メソッド: models.streamGenerateContent
- エンドポイント
- パスパラメータ
- リクエスト本文
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- レスポンスの本文
- 認可スコープ
- リクエストの例 <ph type="x-smartling-placeholder">
入力 GenerateContentRequest
が与えられると、ストリーミング レスポンスをモデルから生成します。
エンドポイント
<ph type="x-smartling-placeholder"></ph> 投稿
https://generativelanguage.googleapis.com/v1beta/{model=models/*}:streamGenerateContent
パスパラメータ
model
string
必須。コンプリーションの生成に使用する Model
の名前。
形式: name=models/{model}
。これは models/{model}
の形式になります。
リクエスト本文
リクエストの本文には、次の構造のデータが含まれます。
<ph type="x-smartling-placeholder">contents[]
object (Content
)
必須。モデルとの現在の会話の内容。
シングルターンのクエリの場合、これは単一のインスタンスです。chat のようなマルチターン クエリの場合、これは会話履歴と最新のリクエストを含む繰り返しフィールドです。
tools[]
object (Tool
)
toolConfig
object (ToolConfig
)
省略可。リクエストで指定された任意の Tool
のツール構成。使用例については、関数呼び出しガイドをご覧ください。
safetySettings[]
object (SafetySetting
)
省略可。安全でないコンテンツをブロックするための一意の SafetySetting
インスタンスのリスト。
これは GenerateContentRequest.contents
と GenerateContentResponse.candidates
に適用されます。SafetyCategory
タイプごとに複数の設定を指定することはできません。API は、これらの設定で設定されたしきい値を満たしていないコンテンツとレスポンスをブロックします。このリストは、safetySettings で指定された各 SafetyCategory
のデフォルト設定をオーバーライドします。指定された SafetyCategory
の SafetySetting
がリストで指定された場合、API はそのカテゴリのデフォルトの安全性設定を使用します。有害カテゴリ HARM_CATEGORY_HATE_SPEECH、HARM_CATEGORY_SEXUALLY_EXPLICIT、HARM_CATEGORY_DANGEROUS_CONTENT、HARM_CATEGORY_HARASSMENT をサポートしています。利用可能な安全性設定について詳しくは、ガイドをご覧ください。また、AI アプリケーションに安全に関する考慮事項を組み込む方法については、安全に関するガイダンスをご覧ください。
generationConfig
object (GenerationConfig
)
省略可。モデルの生成と出力の構成オプション。
cachedContent
string
省略可。予測を提供するコンテキストとして使用するキャッシュに保存されたコンテンツの名前。形式: cachedContents/{cachedContent}
リクエスト例
テキスト
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
画像
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
音声
Python
Shell
動画
Python
Node.js
Go
Shell
Python
Shell
チャット
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
レスポンスの本文
成功した場合、レスポンスの本文には GenerateContentResponse
インスタンスのストリームが含まれます。
GenerateContentResponse
- JSON 表現
- PromptFeedback
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- BlockReason
- UsageMetadata
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
複数の候補レスポンスをサポートするモデルからのレスポンス。
安全評価とコンテンツ フィルタリングは、GenerateContentResponse.prompt_feedback
のプロンプトと、finishReason
および safetyRatings
の各受験者の両方について報告されます。API: - リクエストされたすべての候補を返すか、1 つも返しません。- プロンプトに問題がある場合にのみ候補をまったく返しません(promptFeedback
を確認してください)。- finishReason
と safetyRatings
で各候補に関するフィードバックを報告します。
candidates[]
object (Candidate
)
モデルからの候補レスポンス。
promptFeedback
object (PromptFeedback
)
コンテンツ フィルタに関連するプロンプトのフィードバックを返します。
usageMetadata
object (UsageMetadata
)
出力専用。生成リクエストのメタデータ。確認できます。
JSON 表現 |
---|
{ "candidates": [ { object ( |
PromptFeedback
GenerateContentRequest.content
で指定されたプロンプトに対するフィードバック メタデータのセット。
blockReason
enum (BlockReason
)
省略可。設定すると、プロンプトがブロックされ、候補は返されません。プロンプトを言い換えてください。
safetyRatings[]
object (SafetyRating
)
プロンプトの安全性に関する評価。カテゴリごとに最大 1 つの評価を指定できます。
JSON 表現 |
---|
{ "blockReason": enum ( |
BlockReason
プロンプトがブロックされた理由を指定します。
列挙型 | |
---|---|
BLOCK_REASON_UNSPECIFIED |
デフォルト値。この値は使用されません。 |
SAFETY |
安全上の理由により、プロンプトがブロックされました。safetyRatings を調べて、どの安全性カテゴリでブロックされたかを確認します。 |
OTHER |
不明な理由によりプロンプトがブロックされました。 |
BLOCKLIST |
用語のブロックリストに含まれている用語が原因で、プロンプトがブロックされました。 |
PROHIBITED_CONTENT |
禁止コンテンツのため、プロンプトがブロックされました。 |
UsageMetadata
生成リクエストのトークン使用状況に関するメタデータ。
promptTokenCount
integer
プロンプト内のトークンの数。cachedContent
が設定されている場合、これは有効なプロンプト サイズの合計です。つまり、キャッシュに保存されたコンテンツ内のトークンの数が含まれます。
cachedContentTokenCount
integer
プロンプトのキャッシュに保存された部分(キャッシュに保存されたコンテンツ)内のトークン数
candidatesTokenCount
integer
生成されたすべてのレスポンス候補にわたるトークンの合計数。
totalTokenCount
integer
生成リクエストの合計トークン数(プロンプト + レスポンス候補)。
JSON 表現 |
---|
{ "promptTokenCount": integer, "cachedContentTokenCount": integer, "candidatesTokenCount": integer, "totalTokenCount": integer } |
受験者
- JSON 表現
- FinishReason
- GroundingAttribution
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- AttributionSourceId
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- GroundingPassageId
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- SemanticRetrieverChunk
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
モデルから生成されたレスポンスの候補。
content
object (Content
)
出力専用。モデルから返された生成コンテンツ。
finishReason
enum (FinishReason
)
省略可。出力専用。モデルがトークンの生成を停止した理由。
空の場合、モデルはトークンの生成を停止していません。
safetyRatings[]
object (SafetyRating
)
レスポンス候補の安全性に関する評価のリスト。
カテゴリごとに最大 1 つの評価を指定できます。
citationMetadata
object (CitationMetadata
)
出力専用。モデル生成候補の引用情報。
このフィールドには、content
に含まれる任意のテキストの列挙情報を入力できます。これらは「朗読」される文章です基礎となる LLM のトレーニング データに著作権で保護された素材から抽出されています。
tokenCount
integer
出力専用。この候補のトークン数。
groundingAttributions[]
object (GroundingAttribution
)
出力専用。根拠のある回答に貢献したソースのアトリビューション情報。
このフィールドは、GenerateAnswer
呼び出しの場合に入力されます。
index
integer
出力専用。レスポンス候補リスト内の候補のインデックス。
JSON 表現 |
---|
{ "content": { object ( |
FinishReason
モデルがトークンの生成を停止した理由を定義します。
列挙型 | |
---|---|
FINISH_REASON_UNSPECIFIED |
デフォルト値。この値は使用されません。 |
STOP |
モデルの自然な停止点、または指定された停止シーケンス。 |
MAX_TOKENS |
リクエストで指定されたトークンの最大数に達しました。 |
SAFETY |
安全上の理由により、回答候補のコンテンツにフラグが付けられました。 |
RECITATION |
回答候補のコンテンツは列挙理由でフラグが付けられました。 |
LANGUAGE |
サポートされていない言語を使用しているとして、回答候補のコンテンツにフラグが付けられました。 |
OTHER |
不明な理由。 |
BLOCKLIST |
禁止用語がコンテンツに含まれているため、トークンの生成が停止されました。 |
PROHIBITED_CONTENT |
禁止コンテンツが含まれている可能性があるため、トークンの生成を停止しました。 |
SPII |
コンテンツに個人を特定できる機密情報(SPII)が含まれている可能性があるため、トークンの生成が停止されました。 |
MALFORMED_FUNCTION_CALL |
モデルによって生成された関数呼び出しが無効です。 |
GroundingAttribution
回答に貢献したソースの帰属。
sourceId
object (AttributionSourceId
)
出力専用。このアトリビューションに寄与しているソースの識別子。
content
object (Content
)
このアトリビューションを構成するソース コンテンツをグラウンディングします。
JSON 表現 |
---|
{ "sourceId": { object ( |
AttributionSourceId
このアトリビューションに寄与しているソースの識別子。
共用体フィールド source
。
source
は次のいずれかになります。
groundingPassage
object (GroundingPassageId
)
インライン パッセージの識別子。
semanticRetrieverChunk
object (SemanticRetrieverChunk
)
Semantic Retriever を介して取得された Chunk
の識別子。
JSON 表現 |
---|
{ // Union field |
GroundingPassageId
GroundingPassage
内のパーツの識別子。
passageId
string
出力専用。GenerateAnswerRequest
の GroundingPassage.id
に一致する文章の ID。
partIndex
integer
出力専用。GenerateAnswerRequest
の GroundingPassage.content
内のパーツのインデックス。
JSON 表現 |
---|
{ "passageId": string, "partIndex": integer } |
SemanticRetrieverChunk
Semantic Retriever を介して取得された Chunk
の識別子(SemanticRetrieverConfig
を使用して GenerateAnswerRequest
に指定)。
source
string
出力専用。リクエストの SemanticRetrieverConfig.source
と一致するソースの名前。例: corpora/123
または corpora/123/documents/abc
chunk
string
出力専用。属性されたテキストを含む Chunk
の名前。例: corpora/123/documents/abc/chunks/xyz
JSON 表現 |
---|
{ "source": string, "chunk": string } |
CitationMetadata
- JSON 表現
- CitationSource
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
特定のコンテンツのソース帰属情報のコレクション。
citationSources[]
object (CitationSource
)
特定の回答に対するソースの引用。
JSON 表現 |
---|
{
"citationSources": [
{
object ( |
CitationSource
特定のレスポンスの一部に対するソースの引用。
startIndex
integer
省略可。このソースに起因するレスポンスのセグメントの開始。
インデックスは、セグメントの開始をバイト単位で示します。
endIndex
integer
省略可。貢献度が割り当てられたセグメントの終了値(この値を含まない)。
uri
string
省略可。テキストの一部に対するソースとして帰属する URI。
license
string
省略可。セグメントのソースとして関連付けられている GitHub プロジェクトのライセンス。
コードを引用するにはライセンス情報が必要です。
JSON 表現 |
---|
{ "startIndex": integer, "endIndex": integer, "uri": string, "license": string } |
GenerationConfig
モデルの生成と出力の構成オプション。すべてのモデルですべてのパラメータを構成できるわけではありません。
stopSequences[]
string
省略可。出力の生成を停止する文字シーケンスのセット(最大 5 個)。指定すると、stop_sequence
が最初に表示された時点で API が停止します。停止シーケンスはレスポンスには含まれません。
responseMimeType
string
省略可。生成される候補テキストの MIME タイプ。サポートされている MIME タイプは次のとおりです。text/plain
: (デフォルト)テキスト出力。application/json
: レスポンス候補の JSON レスポンス。サポートされているすべてのテキスト MIME タイプのリストについては、ドキュメントをご覧ください。
responseSchema
object (Schema
)
省略可。生成された候補テキストの出力スキーマ。スキーマは OpenAPI スキーマのサブセットである必要があり、オブジェクト、プリミティブ、配列のいずれかです。
設定する場合は、互換性のある responseMimeType
も設定する必要があります。互換性のある MIME タイプ: application/json
: JSON レスポンスのスキーマ。詳しくは、JSON テキスト生成ガイドをご覧ください。
candidateCount
integer
省略可。生成されるレスポンスの数。
現在、この値は 1 にのみ設定できます。設定しない場合、デフォルトで 1 になります。
maxOutputTokens
integer
省略可。レスポンス候補に含めるトークンの最大数。
注: デフォルト値はモデルによって異なります。getModel
関数から返される Model
の Model.output_token_limit
属性をご覧ください。
temperature
number
省略可。出力のランダム性を制御します。
注: デフォルト値はモデルによって異なります。getModel
関数から返される Model
の Model.temperature
属性をご覧ください。
値の範囲は [0.0, 2.0] です。
topP
number
省略可。サンプリング時に考慮すべきトークンの最大累積確率。
このモデルでは、Top-k と Top-p(核)サンプリングの組み合わせが使用されます。
トークンは割り当てられた確率に基づいて並べ替えられ、最も可能性が高いトークンのみが考慮されます。Top-k サンプリングでは、考慮すべきトークンの最大数が直接制限されます。一方、Nucleus サンプリングでは、累積確率に基づいてトークンの数が制限されます。
注: デフォルト値は Model
によって異なり、getModel
関数から返される Model.top_p
属性で指定します。topK
属性が空の場合、モデルはトップ K サンプリングを適用せず、リクエストに topK
を設定できないことを示します。
topK
integer
省略可。サンプリング時に考慮すべきトークンの最大数。
Gemini モデルは、Top-p(Nucleus)サンプリングを使用するか、Top-K サンプリングと Nucleus サンプリングの組み合わせを使用します。トップ K サンプリングでは、最も確率が高い topK
のトークンのセットが考慮されます。Nucleus サンプリングで実行されているモデルでは、topK を設定できません。
注: デフォルト値は Model
によって異なり、getModel
関数から返される Model.top_p
属性で指定します。topK
属性が空の場合、モデルはトップ K サンプリングを適用せず、リクエストに topK
を設定できないことを示します。
JSON 表現 |
---|
{
"stopSequences": [
string
],
"responseMimeType": string,
"responseSchema": {
object ( |
HarmCategory
評価のカテゴリ。
これらのカテゴリは、デベロッパーが調整したいと考えているさまざまな弊害をカバーしています。
列挙型 | |
---|---|
HARM_CATEGORY_UNSPECIFIED |
カテゴリが指定されていません。 |
HARM_CATEGORY_DEROGATORY |
ID や保護されている属性をターゲットとする否定的なコメントや有害なコメント。 |
HARM_CATEGORY_TOXICITY |
粗暴、無礼、または冒とく的なコンテンツ。 |
HARM_CATEGORY_VIOLENCE |
個人やグループに対する暴力を描写したシナリオ、または残虐行為の一般的な説明についての記述。 |
HARM_CATEGORY_SEXUAL |
性行為やわいせつな内容に関する情報が含まれるコンテンツ。 |
HARM_CATEGORY_MEDICAL |
根拠のない医学的アドバイスを宣伝する。 |
HARM_CATEGORY_DANGEROUS |
有害な行為を助長、促進、または助長する危険なコンテンツ。 |
HARM_CATEGORY_HARASSMENT |
ハラスメント コンテンツ。 |
HARM_CATEGORY_HATE_SPEECH |
悪意のある表現やコンテンツ。 |
HARM_CATEGORY_SEXUALLY_EXPLICIT |
性的描写が露骨なコンテンツ。 |
HARM_CATEGORY_DANGEROUS_CONTENT |
危険なコンテンツ。 |
SafetyRating
コンテンツの安全性評価。
安全性評価には、有害のカテゴリとそのカテゴリにおける、コンテンツに対する危害の可能性のレベルが含まれます。コンテンツはさまざまな有害カテゴリにわたって安全性について分類されており、有害が分類される確率はここに含まれています。
category
enum (HarmCategory
)
必須。この評価のカテゴリ。
probability
enum (HarmProbability
)
必須。このコンテンツが害を及ぼす確率。
blocked
boolean
このコンテンツはこの評価が原因でブロックされましたか?
JSON 表現 |
---|
{ "category": enum ( |
HarmProbability
コンテンツが有害である確率。
分類システムは、コンテンツが安全でない確率を示します。これは、コンテンツが特定の有害性の重大度を示すものではありません。
列挙型 | |
---|---|
HARM_PROBABILITY_UNSPECIFIED |
確率が指定されていません。 |
NEGLIGIBLE |
コンテンツが安全でない確率はごくわずかである。 |
LOW |
コンテンツが安全でない確率は低い。 |
MEDIUM |
コンテンツが安全でない確率は中程度である。 |
HIGH |
コンテンツが安全でない確率が高い。 |
SafetySetting
安全ブロックの動作に影響する安全設定。
カテゴリの安全性設定を渡すと、コンテンツがブロックされる許容確率が変更されます。
category
enum (HarmCategory
)
必須。この設定のカテゴリ。
threshold
enum (HarmBlockThreshold
)
必須。危害がブロックされる確率のしきい値を制御します。
JSON 表現 |
---|
{ "category": enum ( |
HarmBlockThreshold
指定された有害確率以上でブロックする。
列挙型 | |
---|---|
HARM_BLOCK_THRESHOLD_UNSPECIFIED |
しきい値が指定されていません。 |
BLOCK_LOW_AND_ABOVE |
NEGLIGIBLE を含むコンテンツは許可されます。 |
BLOCK_MEDIUM_AND_ABOVE |
NEGLIGIBLE および LOW のコンテンツは許可されます。 |
BLOCK_ONLY_HIGH |
NEGLIGIBLE、LOW、MEDIUM のコンテンツは許可されます。 |
BLOCK_NONE |
すべてのコンテンツが許可されます。 |