方法:models.generateText
根據輸入訊息生成模型回覆。
端點
貼文https: / /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
(選用步驟) 控制輸出內容的隨機程度。注意:預設值因模型而異,請參閱 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 和核心取樣。
系統會根據指派的機率排序符記,只考慮機率最高的符記。Top-k 取樣會直接限制要考慮的詞元數量上限,而 Nucleus 取樣則會根據累積機率限制詞元數量。
注意:預設值因模型而異,請參閱 getModel
函式傳回的 Model
Model.top_p
屬性。
topK
integer
(選用步驟) 取樣時要考慮的權杖數量上限。
模型會結合 Top-k 和核心取樣。
Top-k 取樣會考慮topK
機率最高的符記組合。預設值為 40。
注意:預設值因模型而異,請參閱 getModel
函式傳回的 Model
Model.top_k
屬性。
回應主體
如果成功,回應主體會包含 GenerateTextResponse
的執行例項。
方法:models.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 } |
方法:models.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 和核心取樣。
核心取樣會考慮機率總和至少為 topP
的最小符記集。
topK
integer
(選用步驟) 取樣時要考慮的權杖數量上限。
模型會結合 Top-k 和核心取樣。
Top-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
根據輸入訊息,從模型產生嵌入內容。
端點
貼文https: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:embedText
路徑參數
model
string
必要欄位。要使用的模型名稱,格式為 model=models/{model}。格式為 models/{model}
。
要求主體
要求主體的資料會採用以下結構:
text
string
(選用步驟) 模型會將任意形式的輸入文字轉換為嵌入項目。
方法:models.batchEmbedText
模型會根據同步呼叫中的輸入文字,生成多個嵌入。
端點
貼文https: / /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 } |
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
引用資訊。
如果這是模型生成的輸出內容,這個欄位可能會填入 content
中任何文字的歸因資訊。Message
這個欄位僅用於輸出。
JSON 表示法 |
---|
{
"author": string,
"content": string,
"citationMetadata": {
object ( |
MessagePrompt
傳送至模型的所有結構化輸入文字,做為提示。
MessagePrompt
包含一組結構化欄位,可提供對話的脈絡資訊、使用者輸入/模型輸出訊息配對範例 (可讓模型以不同方式回應),以及對話記錄或訊息清單 (代表使用者與模型之間交替進行的對話)。
context
string
(選用步驟) 應先提供給模型,做為回覆內容的基礎。
如果這個 context
不是空白,系統會先將這個 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 設定。這表示解除封鎖至少 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 ( |