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