Permissions

方法:tuneModels.permissions.create

创建针对特定资源的权限。

端点

帖子 https://generativelanguage.googleapis.com/v1beta/{parent=tunedModels/*}/permissions

路径参数

parent string

必需。Permission 的父级资源。格式:tunedModels/{tunedModel} corpora/{corpus} 其格式为 tunedModels/{tunedmodel}

请求正文

请求正文包含一个 Permission 实例。

田野
granteeType enum (GranteeType)

可选。不可变。受让人的类型。

emailAddress string

可选。不可变。该权限所引用的群组用户的电子邮件地址。如果权限的授权对象类型为“所有人”,则不会设置此字段。

role enum (Role)

必需。此权限授予的角色。

示例请求

Python

import google.generativeai as genai

model_info = genai.get_model("tunedModels/my-increment-model")
# ...

public_permission = model_info.permissions.create(
    role="READER",
    grantee_type="EVERYONE",
)

group_permission = model_info.permissions.create(
    role="READER",
    # Use "user" for an individual email address.
    grantee_type="group",
    email_address="genai-samples-test-group@googlegroups.com",
)

响应正文

如果成功,响应正文将包含一个新创建的 Permission 实例。

方法:tunedModels.permissions.get

获取有关特定权限的信息。

端点

获取 https://generativelanguage.googleapis.com/v1beta/{name=tunedModels/*/permissions/*}

路径参数

name string

必需。权限的资源名称。

格式:tunedModels/{tunedModel}/permissions/{permission} corpora/{corpus}/permissions/{permission} 其格式为 tunedModels/{tunedmodel}/permissions/{permission}

请求正文

请求正文必须为空。

示例请求

Python

import google.generativeai as genai

model_info = genai.get_model("tunedModels/my-increment-model")

# ...

public = model_info.permissions.create(
    role="READER",
    grantee_type="EVERYONE",
)
print(public)
name = public.name
print(name)  # tunedModels/{tunedModel}/permissions/{permission}

from_name = genai.types.Permissions.get(name)
print(from_name)

响应正文

如果成功,则响应正文包含一个 Permission 实例。

方法:tunedModels.permissions.list

列出特定资源的权限。

端点

获取 https://generativelanguage.googleapis.com/v1beta/{parent=tunedModels/*}/permissions

路径参数

parent string

必需。权限的父级资源。格式:tunedModels/{tunedModel} corpora/{corpus} 其格式为 tunedModels/{tunedmodel}

查询参数

pageSize integer

可选。每页返回的 Permission 数量上限。服务返回的权限可能会较少。

如果未指定,则最多返回 10 项权限。即使您传递更大的 pageSize,此方法也会每页最多返回 1000 项权限。

pageToken string

可选。从之前的 permissions.list 调用接收的页面令牌。

将一个请求返回的 pageToken 作为参数提供给下一个请求,以检索下一页。

进行分页时,提供给 permissions.list 的所有其他参数必须与提供页面令牌的调用匹配。

请求正文

请求正文必须为空。

示例请求

Python

import google.generativeai as genai

model_info = genai.get_model("tunedModels/my-increment-model")

# ...

for p in model_info.permissions.list():
    print(p)

响应正文

如果成功,则响应正文包含一个 ListPermissionsResponse 实例。

方法:tuneModels.permissions.patch

更新权限。

端点

补丁 https://generativelanguage.googleapis.com/v1beta/{permission.name=tunedModels/*/permissions/*}

PATCH https://generativelanguage.googleapis.com/v1beta/{permission.name=tunedModels/*/permissions/*}

路径参数

permission.name string

仅限输出。标识符。权限名称。系统会在创建时生成一个唯一的名称。示例:tunedModels/{tunedModel}/permissions/{permission} corpora/{corpus}/permissions/{permission} 仅限输出。其格式为 tunedModels/{tunedmodel}/permissions/{permission}

查询参数

updateMask string (FieldMask format)

必需。要更新的字段列表。已接受的建议:- 角色(Permission.role 个字段)

