方法:model.generateText
根據輸入訊息從模型產生回應。
端點
則貼文 https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateText路徑參數
model
string
必要欄位。用於產生完成動作的 Model
或 TunedModel
名稱。範例:Model/text-bison-001TaptModels/sentence-translator-u3b7m,此格式採用 models/{model}
格式。
要求主體
要求主體的資料會採用以下結構:
prompt
object (TextPrompt
)
必要欄位。給模型做為提示的任意形式輸入文字。
收到提示後,模型會產生 TextCompletion 回應,並預測輸入文字的補完內容。
safetySettings[]
object (SafetySetting
)
選用設定。用來封鎖不安全內容的 SafetySetting
唯一例項清單。
將套用至 GenerateTextRequest.prompt
和 GenerateTextResponse.candidates
。每個 SafetyCategory
類型只能有一項設定。如果提示和回應未達到這些設定所設門檻,API 就會封鎖這些提示和回應。這份清單會覆寫 safetySettings 中指定的每個 SafetyCategory
的預設設定。如果清單中的指定 SafetyCategory
沒有任何 SafetySetting
,API 會使用該類別的預設安全性設定。文字服務支援 HARM_CATEGORY_DEROGATORY、HARM_CATEGORY_TOXICITY、HARM_CATEGORY_VIOLENCE、HARM_CATEGORY_SEXUAL、HARM_CATEGORY_MEDICAL、HARM_CATEGORY_DANGEROUS 等危害類別。
stopSequences[]
string
將停止產生輸出內容的字元序列 (最多 5 個)。如果指定了這個值,API 會在首次出現停止序列時停止。停止序列不會納入回應。
temperature
number
選用設定。控制輸出內容的隨機性。注意:預設值因型號而異,請參閱 Model
傳回 getModel
函式的 Model.temperature
屬性。
值的範圍為 [0.0,1.0],含兩端。如果值越接近 1.0,產生的回應就越多元且具有創意;如果值越接近 0.0,模型發出的回應通常較為簡單。
candidateCount
integer
選用設定。要傳回的產生回應數量。
這個值必須介於 [1, 8] (含) 之間。如果未設定,則預設值為 1。
maxOutputTokens
integer
選用設定。候選項目中的符記數量上限。
如未設定,這會預設為 Model
規格中指定的 outputTokenLimit。
topP
number
選用設定。取樣時考量的符記累計機率上限。
這個模型採用 Top-k 和 nucleus 綜合取樣。
系統會依據指派的機率排序權杖,只考慮最有可能的符記。Top-k 取樣會直接限制要考量的符記數量上限,而 Nucleus 取樣會根據累積機率限制符記數量。
注意:預設值因型號而異,請參閱 Model
傳回 getModel
函式的 Model.top_p
屬性。
topK
integer
選用設定。取樣時可指定的符記數量上限。
這個模型採用 Top-k 和 nucleus 綜合取樣。
「Top-K」取樣會考量一組可能性最高的符記組合 (共 topK
個)。預設值為 40。
注意:預設值因型號而異,請參閱 Model
傳回 getModel
函式的 Model.top_k
屬性。
回應主體
如果成功,回應主體會包含 GenerateTextResponse
的執行例項。
方法:model.countTextTokens
對文字執行模型的符記化工具,並傳回符記數量。
端點
post https://generativelanguage.googleapis.com/v1beta/{model=models/*}:countTextTokens路徑參數
model
string
必要欄位。模型的資源名稱。這可做為模型使用的 ID。
這個名稱應與 models.list
方法傳回的模型名稱相符。
格式:models/{model}
格式為 models/{model}
。
要求主體
要求主體的資料會採用以下結構:
prompt
object (TextPrompt
)
必要欄位。以提示的形式提供給模型的任意形式輸入內容。
回應主體
models.countTextTokens
的回應。
它會傳回 prompt
的模型 tokenCount
。
如果成功,回應主體會含有以下結構的資料:
tokenCount
integer
model
權杖化 prompt
為權杖的數量。
一律不得為負數。
JSON 表示法 |
---|
{ "tokenCount": integer } |
方法:model.generateMessage
透過指定輸入 MessagePrompt
從模型產生回應。
端點
則貼文 https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateMessage路徑參數
model
string
必要欄位。要使用的模型名稱。
格式:name=models/{model}
。其格式為 models/{model}
。
要求主體
要求主體的資料會採用以下結構:
prompt
object (MessagePrompt
)
必要欄位。以提示形式提供給模型的結構化文字輸入內容。
根據特定提示,模型會傳回討論中預測的下一則訊息。
temperature
number
選用設定。控制輸出的隨機性。
值的範圍為 [0.0,1.0]
以上 (包含 [0.0,1.0]
)。如果值越接近 1.0
,產生的回應會越多元;而越接近 0.0
的值,則通常不會使模型產生出乎意料的回應。
candidateCount
integer
選用設定。要傳回的產生回應訊息數量。
這個值必須介於 [1, 8]
之間 (含首尾)。如果未設定,則預設為 1
。
topP
number
選用設定。取樣時考量的符記累計機率上限。
這個模型採用 Top-k 和 nucleus 綜合取樣。
Nucleus 取樣會考慮機率總和至少為 topP
的最小詞元集合。
topK
integer
選用設定。取樣時可指定的符記數量上限。
模型會使用結合的 Top-k 和核取樣。
前 K 大取樣會考量機率最高的 topK
符記組合。
回應主體
模型的回應。
包括候選訊息和對話記錄 (依時間排序)。
如果成功,回應主體會含有以下結構的資料:
candidates[]
object (Message
)
模型中的候選回應訊息。
messages[]
object (Message
)
模型使用的對話記錄。
filters[]
object (ContentFilter
)
一組提示和回應文字的內容篩選中繼資料。
這表示哪些 SafetyCategory
封鎖了這則回應中的候選對象、觸發封鎖條件的最低 HarmProbability
,以及該類別的 HarmThreshold 設定。
JSON 表示法 |
---|
{ "candidates": [ { object ( |
方法:models.countMessageTokens
在字串上執行模型的分析器,並傳回符號數。
端點
則貼文 https://generativelanguage.googleapis.com/v1beta/{model=models/*}:countMessageTokens路徑參數
model
string
必要欄位。模型的資源名稱。這可做為模型使用的 ID。
這個名稱應與 models.list
方法傳回的模型名稱相符。
格式:models/{model}
格式為 models/{model}
。
要求主體
要求主體的資料會採用以下結構:
prompt
object (MessagePrompt
)
必要欄位。要傳回其符記數量的提示。
回應主體
models.countMessageTokens
的回應。
它會傳回 prompt
的模型 tokenCount
。
如果成功,回應主體會含有以下結構的資料:
tokenCount
integer
model
將 prompt
切割成多少個符記。
一律不得為負數。
JSON 表示法 |
---|
{ "tokenCount": integer } |
方法:models.embedText
根據輸入訊息從模型產生嵌入。
端點
post https://generativelanguage.googleapis.com/v1beta/{model=models/*}:embedText路徑參數
model
string
必要欄位。模型名稱,格式為 model=models/{model}。其格式為 models/{model}
。
要求主體
要求主體的資料會採用以下結構:
text
string
選用設定。模型轉換為嵌入的任意形式輸入文字。
方法:models.batchEmbedText
在同步呼叫中,透過特定模型產生多個嵌入。
端點
post https://generativelanguage.googleapis.com/v1beta/{model=models/*}:batchEmbedText路徑參數
model
string
必要欄位。用於產生嵌入項目的 Model
名稱。例如:models/embedding-gecko-001,格式為 models/{model}
。
要求主體
要求主體的資料會採用以下結構:
texts[]
string
選用設定。模型轉換為嵌入的任意形式輸入內容文字。目前上限為 100 段文字,超過 100 則系統將擲回錯誤。
requests[]
object (EmbedTextRequest
)
選用設定。批次嵌入要求。只能設定 texts
或 requests
其中一個。
回應主體
對 EmbedTextRequest 的回應。
如果成功,回應主體會含有以下結構的資料:
embeddings[]
object (Embedding
)
僅供輸出。從輸入文字產生的嵌入值。
JSON 表示法 |
---|
{
"embeddings": [
{
object ( |
EmbedTextRequest
要求從模型取得文字嵌入。
model
string
必要欄位。模型名稱,格式為 model=models/{model}。
text
string
選用設定。模型會將這段任意形式的輸入文字轉換為嵌入文字。
JSON 表示法 |
---|
{ "model": string, "text": string } |
方法:TuneModels.generateText
在輸入訊息的情況下,產生模型的回應。
端點
則貼文 https://generativelanguage.googleapis.com/v1beta/{model=tunedModels/*}:generateText路徑參數
model
string
必要欄位。用於產生完成動作的 Model
或 TunedModel
名稱。範例:Model/text-bison-001TaptModels/sentence-translator-u3b7m,此格式採用 tunedModels/{tunedmodel}
格式。
要求主體
要求主體的資料會採用以下結構:
prompt
object (TextPrompt
)
必要欄位。給模型做為提示的任意形式輸入文字。
收到提示後,模型會產生 TextCompletion 回應,並預測輸入文字的補完內容。
safetySettings[]
object (SafetySetting
)
選用設定。用來封鎖不安全內容的 SafetySetting
唯一例項清單。
將套用至 GenerateTextRequest.prompt
和 GenerateTextResponse.candidates
。每個 SafetyCategory
類型只能有一項設定。如果提示和回應未達到這些設定所設門檻,API 就會封鎖這些提示和回應。這份清單會覆寫 safetySettings 中指定的每個 SafetyCategory
的預設設定。如果清單中的指定 SafetyCategory
沒有任何 SafetySetting
,API 會使用該類別的預設安全性設定。文字服務支援 HARM_CATEGORY_DEROGATORY、HARM_CATEGORY_TOXICITY、HARM_CATEGORY_VIOLENCE、HARM_CATEGORY_SEXUAL、HARM_CATEGORY_MEDICAL、HARM_CATEGORY_DANGEROUS 等危害類別。
stopSequences[]
string
將停止產生輸出內容的字元序列 (最多 5 個)。如果指定了這個值,API 會在首次出現停止序列時停止。停止序列不會納入回應。
temperature
number
選用設定。控制輸出內容的隨機性。注意:預設值因型號而異,請參閱 Model
傳回 getModel
函式的 Model.temperature
屬性。
值的範圍為 [0.0,1.0],含兩端。如果值越接近 1.0,產生的回應就越多元且具有創意;如果值越接近 0.0,模型發出的回應通常較為簡單。
candidateCount
integer
選用設定。要傳回的產生回應數量。
這個值必須介於 [1, 8] (含) 之間。如果未設定,則預設值為 1。
maxOutputTokens
integer
選用設定。候選項目中的符記數量上限。
如未設定,這會預設為 Model
規格中指定的 outputTokenLimit。
topP
number
選用設定。取樣時考量的符記累計機率上限。
這個模型採用 Top-k 和 nucleus 綜合取樣。
系統會依據指派的機率排序權杖,只考慮最有可能的符記。Top-k 取樣會直接限制要考量的符記數量上限,而 Nucleus 取樣會根據累積機率限制符記數量。
注意:預設值因型號而異,請參閱 Model
傳回 getModel
函式的 Model.top_p
屬性。
topK
integer
選用設定。取樣時可指定的符記數量上限。
這個模型採用 Top-k 和 nucleus 綜合取樣。
「Top-K」取樣會考量一組可能性最高的符記組合 (共 topK
個)。預設值為 40。
注意:預設值因型號而異,請參閱 Model
傳回 getModel
函式的 Model.top_k
屬性。
回應主體
如果成功,回應主體會包含 GenerateTextResponse
的執行例項。
ContentFilter
與處理單一要求相關聯的內容篩選中繼資料。
ContentFilter 包含原因和選用的支援字串。原因可能不明。
reason
enum (BlockedReason
)
內容在要求處理期間遭到封鎖的原因。
message
string
字串,可進一步說明篩選行為。
JSON 表示法 |
---|
{
"reason": enum ( |
BlockedReason
內容遭封鎖的可能原因清單。
列舉 | |
---|---|
BLOCKED_REASON_UNSPECIFIED |
未指定封鎖原因。 |
SAFETY |
內容因安全性設定而遭到封鎖。 |
OTHER |
內容遭到封鎖,但原因未分類。 |
訊息
結構化文字的基本單位。
Message
包含 author
和 Message
的 content
。
author
會在訊息以文字形式提供給模型時標記訊息。
content
string
必要欄位。結構化 Message
的文字內容。
citationMetadata
object (CitationMetadata
)
僅供輸出。在這個 Message
中,模型產生的 content
引用資訊。
如果這個 Message
是依據模型的輸出內容產生,這個欄位可能會填入 content
中任何文字的歸因資訊。這個欄位僅適用於輸出。
JSON 表示法 |
---|
{
"author": string,
"content": string,
"citationMetadata": {
object ( |
MessagePrompt
以提示形式傳送至模型的所有結構化輸入內容。
MessagePrompt
包含一組結構化欄位,可提供對話背景資訊、使用者輸入內容/模型輸出訊息組合範例,藉此讓模型以不同方式回覆,以及代表使用者與模型之間對話轉彎回合的對話記錄或訊息清單。
context
string
選用設定。應先提供給模型的文字,以便建立回應的基礎。
如果不為空白,這個 context
會先提供給模型,再提供給 examples
和 messages
。使用 context
時,請務必為每個要求提供這個項目,以便維持連續性。
這個欄位可用來說明您向模型提問的問題,協助提供情境並引導回覆。例如:「將詞組從英文翻譯成法文」或「根據陳述,將情緒分類為開心、難過或中立」。
如果輸入總大小超過模型的 inputTokenLimit
,導致輸入要求遭到截斷,這個欄位中的所有內容優先於訊息記錄。
examples[]
object (Example
)
選用設定。模型應產生的示例。
包括使用者輸入內容和模型應模擬的回應。
這些 examples
的處理方式與對話訊息相同,但會優先於 messages
中的記錄:如果輸入內容的總大小超過模型的 inputTokenLimit
,輸入內容就會截斷。系統將在 examples
前從「messages
」中捨棄這些項目。
messages[]
object (Message
)
必要欄位。近期對話記錄的快照,依時間先後排序。
兩位作者輪流講話。
如果輸入總大小超過模型的 inputTokenLimit
,輸入內容就會遭到截斷:最舊的項目會從 messages
捨棄。
範例
GenerateTextResponse
模型的回應,包括候選人完成率。
candidates[]
object (TextCompletion
)
模型的候選回覆。
filters[]
object (ContentFilter
)
一組用於篩選提示和回應文字的內容篩選中繼資料。
這表示哪些 SafetyCategory
封鎖了這則回應中的候選對象、觸發封鎖條件的最低 HarmProbability
,以及該類別的 HarmThreshold 設定。這表示對 SafetySettings
進行最小的變更,解除封鎖至少 1 個回應。
請在要求中使用 SafetySettings
(或 API 的預設 SafetySettings
) 設定封鎖條件。
safetyFeedback[]
object (SafetyFeedback
)
傳回與內容篩選相關的任何安全性意見回饋。
JSON 表示法 |
---|
{ "candidates": [ { object ( |
TextCompletion
模型傳回的輸出文字。
output
string
僅供輸出。模型傳回的產生文字。
safetyRatings[]
object (SafetyRating
)
回應安全性的分級。
每個類別最多只能有一個評分。
citationMetadata
object (CitationMetadata
)
僅供輸出。在這個 TextCompletion
中,模型產生的 output
引用資訊。
這個欄位可以填入 output
中任何文字的作者資訊。
JSON 表示法 |
---|
{ "output": string, "safetyRatings": [ { object ( |
SafetyFeedback
針對整個要求提出安全意見回饋。
如果輸入和/或回應中的內容因安全設定而遭到封鎖,系統會在這個欄位填入資料。部分 HarmCategory 可能沒有 SafetyFeedback。每項 SafetyFeedback 都會傳回要求所使用的安全設定,以及為了傳回結果而必須允許的最低傷害。
rating
object (SafetyRating
)
依據內容評估的安全性評分。
setting
object (SafetySetting
)
已對要求套用安全性設定。
JSON 表示法 |
---|
{ "rating": { object ( |