多模态实时审核SDK参考

更新时间:
复制 MD 格式

本文介绍AI安全护栏SDK接入的方式。

步骤一:开通服务

前往AI安全护栏产品开通服务页面,开通AI安全护栏产品服务。默认付费方式是按量后付费,且按照实际用量结算当日费用,不调用服务不收费。接口接入使用后系统会按使用量自动出账。

步骤二:为RAM用户授权

在接入SDK或者API之前,您需要为RAM用户授权。您可以为阿里云账号和RAM用户创建一个访问密钥(AccessKey)。在调用阿里云API时您需要使用AccessKey完成身份验证。获取方式,请参见获取AccessKey。

操作步骤

  1. 使用阿里云账号登录RAM控制台。

  2. 创建RAM用户。

    具体操作,请参见创建RAM用户。

  3. 向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.4

2、接入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