Generative Language API

Gemini API 可讓開發人員使用 Gemini 模型建構生成式 AI 應用程式。Gemini 是功能最強大的模型,從零開始,就能以多模態的形式建構而成。它能通用且順暢地理解、執行及結合不同類型的資訊 (包括語言、圖片、音訊、影片和程式碼)。這個 API 可用於各種用途,例如處理文字和圖片、產生內容、對話代理程式、摘要和分類系統等。

服務:generativelanguage.googleapis.com

如要呼叫這項服務,建議您使用 Google 提供的用戶端程式庫。如果應用程式需要使用您自己的程式庫來呼叫這項服務,請在提出 API 要求時使用下列資訊。

探索文件

探索文件是一種機器可解讀的規格,用於說明和使用 REST API。此文件用於建構用戶端程式庫、IDE 外掛程式,以及與 Google API 互動的其他工具。一項服務可能會提供多個探索文件。此服務提供下列探索文件:

服務端點

服務端點是指定 API 服務網路位址的基準網址。一項服務可能有多個服務端點。這項服務有以下服務端點,且下方的 URI 皆以此服務端點為基準:

  • https://generativelanguage.googleapis.com

REST 資源:v1beta.corpora

方法
create POST /v1beta/corpora
建立空白的 Corpus
delete DELETE /v1beta/{name=corpora/*}
刪除 Corpus
get GET /v1beta/{name=corpora/*}
取得特定 Corpus 的相關資訊。
list GET /v1beta/corpora
列出使用者擁有的所有 Corpora
patch PATCH /v1beta/{corpus.name=corpora/*}
更新 Corpus
query POST /v1beta/{name=corpora/*}:query
Corpus 執行語意搜尋。

REST 資源:v1beta.corpora.documents

方法
create POST /v1beta/{parent=corpora/*}/documents
建立空白的 Document
delete DELETE /v1beta/{name=corpora/*/documents/*}
刪除 Document
get GET /v1beta/{name=corpora/*/documents/*}
取得特定 Document 的相關資訊。
list GET /v1beta/{parent=corpora/*}/documents
列出 Corpus 中的所有 Document
patch PATCH /v1beta/{document.name=corpora/*/documents/*}
更新 Document
query POST /v1beta/{name=corpora/*/documents/*}:query
Document 執行語意搜尋。

REST 資源:v1beta.corpora.documents.chunks

方法
batchCreate POST /v1beta/{parent=corpora/*/documents/*}/chunks:batchCreate
批次建立 Chunk
batchDelete POST /v1beta/{parent=corpora/*/documents/*}/chunks:batchDelete
批次刪除 Chunk
batchUpdate POST /v1beta/{parent=corpora/*/documents/*}/chunks:batchUpdate
批次更新 Chunk
create POST /v1beta/{parent=corpora/*/documents/*}/chunks
建立 Chunk
delete DELETE /v1beta/{name=corpora/*/documents/*/chunks/*}
刪除 Chunk
get GET /v1beta/{name=corpora/*/documents/*/chunks/*}
取得特定 Chunk 的相關資訊。
list GET /v1beta/{parent=corpora/*/documents/*}/chunks
列出 Document 中的所有 Chunk
patch PATCH /v1beta/{chunk.name=corpora/*/documents/*/chunks/*}
更新 Chunk

REST 資源:v1beta.corpora.permissions

方法
create POST /v1beta/{parent=corpora/*}/permissions
建立特定資源的權限。
delete DELETE /v1beta/{name=corpora/*/permissions/*}
刪除權限。
get GET /v1beta/{name=corpora/*/permissions/*}
取得特定權限的相關資訊。
list GET /v1beta/{parent=corpora/*}/permissions
列出特定資源的權限。
patch PATCH /v1beta/{permission.name=corpora/*/permissions/*}
更新權限。

REST 資源:v1beta.files

方法
delete DELETE /v1beta/{name=files/*}
刪除 File
get GET /v1beta/{name=files/*}
取得指定 File 的中繼資料。
list GET /v1beta/files
列出要求專案擁有的 File 中繼資料。

REST 資源:v1beta.media

方法
upload POST /v1beta/files
POST /upload/v1beta/files
建立 File

REST 資源:v1beta.models

方法
batchEmbedContents POST /v1beta/{model=models/*}:batchEmbedContents
在同步呼叫中的指定輸入文字時,從模型產生多個嵌入。
batchEmbedText POST /v1beta/{model=models/*}:batchEmbedText
在同步呼叫中的指定輸入文字時,從模型產生多個嵌入。
countMessageTokens POST /v1beta/{model=models/*}:countMessageTokens
對字串執行模型的權杖化工具,並傳回權杖數量。
countTextTokens POST /v1beta/{model=models/*}:countTextTokens
對文字執行模型的權杖化工具,並傳回權杖數量。
countTokens POST /v1beta/{model=models/*}:countTokens
針對輸入內容執行模型的權杖化工具,並傳回權杖數量。
embedContent POST /v1beta/{model=models/*}:embedContent
在指定 Content 的情況下,從模型產生嵌入。
embedText POST /v1beta/{model=models/*}:embedText
依據輸入訊息,從模型產生嵌入。
generateAnswer POST /v1beta/{model=models/*}:generateAnswer
以輸入 GenerateAnswerRequest 的方式,從模型產生基準答案。
generateContent POST /v1beta/{model=models/*}:generateContent
在指定 GenerateContentRequest 的情況下,從模型產生回應。
generateMessage POST /v1beta/{model=models/*}:generateMessage
在指定 MessagePrompt 的情況下,從模型產生回應。
generateText POST /v1beta/{model=models/*}:generateText
依據輸入訊息,從模型產生回應。
get GET /v1beta/{name=models/*}
取得特定模型的相關資訊。
list GET /v1beta/models
列出可透過 API 取得的模型。
streamGenerateContent POST /v1beta/{model=models/*}:streamGenerateContent
在指定輸入 GenerateContentRequest 的情況下,從模型產生串流回應。

REST 資源:v1beta.tunedModels

方法
create POST /v1beta/tunedModels
建立經過調整的模型。
delete DELETE /v1beta/{name=tunedModels/*}
刪除經過調整的模型。
generateContent POST /v1beta/{model=tunedModels/*}:generateContent
在指定 GenerateContentRequest 的情況下,從模型產生回應。
generateText POST /v1beta/{model=tunedModels/*}:generateText
依據輸入訊息,從模型產生回應。
get GET /v1beta/{name=tunedModels/*}
取得特定 TunedModel 的相關資訊。
list GET /v1beta/tunedModels
列出使用者擁有的調整後模型。
patch PATCH /v1beta/{tunedModel.name=tunedModels/*}
更新調整過的模型。
transferOwnership POST /v1beta/{name=tunedModels/*}:transferOwnership
轉移調整後模型的擁有權。

REST 資源:v1beta.tunedModels.permissions

方法
create POST /v1beta/{parent=tunedModels/*}/permissions
建立特定資源的權限。
delete DELETE /v1beta/{name=tunedModels/*/permissions/*}
刪除權限。
get GET /v1beta/{name=tunedModels/*/permissions/*}
取得特定權限的相關資訊。
list GET /v1beta/{parent=tunedModels/*}/permissions
列出特定資源的權限。
patch PATCH /v1beta/{permission.name=tunedModels/*/permissions/*}
更新權限。

REST 資源:v1.models

方法
batchEmbedContents POST /v1/{model=models/*}:batchEmbedContents
在同步呼叫中的指定輸入文字時,從模型產生多個嵌入。
countTokens POST /v1/{model=models/*}:countTokens
針對輸入內容執行模型的權杖化工具,並傳回權杖數量。
embedContent POST /v1/{model=models/*}:embedContent
在指定 Content 的情況下,從模型產生嵌入。
generateContent POST /v1/{model=models/*}:generateContent
在指定 GenerateContentRequest 的情況下,從模型產生回應。
get GET /v1/{name=models/*}
取得特定模型的相關資訊。
list GET /v1/models
列出可透過 API 取得的模型。
streamGenerateContent POST /v1/{model=models/*}:streamGenerateContent
在指定輸入 GenerateContentRequest 的情況下,從模型產生串流回應。

REST 資源:v1.operations

方法
delete DELETE /v1/{name=operations/**}
刪除長時間執行的作業。
list GET /v1/{name}
列出符合要求中指定篩選器的作業。

REST 資源:v1.tunedModels

方法
generateContent POST /v1/{model=tunedModels/*}:generateContent
在指定 GenerateContentRequest 的情況下,從模型產生回應。

REST 資源:v1.tunedModels.operations

方法
cancel POST /v1/{name=tunedModels/*/operations/*}:cancel
開始以非同步的方式取消長時間執行的作業。
get GET /v1/{name=tunedModels/*/operations/*}
取得長時間執行作業的最新狀態。
list GET /v1/{name=tunedModels/*}/operations
列出符合要求中指定篩選器的作業。