本文介绍AI安全护栏SDK接入的方式。
步骤一:开通服务
前往AI安全护栏产品开通服务页面,开通AI安全护栏产品服务。默认付费方式是按量后付费,且按照实际用量结算当日费用,不调用服务不收费。接口接入使用后系统会按使用量自动出账。
步骤二:为RAM用户授权
在接入SDK或者API之前,您需要为RAM用户授权。您可以为阿里云账号和RAM用户创建一个访问密钥(AccessKey)。在调用阿里云API时您需要使用AccessKey完成身份验证。获取方式,请参见获取AccessKey。
操作步骤
使用阿里云账号登录RAM控制台。
创建RAM用户。
具体操作,请参见创建RAM用户。
向RAM用户授权系统策略权限:
AliyunYundunGreenWebFullAccess。具体操作,请参见管理RAM用户的权限。
完成以上配置后,您可以使用RAM用户调用内容安全API。
步骤三:安装并接入SDK
目前支持的接入地域如下:
地域 | 外网接入地址 | 内网接入地址 |
华东2(上海) | https://green-cip.cn-shanghai.aliyuncs.com | https://green-cip-vpc.cn-shanghai.aliyuncs.com |
华北2(北京) | https://green-cip.cn-beijing.aliyuncs.com | https://green-cip-vpc.cn-beijing.aliyuncs.com |
华东1(杭州) | https://green-cip.cn-hangzhou.aliyuncs.com | https://green-cip-vpc.cn-hangzhou.aliyuncs.com |
华南1(深圳) | https://green-cip.cn-shenzhen.aliyuncs.com | https://green-cip-vpc.cn-shenzhen.aliyuncs.com |
西南1(成都) | https://green-cip.cn-chengdu.aliyuncs.com | 暂无 |
中国香港 | https://green-cip.cn-hongkong.aliyuncs.com | 暂无 |
华东 1 金融云(杭州) | https://green-cip.cn-hangzhou-finance.aliyuncs.com | 暂无 |
华东 2 金融云(上海) | https://green-cip.cn-shanghai-finance-1.aliyuncs.com | 暂无 |
深圳金融云 | https://green-cip.cn-shenzhen-finance-1.aliyuncs.com | 暂无 |
新加坡 | https://green-cip.ap-southeast-1.aliyuncs.com | https://green-cip-vpc.ap-southeast-1.aliyuncs.com |
德国(法兰克福) | https://green-cip.eu-central-1.aliyuncs.com | https://green-cip-vpc.eu-central-1.aliyuncs.com |
美国(弗吉尼亚) | https://green-cip.us-east-1.aliyuncs.com | https://green-cip-vpc.us-central-1.aliyuncs.com |
如果需要其他语言的SDK示例代码,您可以通过OpenAPI开发者门户OpenAPI开发者门户在线调试工具调试API接口,该工具会自动生成相应API的SDK调用示例代码。
阿里云SDK代码通过定义ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET环境变量来创建默认的访问凭证。调用接口时,程序直接访问凭证,读取您的访问密钥(即AccessKey)并自动完成鉴权。您在接入SDK代码示例之前,请先配置环境变量。具体操作,请参见身份验证配置。
示例代码
Java SDK
支持Java 1.8及以上版本。
原始代码,请参见Java SDK源码。
在pom.xml中加入相应依赖,就可以在Maven工程中使用SDK。
1、在dependencies中添加如下依赖。
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>green20220302</artifactId>
<version>3.3.3</version>
</dependency>2、接入Java SDK 代码示例。
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.aliyun.green20220302.models.MultiModalGuardRequest;
import com.aliyun.green20220302.models.MultiModalGuardResponse;
import com.aliyun.green20220302.models.MultiModalGuardResponseBody;
import com.aliyun.teaopenapi.models.Config;
import java.util.Collections;
public class MultiModalGuardDemo {
public static void main(String[] args) throws Exception {
Config config = new Config();
/**
* 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
* 常见获取环境变量方式:
* 方式一:
* 获取RAM用户AccessKey ID:System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
* 获取RAM用户AccessKey Secret:System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
* 方式二:
* 获取RAM用户AccessKey ID:System.getProperty("ALIBABA_CLOUD_ACCESS_KEY_ID");
* 获取RAM用户AccessKey Secret:System.getProperty("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
*/
config.setAccessKeyId("建议从环境变量中获取RAM用户AccessKey ID");
config.setAccessKeySecret("建议从环境变量中获取RAM用户AccessKey Secret");
//接入区域和地址请根据实际情况修改
config.setRegionId("cn-shanghai");
config.setEndpoint("green-cip.cn-shanghai.aliyuncs.com");
//读取时超时时间,单位毫秒(ms)。
config.setReadTimeout(10000);
//连接时超时时间,单位毫秒(ms)。
config.setConnectTimeout(3000);
//设置http代理。
//config.setHttpProxy("http://xx.xx.xx.xx:xxxx");
//设置https代理。
//config.setHttpsProxy("https://xx.xx.xx.xx:xxxx");
com.aliyun.green20220302.Client client = new com.aliyun.green20220302.Client(config);
JSONObject serviceParameters = new JSONObject();
serviceParameters.put("content", "测试文本内容");
serviceParameters.put("imageUrls", Collections.singletonList("https://img.alicdn.com/tfs/xxxxxxxxxx001.png"));
MultiModalGuardRequest multiModalGuardRequest = new MultiModalGuardRequest();
// 检测类型
multiModalGuardRequest.setService("text_img_security_check");
multiModalGuardRequest.setServiceParameters(serviceParameters.toJSONString());
try {
MultiModalGuardResponse response = client.multiModalGuard(multiModalGuardRequest);
if (response.getStatusCode() == 200) {
MultiModalGuardResponseBody result = response.getBody();
System.out.println(JSON.toJSONString(result));
System.out.println("requestId = " + result.getRequestId());
System.out.println("code = " + result.getCode());
System.out.println("msg = " + result.getMessage());
Integer code = result.getCode();
if (200 == code) {
MultiModalGuardResponseBody.MultiModalGuardResponseBodyData data = result.getData();
System.out.println(JSON.toJSONString(data, true));
} else {
System.out.println("multi modal guard not success. code:" + code);
}
} else {
System.out.println("response not success. status:" + response.getStatusCode());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Python SDK
支持Python 3.6及以上版本。
原始代码,请参见Python SDK源码。
1、执行如下命令引入相关依赖。
pip install alibabacloud_green20220302==3.2.42、接入Python SDK 代码示例。
# coding=utf-8
# python version >= 3.6
from alibabacloud_green20220302.client import Client
from alibabacloud_green20220302 import models
from alibabacloud_tea_openapi.models import Config
import json
config = Config(
# 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
# 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
# 常见获取环境变量方式:
# 获取RAM用户AccessKey ID:os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID']
# 获取RAM用户AccessKey Secret:os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
access_key_id='建议从环境变量中获取RAM用户AccessKey ID',
access_key_secret='建议从环境变量中获取RAM用户AccessKey Secret',
# 连接超时时间 单位毫秒(ms)
connect_timeout=10000,
# 读超时时间 单位毫秒(ms)
read_timeout=3000,
region_id='cn-shanghai',
endpoint='green-cip.cn-shanghai.aliyuncs.com'
)
clt = Client(config)
serviceParameters = {
'content': '测试文本内容',
'imageUrls': ['https://img.alicdn.com/tfs/xxxxxxxxxx001.png']
}
multiModalGuardRequest = models.MultiModalGuardRequest(
# 检测类型
service='text_img_security_check',
service_parameters=json.dumps(serviceParameters)
)
try:
response = clt.multi_modal_guard(multiModalGuardRequest)
if response.status_code == 200:
# 调用成功
result = response.body
print('response success. result:{}'.format(result))
else:
print('response not success. status:{} ,result:{}'.format(response.status_code, response))
except Exception as err:
print(err)
PHP SDK
支持PHP 5.6及以上版本。
原始代码,请参见PHP SDK源码。
1、执行如下命令引入相关依赖。
composer require alibabacloud/green-20220302 3.2.4
Go SDK
1、执行如下命令引入相关依赖。
go get github.com/alibabacloud-go/green-20220302/v3