メソッド: models.generateContent
- エンドポイント
- パスパラメータ
- リクエスト本文
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- レスポンスの本文
- 認可スコープ
- リクエストの例 <ph type="x-smartling-placeholder">
入力 GenerateContentRequest
が与えられたときに、モデルからレスポンスを生成します。
入力機��は、チューニング済みモデルを含め、モデルによって異なります。詳細については、モデルガイドとチューニング ガイドをご覧ください。
エンドポイント
<ph type="x-smartling-placeholder"></ph> <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
)
必須。モデルとの現在の会話の内容。
シングルターンのクエリの場合、これは単一のインスタンスです。マルチターン クエリの場合、これは会話履歴と最新のリクエストを含む繰り返しフィールドです。
tools[]
object (Tool
)
省略可。モデルが次のレスポンスを生成するために使用できる Tools
のリスト。
Tool
は、システムが外部システムとやり取りして、モデルの知識や範囲外のアクションまたは一連のアクションを実行できるようにするコードです。現在サポートされているツールは Function
のみです。
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 をサポートしています。
systemInstruction
object (Content
)
省略可。デベロッパーが設定するシステム指示。現在、テキストのみに対応しています。
generationConfig
object (GenerationConfig
)
省略可。モデルの生成と出力の構成オプション。
cachedContent
string
省略可。予測を提供するコンテキストとして使用される、キャッシュに保存されたコンテンツの名前。注: 明示的キャッシュでのみ使用します。明示的キャッシュでは、ユーザーがキャッシュを制御(キャッシュするコンテンツなど)でき、確実な費用削減を実現できます。形式: cachedContents/{cachedContent}
リクエスト例
テキスト
Python
Node.js
Kotlin
Swift
Dart
Java
画像
Python
Node.js
Kotlin
Swift
Dart
Java
音声
Python
Node.js
動画
Python
Node.js
チャット
Python
Node.js
Shell
Kotlin
Swift
Dart
Java
キャッシュ
Python
Node.js
チューニング済みモデル
Python
JSON モード
Python
Node.js
Kotlin
Swift
Dart
Java
コードの実行
Python
Kotlin
Java
関数呼び出し
Python
Node.js
Kotlin
Swift
Dart
Java
生成構成
Python
Node.js
Shell
Kotlin
Swift
Dart
Java
安全性設定
Python
Node.js
Shell
Kotlin
Swift
Dart
Java
システム命令
Python
Node.js
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> <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
)
必須。モデルとの現在の会話の内容。
シングルターンのクエリの場合、これは単一のインスタンスです。マルチターン クエリの場合、これは会話履歴と最新のリクエストを含む繰り返しフィールドです。
tools[]
object (Tool
)
省略可。モデルが次のレスポンスを生成するために使用できる Tools
のリスト。
Tool
は、システムが外部システムとやり取りして、モデルの知識や範囲外のアクションまたは一連のアクションを実行できるようにするコードです。現在サポートされているツールは Function
のみです。
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 をサポートしています。
systemInstruction
object (Content
)
省略可。デベロッパーが設定するシステム指示。現在、テキストのみに対応しています。
generationConfig
object (GenerationConfig
)
省略可。モデルの生成と出力の構成オプション。
cachedContent
string
省略可。予測を提供するコンテキストとして使用される、キャッシュに保存されたコンテンツの名前。注: 明示的キャッシュでのみ使用します。明示的キャッシュでは、ユーザーがキャッシュを制御(キャッシュするコンテンツなど)でき、確実な費用削減を実現できます。形式: cachedContents/{cachedContent}
リクエスト例
テキスト
Python
Node.js
Kotlin
Swift
Dart
Java
画像
Python
Node.js
Kotlin
Swift
Dart
Java
動画
Python
Node.js
Kotlin
Java
チャット
Python
Node.js
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 コントラクトでは、- リクエストされたすべての候補者が返されるか、まったく候補が返されません。- プロンプトに問題があった場合にのみ候補が返されません(promptFeedback
を参照)。- 各候補に関するフィードバックは、finishReason
と safetyRatings
に報告されます。
JSON 表現 |
---|
{ "candidates": [ { object ( |
candidates[]
object (Candidate
)
モデルからの候補レスポンス。
promptFeedback
object (PromptFeedback
)
コンテンツ フィルタに関連するプロンプトのフィードバックを返します。
usageMetadata
object (UsageMetadata
)
出力専用。生成リクエストのメタデータ。確認できます。
PromptFeedback
GenerateContentRequest.content
で指定されたプロンプトに対するフィードバック メタデータのセット。
JSON 表現 |
---|
{ "blockReason": enum ( |
blockReason
enum (BlockReason
)
省略可。設定すると、プロンプトがブロックされ、候補は返されません。プロンプトを言い換えてください。
safetyRatings[]
object (SafetyRating
)
プロンプトの安全性��関する評価。カテゴリごとに最大 1 つの評価を指定できます。
BlockReason
プロンプトがブロックされた理由を指定します。
列挙型 | |
---|---|
BLOCK_REASON_UNSPECIFIED |
デフォルト値。この値は使用されません。 |
SAFETY |
安全上の理由により、プロンプトがブロックされました。safetyRatings を調べると、どの安全性カテゴリでブロックされたかがわかります。 |
OTHER |
不明な理由によりプロンプトがブロックされました。 |
UsageMetadata
生成リクエストのトークン使用状況に関するメタデータ。
JSON 表現 |
---|
{ "promptTokenCount": integer, "cachedContentTokenCount": integer, "candidatesTokenCount": integer, "totalTokenCount": integer } |
promptTokenCount
integer
プロンプト内のトークンの数。cacheContent が設定されている場合でも、これは有効なプロンプトの合計サイズです。例:これには、キャッシュに保存されたコンテンツ内のトークンの数も含まれます。
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 表現
モデルから生成されたレスポンスの候補。
JSON 表現 |
---|
{ "content": { object ( |
content
object (Content
)
出力専用。モデルから返された生成コンテンツ。
finishReason
enum (FinishReason
)
省略可。出力専用。モデルがトークンの生成を停止した理由。
空の場合、モデルはトークンの生成を停止していません。
safetyRatings[]
object (SafetyRating
)
レスポンス候補の安全性に関する評価のリスト。
カテゴリごとに最大 1 つの評価を指定できます。
citationMetadata
object (CitationMetadata
)
出力専用。モデル生成候補の引用情報。
このフィールドには、content
に含まれる任意のテキストの列挙情報を入力できます。これらは「朗読」される文章です基礎となる LLM のトレーニング データに著作権で保護された素材から抽出されています。
tokenCount
integer
出力専用。この候補のトークン数。
groundingAttributions[]
object (GroundingAttribution
)
出力専用。根拠のある回答に貢献したソースのアトリビューション情報。
このフィールドは、GenerateAnswer
呼び出しの場合に入力されます。
index
integer
出力専用。候補リスト内の候補のインデックス。
FinishReason
モデルがトークンの生成を停止した理由を定義します。
列挙型 | |
---|---|
FINISH_REASON_UNSPECIFIED |
デフォルト値。この値は使用されません。 |
STOP |
モデルの自然な停止点、または指定された停止シーケンス。 |
MAX_TOKENS |
リクエストで指定されたトークンの最大数に達しました。 |
SAFETY |
安全上の理由により、候補のコンテンツにフラグが付けられました。 |
RECITATION |
列挙の理由で受験者のコンテンツが報告されました。 |
LANGUAGE |
候補のコンテンツでサポートされていない言語が使用されていると報告されました。 |
OTHER |
不明な理由。 |
GroundingAttribution
回答に貢献したソースの帰属。
JSON 表現 |
---|
{ "sourceId": { object ( |
sourceId
object (AttributionSourceId
)
出力専用。このアトリビューションに寄与しているソースの識別子。
content
object (Content
)
このアトリビューションを構成するソース コンテンツをグラウンディングします。
AttributionSourceId
このアトリビューションに寄与しているソースの識別子。
JSON 表現 |
---|
{ // Union field |
共用体フィールド source
。
source
は次のいずれかになります。
groundingPassage
object (GroundingPassageId
)
インライン パッセージの識別子。
semanticRetrieverChunk
object (SemanticRetrieverChunk
)
Semantic Retriever を介して取得された Chunk
の識別子。
GroundingPassageId
GroundingPassage
内のパーツの識別子。
JSON 表現 |
---|
{ "passageId": string, "partIndex": integer } |
passageId
string
出力専用。GenerateAnswerRequest
の GroundingPassage.id
に一致する文章の ID。
partIndex
integer
出力専用。GenerateAnswerRequest
の GroundingPassage.content
内のパーツのイン��ックス。
SemanticRetrieverChunk
Semantic Retriever を介して取得された Chunk
の識別子(SemanticRetrieverConfig
を使用して GenerateAnswerRequest
に指定)。
JSON 表現 |
---|
{ "source": string, "chunk": string } |
source
string
出力専用。リクエストの SemanticRetrieverConfig.source
と一致するソースの名前。例: corpora/123
または corpora/123/documents/abc
chunk
string
出力専用。属性されたテキストを含む Chunk
の名前。例: corpora/123/documents/abc/chunks/xyz
CitationMetadata
- JSON 表現
- CitationSource
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
特定のコンテンツのソース帰属情報のコレクション。
JSON 表現 |
---|
{
"citationSources": [
{
object ( |
citationSources[]
object (CitationSource
)
特定の回答に対するソースの引用。
CitationSource
特定のレスポンスの一部に対するソースの引用。
JSON 表現 |
---|
{ "startIndex": integer, "endIndex": integer, "uri": string, "license": string } |
startIndex
integer
省略可。このソースに起因するレスポンスのセグメントの開始。
インデックスはセグメントの開始をバイト単位で示します。
endIndex
integer
省略可。貢献度が割り当てられたセグメントの終了値(この値を含まない)。
uri
string
省略可。テキストの一部に対するソースとして帰属する URI。
license
string
省略可。セグメントのソースとして関連付けられている GitHub プロジェクトのライセンス。
コードを引用するにはライセンス情報が必要です。
GenerationConfig
モデルの生成と出力の構成オプション。すべてのモデルですべてのパラメータを構成できるとは限りません。
JSON 表現 |
---|
{
"stopSequences": [
string
],
"responseMimeType": string,
"responseSchema": {
object ( |
stopSequences[]
string
省略可。出力の生成を停止する文字シーケンスのセット(最大 5 個)。指定すると、API は停止シーケンスを初めて表示した時点で停止します。停止シーケンスはレスポンスには含まれません。
responseMimeType
string
省略可。生成された候補テキストの mimetype レスポンスを出力します。サポートされている mimetype: text/plain
:(デフォルト)テキスト出力。application/json
: 候補での JSON レスポンス。
responseSchema
object (Schema
)
省略可。レスポンス MIME タイプにスキーマを含めることができる場合に、生成される候補テキストの出力レスポンス スキーマ。Schema はオブジェクト、プリミティブ、配列にすることができ、OpenAPI スキーマのサブセットです。
設定する場合は、互換性のある responseMimeType も設定する必要があります。互換性のある MIME タイプ: application/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-k サンプリングでは、考慮すべきトークンの最大数が直接制限されます。一方、Nucleus サンプリングでは、累積確率に基づいてトークンの数が制限されます。
注: デフォルト値はモデルによって異なります。getModel
関数から返される Model
の Model.top_p
属性をご覧ください。
topK
integer
省略可。サンプリング時に考慮すべきトークンの最大数。
モデルでは、Nucleus サンプリングを使用するか、Top-K サンプリングと nucleus サンプリングの組み合わせが使用されます。トップ K サンプリングでは、最も確率が高い topK
のトークンのセットが考慮されます。Nucleus サンプリングで実行されているモデルでは、topK を設定できません。
注: デフォルト値はモデルによって異なります。getModel
関数から返される Model
の Model.top_k
属性をご覧ください。Model
の topK
フィールドが空の場合、モデルはトップ K サンプリングを適用せず、リクエストに topK
を設定できないことを示します。
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
コンテンツの安全性評価。
安全性評価には、有害のカテゴリとそのカテゴリにおける、コンテンツに対する危害の可能性のレベルが含まれます。コンテンツはさまざまな有害カテゴリにわたって安全性について分類されており、有害が分類される確率はここに含まれています。
JSON 表現 |
---|
{ "category": enum ( |
category
enum (HarmCategory
)
必須。この評価のカテゴリ。
probability
enum (HarmProbability
)
必須。このコンテンツが害を及ぼす確率。
blocked
boolean
このコンテンツはこの評価が原因でブロックされましたか?
HarmProbability
コンテンツが有害である確率。
分類システムは、コンテンツが安全でない確率を示します。これは、コンテンツが特定の有害性の重大度を示すものではありません。
列挙型 | |
---|---|
HARM_PROBABILITY_UNSPECIFIED |
確率が指定されていません。 |
NEGLIGIBLE |
コンテンツが安全でない確率はごくわずかである。 |
LOW |
コンテンツが安全でない確率は低い。 |
MEDIUM |
コンテンツが安全でない確率は中程度である。 |
HIGH |
コンテンツが安全でない確率が高い。 |
SafetySetting
安全ブロックの動作に影響する安全設定。
カテゴリの安全性設定を渡すと、コンテンツがブロックされる許容確率が変更されます。
JSON 表現 |
---|
{ "category": enum ( |
category
enum (HarmCategory
)
必須。この設定のカテゴリ。
threshold
enum (HarmBlockThreshold
)
必須。危害がブロックされる確率のしきい値を制御します。
HarmBlockThreshold
指定された有害確率以上でブロックする。
列挙型 | |
---|---|
HARM_BLOCK_THRESHOLD_UNSPECIFIED |
しきい値が指定されていません。 |
BLOCK_LOW_AND_ABOVE |
NEGLIGIBLE を含むコンテンツは許可されます。 |
BLOCK_MEDIUM_AND_ABOVE |
NEGLIGIBLE および LOW のコンテンツは許可されます。 |
BLOCK_ONLY_HIGH |
NEGLIGIBLE、LOW、MEDIUM のコンテンツは許可されます。 |
BLOCK_NONE |
すべてのコンテンツが許可されます。 |