diff --git a/ucloud/services/uai_modelverse/client.py b/ucloud/services/uai_modelverse/client.py index 96752cb..ecc2ce6 100644 --- a/ucloud/services/uai_modelverse/client.py +++ b/ucloud/services/uai_modelverse/client.py @@ -369,16 +369,6 @@ def get_uf_square_model_detail( - **WebSearch** (bool) - 是否支持联网搜索 - **Pricing** - - **Completion** (float) - 输出定价 - - **Currency** (str) - 币种 - - **Image** (float) - 生图定价 - - **Prompt** (float) - 提示词定价 - - **Unit** (str) - 单位(中文),如“次” “百万” - - **UnitEn** (str) - 单位(English),如“Time” “Million” - - **Video** (str) - 生视频定价 - - **ModelTypeMap** - **ImageToImage** (bool) - 图生图模型 - **ImageToVideo** (bool) - 图生视频模型 @@ -389,6 +379,13 @@ def get_uf_square_model_detail( - **TextToVideo** (bool) - 文生视频模型 + **ApiProtocols** + - **Anthropic** (bool) - 是否支持Anthropic协议 + - **ChatCompletions** (bool) - 是否支持chat协议 + - **Gemini** (bool) - 是否支持gemini协议 + - **Responses** (bool) - 是否支持responses协议 + + **PriceRate** - **ChargeItem** (str) - 收费项:input/output/thinking/tool... - **ChargeItemDescription** (str) - 收费项描述 @@ -399,13 +396,14 @@ def get_uf_square_model_detail( - **UnitEn** (str) - 计价单位英文 - **InferenceRegionInfo** - - **ModelId** (str) - 地域模型ID (例如: deepseek-v4-flash-sg) - - **RegionCode** (str) - 地域代码: sg(新加坡)/us(美国)/hk(香港) - - **RegionName** (str) - 地域名称: 新加坡/美国/香港 - - **RegionNameEn** (str) - 地域名称(英文): Singapore/United States/Hong Kong - - **SquareModelId** (str) - 广场模型ID (umodel-xxx) - - **Status** (str) - 状态: published(已发布)/unpublished(未发布) + **Pricing** + - **Completion** (float) - 输出定价 + - **Currency** (str) - 币种 + - **Image** (float) - 生图定价 + - **Prompt** (float) - 提示词定价 + - **Unit** (str) - 单位(中文),如“次” “百万” + - **UnitEn** (str) - 单位(English),如“Time” “Million” + - **Video** (str) - 生视频定价 **PriceTier** @@ -415,11 +413,13 @@ def get_uf_square_model_detail( - **Rates** (list) - 见 **PriceRate** 模型定义 - **ApiProtocols** - - **Anthropic** (bool) - 是否支持Anthropic协议 - - **ChatCompletions** (bool) - 是否支持chat协议 - - **Gemini** (bool) - 是否支持gemini协议 - - **Responses** (bool) - 是否支持responses协议 + **InferenceRegionInfo** + - **ModelId** (str) - 地域模型ID (例如: deepseek-v4-flash-sg) + - **RegionCode** (str) - 地域代码: sg(新加坡)/us(美国)/hk(香港) + - **RegionName** (str) - 地域名称: 新加坡/美国/香港 + - **RegionNameEn** (str) - 地域名称(英文): Singapore/United States/Hong Kong + - **SquareModelId** (str) - 广场模型ID (umodel-xxx) + - **Status** (str) - 状态: published(已发布)/unpublished(未发布) **SquareModel** @@ -842,16 +842,6 @@ def list_uf_square_model( **Response Model** - **PriceRate** - - **ChargeItem** (str) - 收费项:input/output/thinking/tool... - - **ChargeItemDescription** (str) - 收费项描述 - - **ChargeItemDescriptionEn** (str) - 收费项描述英文描述 - - **Currency** (str) - 货币单位 - - **Price** (str) - 价格 - - **Unit** (str) - 计价单位 - - **UnitEn** (str) - 计价单位英文 - - **Pricing** - **Completion** (float) - 输出定价 - **Currency** (str) - 币种 @@ -862,6 +852,16 @@ def list_uf_square_model( - **Video** (str) - 生视频定价 + **PriceRate** + - **ChargeItem** (str) - 收费项:input/output/thinking/tool... + - **ChargeItemDescription** (str) - 收费项描述 + - **ChargeItemDescriptionEn** (str) - 收费项描述英文描述 + - **Currency** (str) - 货币单位 + - **Price** (str) - 价格 + - **Unit** (str) - 计价单位 + - **UnitEn** (str) - 计价单位英文 + + **PriceTier** - **Condition** (str) - 档位/条件(例如 "32k"、"128k") - **Description** (str) - 档位描述(例如 "标准上下文 32k") @@ -949,19 +949,80 @@ def list_uf_square_model_filters_auth( def list_um_infer_api_key( self, req: typing.Optional[dict] = None, **kwargs ) -> dict: - """ListUMInferAPIKey - 列表查询apikey + """ListUMInferAPIKey - + + **Request** + + - **ProjectId** (str) - (Config) + - **Limit** (int) - + - **ModelverseDisabled** (int) - + - **Offset** (int) - + - **SandBoxDisabled** (int) - + + **Response** + + - **Data** (list) - 见 **APIKey** 模型定义 + + **Response Model** + + **APIKey** + - **ChannelId** (int) - + - **CreateTime** (int) - + - **DailyLimitAmount** (str) - + - **DailyUsedAmount** (str) - + - **ExpireTime** (int) - + - **GrantAllModels** (bool) - + - **GrantedModels** (list) - + - **IPWhitelist** (str) - + - **Key** (str) - + - **KeyId** (str) - + - **ModelverseDisabled** (int) - + - **MonthlyLimitAmount** (str) - + - **MonthlyUsedAmount** (str) - + - **Name** (str) - + - **OrganizationId** (int) - + - **SandBoxDisabled** (int) - + - **Status** (int) - + - **TopOrganizationId** (int) - + + + """ + # build request + d = { + "ProjectId": self.config.project_id, + } + req and d.update(req) + d = apis.ListUMInferAPIKeyRequestSchema().dumps(d) + + # build options + kwargs["max_retries"] = 0 # ignore retry when api is not idempotent + + resp = self.invoke("ListUMInferAPIKey", d, **kwargs) + return apis.ListUMInferAPIKeyResponseSchema().loads(resp) + + def list_um_infer_api_key_v2( + self, req: typing.Optional[dict] = None, **kwargs + ) -> dict: + """ListUMInferAPIKeyV2 - 获取modelverse apikey,密钥掩码返回 **Request** - **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 `_ - - **Limit** (int) - 返回数据长度,默认为20,最大100 - - **ModelverseDisabled** (int) - 是否modelverse可用 0: 启用 1: 禁用 - - **Offset** (int) - 列表起始位置偏移量,默认为0 - - **SandBoxDisabled** (int) - 是否沙盒可用 0: 启用 1: 禁用(astraflow 沙盒控制未上线,暂时无效) + - **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 `_ + - **Zone** (str) - (Required) 可用区。参见 `可用区列表 `_ + - **AllStatus** (int) - 默认 false,排除已删除记录;true 包含已删除记录 + - **KeyId** (str) - 按 API Key 资源 ID 精确过滤;为空不限制 + - **Limit** (int) - 每页条数;0 表示不限制条数 + - **Offset** (str) - 从 0 开始的页号,默认 0;不是记录偏移量 + - **SandBoxDisabled** (str) - 不传不限制;0 启用,1 禁用 + - **SortByCreateTimeAsc** (bool) - true 按创建时间升序,false 降序 + - **SortByUpdateTimeAsc** (bool) - true 按更新时间升序,false 降序;优先于创建时间排序 **Response** - **Data** (list) - 见 **APIKey** 模型定义 + - **Timestamp** (int) - 时间戳 + - **TotalCount** (int) - 数据量 **Response Model** @@ -970,12 +1031,15 @@ def list_um_infer_api_key( - **CreateTime** (int) - 创建时间 - **DailyLimitAmount** (str) - 日限额,单位随用户所在渠道。126渠道单位为美元 - **DailyUsedAmount** (str) - 日已使用额,单位随用户所在渠道。126渠道单位为美元 + - **DeniedModels** (list) - 禁止访问的模型列表。当 ModelAccessMode=blacklist 时生效。 - **ExpireTime** (int) - 过期时间的unix时间戳,-1 用不过期 - **GrantAllModels** (bool) - 全部模型访问开关,开启不受 GrantedModels 参数控制,关闭只能访问 GrantedModels 中添加模型 - **GrantedModels** (list) - 授权的模型,英文逗号分隔,all表示所有模型都有权限 - **IPWhitelist** (str) - ip白名单,换行分割的多组ip。支持IPv4和网段,输入后回车生效,最多100个, 示例:  192.168.1.1 192.168.1.10-192.168.1.100 192.168.1.10/24 - - **Key** (str) - 密钥值 + - **InferenceLogEnabled** (int) - 是否开启推理日志 + - **Key** (str) - 密钥值,前四后四,中间*掩码展示 - **KeyId** (str) - 资源ID + - **ModelAccessMode** (str) - 模型访问策略。可选值:whitelist(白名单模式,默认)或 blacklist(黑名单模式)。 - **ModelverseDisabled** (int) - 是否modelverse可用 0: 启用 1: 禁用 - **MonthlyLimitAmount** (str) - 月限额,单位随用户所在渠道。126渠道单位为美元 - **MonthlyUsedAmount** (str) - 月已使用额,单位随用户所在渠道。126渠道单位为美元 @@ -990,12 +1054,13 @@ def list_um_infer_api_key( # build request d = { "ProjectId": self.config.project_id, + "Region": self.config.region, } req and d.update(req) - d = apis.ListUMInferAPIKeyRequestSchema().dumps(d) + d = apis.ListUMInferAPIKeyV2RequestSchema().dumps(d) - resp = self.invoke("ListUMInferAPIKey", d, **kwargs) - return apis.ListUMInferAPIKeyResponseSchema().loads(resp) + resp = self.invoke("ListUMInferAPIKeyV2", d, **kwargs) + return apis.ListUMInferAPIKeyV2ResponseSchema().loads(resp) def list_um_infer_request_logs( self, req: typing.Optional[dict] = None, **kwargs @@ -1021,6 +1086,11 @@ def list_um_infer_request_logs( **Response Model** + **RequestLogSummary** + - **FailedRequests** (int) - 查询条件命中的失败请求数 + - **TotalRequests** (int) - 查询条件命中的总请求数 + + **RequestLogItem** - **ApiKeyId** (str) - API Key ID - **ApiKeyName** (str) - API Key 名称 @@ -1045,11 +1115,6 @@ def list_um_infer_request_logs( - **TotalTokens** (int) - 总 Token 数 - **RequestLogSummary** - - **FailedRequests** (int) - 查询条件命中的失败请求数 - - **TotalRequests** (int) - 查询条件命中的总请求数 - - **ListUMInferRequestLogsData** - **Items** (list) - 见 **RequestLogItem** 模型定义 - **Summary** (dict) - 见 **RequestLogSummary** 模型定义 diff --git a/ucloud/services/uai_modelverse/schemas/apis.py b/ucloud/services/uai_modelverse/schemas/apis.py index dacc514..046ec41 100644 --- a/ucloud/services/uai_modelverse/schemas/apis.py +++ b/ucloud/services/uai_modelverse/schemas/apis.py @@ -639,12 +639,12 @@ class ListUFSquareModelFiltersAuthResponseSchema(schema.ResponseSchema): """ API: ListUMInferAPIKey -列表查询apikey + """ class ListUMInferAPIKeyRequestSchema(schema.RequestSchema): - """ListUMInferAPIKey - 列表查询apikey""" + """ListUMInferAPIKey -""" fields = { "Limit": fields.Int(required=False, dump_to="Limit"), @@ -660,7 +660,7 @@ class ListUMInferAPIKeyRequestSchema(schema.RequestSchema): class ListUMInferAPIKeyResponseSchema(schema.ResponseSchema): - """ListUMInferAPIKey - 列表查询apikey""" + """ListUMInferAPIKey -""" fields = { "Data": fields.List( @@ -669,6 +669,48 @@ class ListUMInferAPIKeyResponseSchema(schema.ResponseSchema): } +""" +API: ListUMInferAPIKeyV2 + +获取modelverse apikey,密钥掩码返回 +""" + + +class ListUMInferAPIKeyV2RequestSchema(schema.RequestSchema): + """ListUMInferAPIKeyV2 - 获取modelverse apikey,密钥掩码返回""" + + fields = { + "AllStatus": fields.Int(required=False, dump_to="AllStatus"), + "KeyId": fields.Str(required=False, dump_to="KeyId"), + "Limit": fields.Int(required=False, dump_to="Limit"), + "Offset": fields.Str(required=False, dump_to="Offset"), + "ProjectId": fields.Str(required=False, dump_to="ProjectId"), + "Region": fields.Str(required=True, dump_to="Region"), + "SandBoxDisabled": fields.Str( + required=False, dump_to="SandBoxDisabled" + ), + "SortByCreateTimeAsc": fields.Bool( + required=False, dump_to="SortByCreateTimeAsc" + ), + "SortByUpdateTimeAsc": fields.Bool( + required=False, dump_to="SortByUpdateTimeAsc" + ), + "Zone": fields.Str(required=True, dump_to="Zone"), + } + + +class ListUMInferAPIKeyV2ResponseSchema(schema.ResponseSchema): + """ListUMInferAPIKeyV2 - 获取modelverse apikey,密钥掩码返回""" + + fields = { + "Data": fields.List( + models.APIKeySchema(), required=False, load_from="Data" + ), + "Timestamp": fields.Int(required=False, load_from="Timestamp"), + "TotalCount": fields.Int(required=False, load_from="TotalCount"), + } + + """ API: ListUMInferRequestLogs diff --git a/ucloud/services/uai_modelverse/schemas/models.py b/ucloud/services/uai_modelverse/schemas/models.py index bc4b7a3..d267f63 100644 --- a/ucloud/services/uai_modelverse/schemas/models.py +++ b/ucloud/services/uai_modelverse/schemas/models.py @@ -15,14 +15,21 @@ class APIKeySchema(schema.ResponseSchema): "DailyUsedAmount": fields.Str( required=False, load_from="DailyUsedAmount" ), + "DeniedModels": fields.List(fields.Str()), "ExpireTime": fields.Int(required=False, load_from="ExpireTime"), "GrantAllModels": fields.Bool( required=False, load_from="GrantAllModels" ), "GrantedModels": fields.List(fields.Str()), "IPWhitelist": fields.Str(required=True, load_from="IPWhitelist"), + "InferenceLogEnabled": fields.Int( + required=True, load_from="InferenceLogEnabled" + ), "Key": fields.Str(required=False, load_from="Key"), "KeyId": fields.Str(required=False, load_from="KeyId"), + "ModelAccessMode": fields.Str( + required=False, load_from="ModelAccessMode" + ), "ModelverseDisabled": fields.Int( required=False, load_from="ModelverseDisabled" ), @@ -56,21 +63,21 @@ class DownloadFileDataSchema(schema.ResponseSchema): } -class FilterOptionIntegerSchema(schema.ResponseSchema): - """FilterOptionInteger - 整数类型筛选选项""" +class FilterOptionStringSchema(schema.ResponseSchema): + """FilterOptionString - 字符串类型筛选选项""" fields = { "Name": fields.Str(required=False, load_from="Name"), - "Value": fields.Int(required=False, load_from="Value"), + "Value": fields.Str(required=False, load_from="Value"), } -class FilterOptionStringSchema(schema.ResponseSchema): - """FilterOptionString - 字符串类型筛选选项""" +class FilterOptionIntegerSchema(schema.ResponseSchema): + """FilterOptionInteger - 整数类型筛选选项""" fields = { "Name": fields.Str(required=False, load_from="Name"), - "Value": fields.Str(required=False, load_from="Value"), + "Value": fields.Int(required=False, load_from="Value"), } @@ -90,6 +97,19 @@ class ModelTypeMapSchema(schema.ResponseSchema): } +class InferenceRegionInfoSchema(schema.ResponseSchema): + """InferenceRegionInfo - 地域推理模型信息""" + + fields = { + "ModelId": fields.Str(required=False, load_from="ModelId"), + "RegionCode": fields.Str(required=False, load_from="RegionCode"), + "RegionName": fields.Str(required=False, load_from="RegionName"), + "RegionNameEn": fields.Str(required=False, load_from="RegionNameEn"), + "SquareModelId": fields.Str(required=False, load_from="SquareModelId"), + "Status": fields.Str(required=False, load_from="Status"), + } + + class PricingSchema(schema.ResponseSchema): """Pricing - 定价策略""" @@ -104,24 +124,6 @@ class PricingSchema(schema.ResponseSchema): } -class PriceRateSchema(schema.ResponseSchema): - """PriceRate - 该档位下的收费列表(有序数组)""" - - fields = { - "ChargeItem": fields.Str(required=False, load_from="ChargeItem"), - "ChargeItemDescription": fields.Str( - required=False, load_from="ChargeItemDescription" - ), - "ChargeItemDescriptionEn": fields.Str( - required=True, load_from="ChargeItemDescriptionEn" - ), - "Currency": fields.Str(required=True, load_from="Currency"), - "Price": fields.Str(required=False, load_from="Price"), - "Unit": fields.Str(required=True, load_from="Unit"), - "UnitEn": fields.Str(required=True, load_from="UnitEn"), - } - - class ModelCapabilitiesSchema(schema.ResponseSchema): """ModelCapabilities - ModelCapabilities""" @@ -156,16 +158,21 @@ class ApiProtocolsSchema(schema.ResponseSchema): } -class InferenceRegionInfoSchema(schema.ResponseSchema): - """InferenceRegionInfo - 地域推理模型信息""" +class PriceRateSchema(schema.ResponseSchema): + """PriceRate - 该档位下的收费列表(有序数组)""" fields = { - "ModelId": fields.Str(required=False, load_from="ModelId"), - "RegionCode": fields.Str(required=False, load_from="RegionCode"), - "RegionName": fields.Str(required=False, load_from="RegionName"), - "RegionNameEn": fields.Str(required=False, load_from="RegionNameEn"), - "SquareModelId": fields.Str(required=False, load_from="SquareModelId"), - "Status": fields.Str(required=False, load_from="Status"), + "ChargeItem": fields.Str(required=False, load_from="ChargeItem"), + "ChargeItemDescription": fields.Str( + required=False, load_from="ChargeItemDescription" + ), + "ChargeItemDescriptionEn": fields.Str( + required=True, load_from="ChargeItemDescriptionEn" + ), + "Currency": fields.Str(required=True, load_from="Currency"), + "Price": fields.Str(required=False, load_from="Price"), + "Unit": fields.Str(required=True, load_from="Unit"), + "UnitEn": fields.Str(required=True, load_from="UnitEn"), } diff --git a/ucloud/version.py b/ucloud/version.py index 26699f4..89cfa32 100644 --- a/ucloud/version.py +++ b/ucloud/version.py @@ -1 +1 @@ -version = "0.11.148" +version = "0.11.149"