这是完全限定字段名称的逗号分隔列表。示例:"user.displayName,photo"

请求正文

请求正文包含一个 Permission 实例。

田野
role enum (Role)

必需。此权限授予的角色。

示例请求

Python

        import google.generativeai as genai

        model_info = genai.get_model("tunedModels/my-increment-model")

        # ...

        test_group = model_info.permissions.create(
            role="writer",
            grantee_type="group",
            email_address="genai-samples-test-group@googlegroups.com",
        )

        test_group.update({"role": "READER"})

    def test_tuned_models_permission_delete(self):
        import google.generativeai as genai

        model_info = genai.get_model("tunedModels/my-increment-model")
        # ...

        public_permission = model_info.permissions.create(
            role="READER",
            grantee_type="EVERYONE",
        )

        public_permission.delete()


if __name__ == "__main__":
    absltest.main()

响应正文

如果成功,则响应正文包含一个 Permission 实例。

方法:tunedModels.permissions.delete

删除权限。

端点

删除 https://generativelanguage.googleapis.com/v1beta/{name=tunedModels/*/permissions/*}

路径参数

name string

必需。权限的资源名称。格式:tunedModels/{tunedModel}/permissions/{permission} corpora/{corpus}/permissions/{permission} 其格式为 tunedModels/{tunedmodel}/permissions/{permission}

请求正文

请求正文必须为空。

示例请求

Python

import google.generativeai as genai

model_info = genai.get_model("tunedModels/my-increment-model")
# ...

public_permission = model_info.permissions.create(
    role="READER",
    grantee_type="EVERYONE",
)

public_permission.delete()

响应正文

如果成功,则响应正文为空。

方法:tuneModels.transfer ownership

转移已调参模型的所有权。这是更改已调参模型所有权的唯一方式。当前所有者将降级为“写入者”角色。

端点

POST https://generativelanguage.googleapis.com/v1beta/{name=tunedModels/*}:transferOwnership

路径参数

name string

必需。要转移所有权的已调参模型的资源名称。

格式:tunedModels/my-model-id 采用 tunedModels/{tunedmodel} 格式。

请求正文

请求正文中包含结构如下的数据:

田野
emailAddress string

必需。接收调整后的模型的目标用户的电子邮件地址。

响应正文

如果成功,则响应正文为空。

REST 资源:tunedModels.permissions

资源:权限

权限资源可向用户、群组或其他用户授予对 PaLM API 资源(例如经过调整的模型、语料库)的访问权限。

角色是一组允许的操作,可让用户对 PaLM API 资源执行特定操作。如需将其提供给用户、群组或服务账号,您可以分配角色。分配角色就是授予该角色包含的权限。

其中包含三个同心角色。每个角色都包含上一个角色允许的操作的超集:

  • 读取器可以使用资源(例如调优后的模型、语料库)进行推理
  • 写入者拥有读者的权限,并且还可以修改和分享
  • 所有者拥有写入者的权限,并且还可以删除
字段
name string

仅限输出。标识符。权限名称。系统会在创建时生成一个唯一的名称。示例:tunedModels/{tunedModel}/permissions/{permission} corpora/{corpus}/permissions/{permission} 仅限输出。

granteeType enum (GranteeType)

可选。不可变。受赠人的类型。

emailAddress string

可选。不可变。该权限所引用的群组用户的电子邮件地址。如果权限的授权对象类型为“所有人”,则不会设置此字段。

role enum (Role)

必需。此权限授予的角色。

JSON 表示法
{
  "name": string,
  "granteeType": enum (GranteeType),
  "emailAddress": string,
  "role": enum (Role)
}

ListPermissionsResponse

来自 ListPermissions 的响应,其中包含分页的权限列表。

田野
permissions[] object (Permission)

返回的权限。

nextPageToken string

一个令牌,可作为 pageToken 发送以检索下一页。

如果省略此字段,则没有更多页面。

JSON 表示法
{
  "permissions": [
    {
      object (Permission)
    }
  ],
  "nextPageToken": string
}