方法:models.generateText
根據輸入訊息,產生模型的回應。
端點
posthttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:generateText
路徑參數
model
string
必要欄位。用於產生完成動作的 Model
或 TunedModel
名稱。例如:models/text-bison-001 tunedModels/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 和核取樣。
系統會根據符記的指定機率進行排序,只考慮機率最高的符記。Top-k 取樣會直接限制要考量的符記數量上限,而 Nucleus 取樣會根據累積機率限制符記數量。
注意:預設值會因型號而異,請參閱 Model
傳回 getModel
函式的 Model.top_p
屬性。
topK
integer
選用設定。取樣時要考慮的符記數量上限。
模型會使用結合的 Top-k 和核取樣。
前 K 大取樣會考量機率最高的 topK
符記組合。預設值為 40。
注意:預設值會因型號而異,請參閱 Model
傳回 getModel
函式的 Model.top_k
屬性。
回應主體
如果成功,回應主體會包含 GenerateTextResponse
的執行例項。
方法:models.countTextTokens
在文字上執行模型的分析器,並傳回符號數量。
端點
posthttps: / /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 } |
方法:models.generateMessage
在輸入 MessagePrompt
的情況下,從模型產生回應。
端點
posthttps: / /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 取樣會考慮機率總和至少為 topP
的最小詞元集合。
topK
integer
選用設定。取樣時要考慮的符記數量上限。
模型會使用結合的 Top-k 和核取樣。
前 K 大取樣會考量機率最高的 topK
符記組合。
回應主體
模型的回應。
包括候選訊息和會話記錄,以時間順序排列的訊息形式呈現。
如果成功,回應主體會含有以下結構的資料:
candidates[]
object (Message
)
模型的候選回覆訊息。
messages[]
object (Message
)
模型使用的對話記錄。
filters[]
object (ContentFilter
)
一組提示和回應文字的內容篩選中繼資料。
這會指出哪些 SafetyCategory
會封鎖此回應的候選項目、觸發封鎖的最低 HarmProbability
,以及該類別的 HarmThreshold 設定。
JSON 表示法 |
---|
{ "candidates": [ { object ( |
方法:models.countMessageTokens
在字串上執行模型的分析器,並傳回符號數。
端點
posthttps: / /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
在輸入訊息的情況下,從模型產生嵌入。
端點
posthttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:embedText
路徑參數
model
string
必要欄位。模型名稱,格式為 model=models/{model}。其格式為 models/{model}
。
要求主體
要求主體的資料會採用以下結構:
text
string
選用設定。模型會將這段任意形式的輸入文字轉換為嵌入文字。
方法:models.batchEmbedText
在同步呼叫中,根據模型提供的輸入文字產生多個嵌入。
端點
posthttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:batchEmbedText
路徑參數
model
string
必要欄位。用於產生嵌入項目的 Model
名稱。範例:models/embedding-gecko-001 採用 models/{model}
格式。
要求主體
要求主體的資料會採用以下結構:
texts[]
string
選用設定。模型會將任意形式的輸入文字轉換為嵌入文字。目前的限制為 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 } |
方法:tunedModels.generateText
在輸入訊息的情況下,產生模型的回應。
端點
posthttps: / /generativelanguage.googleapis.com /v1beta /{model=tunedModels /*}:generateText
路徑參數
model
string
必要欄位。用於產生完成動作的 Model
或 TunedModel
名稱。例如:models/text-bison-001 tunedModels/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 和核取樣。
系統會根據符記的指定機率進行排序,只考慮機率最高的符記。Top-k 取樣會直接限制要考量的符記數量上限,而 Nucleus 取樣會根據累積機率限制符記數量。
注意:預設值會因型號而異,請參閱 Model
傳回 getModel
函式的 Model.top_p
屬性。
topK
integer
選用設定。取樣時要考慮的符記數量上限。
模型會使用結合的 Top-k 和核取樣。
前 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
時,請務必在每個要求中提供 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 設定。這表示要解除至少 1 個回應的封鎖,SafetySettings
必須做出最小變更。
請在要求中使用 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 都會傳回要求使用的安全性設定,以及允許傳回結果的最低 HarmProbability。
rating
object (SafetyRating
)
根據內容評估的安全評等。
setting
object (SafetySetting
)
套用至要求的安全設定。
JSON 表示法 |
---|
{ "rating": { object ( |