方法: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
)
必要欄位。以提示的形式提供給模型的任意形式輸入內容。
收到提示後,模型會依據輸入文字完成預測,產生「文字完成」回應。
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
選用設定。控管輸出內容的隨機程度。注意:預設值因模型而異,請參閱傳回 getModel
函式的 Model
的 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 取樣功能則會根據累積機率限制符記數量。
注意:預設值因模型而異,請參閱傳回 getModel
函式的 Model
的 Model.top_p
屬性。
topK
integer
選用設定。取樣時可指定的符記數量上限。
這個模型採用 Top-k 和 nucleus 綜合取樣。
「Top-K」取樣會考量一組可能性最高的符記組合 (共 topK
個)。預設值為 40。
注意:預設值因模型而異,請參閱傳回 getModel
函式的 Model
的 Model.top_k
屬性。
回應主體
如果成功,回應主體會包含 GenerateTextResponse
的執行例項。
方法:model.countTextTokens
對文字執行模型的符記化工具,並傳回符記數量。
端點
則貼文
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]
(含首尾)。如果值越接近 1.0
,產生的回應會越多元;而越接近 0.0
的值,則通常不會使模型產生出乎意料的回應。
candidateCount
integer
選用設定。要傳回的回應訊息數。
這個值必須介於 [1, 8]
之間 (含首尾)。如未設定,這個項目會預設為 1
。
topP
number
選用設定。取樣時考量的符記累計機率上限。
這個模型採用 Top-k 和 nucleus 綜合取樣。
Nucleus 取樣會考量機率總和至少為 topP
的最小符記集。
topK
integer
選用設定。取樣時可指定的符記數量上限。
這個模型採用 Top-k 和 nucleus 綜合取樣。
「Top-K」取樣會考量一組可能性最高的符記組合 (共 topK
個)。
回應主體
模型的回應。
包括候選訊息和對話記錄 (依時間排序)。
如果成功,回應主體會含有以下結構的資料:
candidates[]
object (Message
)
模型中的候選回應訊息。
messages[]
object (Message
)
模型使用的對話記錄。
filters[]
object (ContentFilter
)
一組用於篩選提示和回應文字的內容篩選中繼資料。
這表示哪些 SafetyCategory
封鎖了這則回應中的候選對象、觸發封鎖條件的最低 HarmProbability
,以及該類別的 HarmThreshold 設定。
JSON 表示法 |
---|
{ "candidates": [ { object ( |
方法:model.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 } |
方法:model.embedText
根據輸入訊息從模型產生嵌入。
端點
則貼文
https://generativelanguage.googleapis.com/v1beta/{model=models/*}:embedText
路徑參數
model
string
必要欄位。要與 model=models/{model} 格式搭配使用的模型名稱。格式為 models/{model}
。
要求主體
要求主體的資料會採用以下結構:
text
string
選用設定。模型轉換為嵌入的任意形式輸入文字。
方法:model.batchEmbedText
在同步呼叫中,透過特定模型產生多個嵌入。
端點
則貼文
https://generativelanguage.googleapis.com/v1beta/{model=models/*}:batchEmbedText
路徑參數
model
string
必要欄位。用於產生嵌入的 Model
名稱。範例:model/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
)
必要欄位。以提示的形式提供給模型的任意形式輸入內容。
收到提示後,模型會依據輸入文字完成預測,產生「文字完成」回應。
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
選用設定。控管輸出內容的隨機程度。注意:預設值因模型而異,請參閱傳回 getModel
函式的 Model
的 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 取樣功能則會根據累積機率限制符記數量。
注意:預設值因模型而異,請參閱傳回 getModel
函式的 Model
的 Model.top_p
屬性。
topK
integer
選用設定。取樣時可指定的符記數量上限。
這個模型採用 Top-k 和 nucleus 綜合取樣。
「Top-K」取樣會考量一組可能性最高的符記組合 (共 topK
個)。預設值為 40。
注意:預設值因模型而異,請參閱傳回 getModel
函式的 Model
的 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
就會用來標記訊息。
author
string
選用設定。這則訊息的作者。
當這個訊息以文字形式提供給模型時,這會是標記此「訊息」內容的鍵。
作者可以是任何英數字元字串。
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 ( |