Generative Language API

借助 Gemini API,开发者可以使用 Gemini 模型构建生成式 AI 应用。Gemini 是我们最强大的模型,从一开始就提供多模态功能。它可以泛化并无缝地理解、处理和组合不同类型的信息,包括语言、图片、音频、视频和代码。您可以将 Gemini API 用于跨文本和图片推理、内容生成、对话代理、摘要和分类系统等用例。

服务:generativelanguage.googleapis.com

如要调用此服务,我们建议您使用 Google 提供的客户端库。如果您的应用需要使用您自己的库来调用此服务,则在发出 API 请求时应使用以下信息。

发现文档

发现文档是用于说明和使用 REST API 的机器可读规范。它用于构建客户端库、IDE 插件以及与 Google API 交互的其他工具。一项服务可能会提供多个发现文档。此服务提供了以下发现文档:

服务端点

服务端点是指定 API 服务的网络地址的基本网址。一项服务可能有多个服务端点。此服务具有以下服务端点,下面的所有 URI 都与此服务端点相关:

  • https://generativelanguage.googleapis.com

REST 资源:v1beta.cachedContents

方法
create POST /v1beta/cachedContents
创建 CachedContent 资源。
delete DELETE /v1beta/{name=cachedContents/*}
删除 CachedContent 资源。
get GET /v1beta/{name=cachedContents/*}
读取 CachedContent 资源。
list GET /v1beta/cachedContents
列出 CachedContents。
patch PATCH /v1beta/{cachedContent.name=cachedContents/*}
更新 CachedContent 资源(只有到期时间可更新)。

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
列出与请求中指定的过滤条件匹配的操作。