审核智能体服务SDK参考

审核智能体支持SDK方式调用和原生HTTPS方式调用。推荐您使用SDK接入,可免去签名验证以及Body格式构建等细节步骤。本文介绍审核智能体服务SDK及接入方式。

步骤一:开通服务

访问开通服务页面,开通内容审核增强版服务。

开通内容审核增强版服务后,默认付费方式是按量后付费,且按照实际用量结算当日费用,不调用服务不收费。接口接入使用后系统会按使用量自动出账,具体信息,请参见计费说明

步骤二:创建RAM用户并授权

在集成SDK之前,您需要创建一个用于调用SDK的用户身份,获取身份关联的OpenAPI访问凭据,并授予访问云上资源的访问权限。本文创建RAM用户,获取访问凭据为AccessKey,并授予调用图片审核增强版服务的权限。更多信息,请参见集成SDK

  1. 使用阿里云账号(主账号)或具有管理权限的RAM用户登录RAM控制台

  2. 创建RAM用户,勾选OpenAPI调用访问,并记录下RAM用户生成的AccessKey。具体操作,请参见创建RAM用户

  3. RAM用户授权系统策略权限:AliyunYundunGreenWebFullAccess。具体操作,请参见RAM用户授权

步骤三:安装并接入SDK

目前支持的接入地域如下:

地域

外网接入地址

内网接入地址

华东2(上海)

https://green-cip.cn-shanghai.aliyuncs.com

https://green-cip-vpc.cn-shanghai.aliyuncs.com

说明

如果需要其他语言的SDK示例代码,您可以通过OpenAPI开发者门户在线调试工具调试API接口,该工具会自动生成相应APISDK调用示例代码。

阿里云SDK代码通过定义ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET环境变量来创建默认的访问凭证。调用接口时,程序直接访问凭证,读取您的访问密钥(即AccessKey)并自动完成鉴权。您在接入SDK代码示例之前,请先配置环境变量。具体操作,请参见身份验证配置

API接口字段说明请参考审核智能体同步检测API接入指南

Java SDK

使用须知

对公网可访问图片进行检测

使用场景

当需要审核的图片可通过公网链接访问时,图片审核增强版服务可通过图片URL获取文件后进行审核。

  1. pom.xml中添加如下依赖安装Java SDK,即可以在Maven工程中使用SDK。

    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>green20220302</artifactId>
        <version>3.2.0</version>
    </dependency>
  2. 接入Java SDK。

    • 接入示例

    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONObject;
    import com.aliyun.green20220302.Client;
    import com.aliyun.green20220302.models.*;
    import com.aliyun.teaopenapi.models.Config;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.UUID;
    
    public class MultiModalAgentDemo {
    
        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(20000);
            //连接时超时时间,单位毫秒(ms)。
            config.setConnectTimeout(10000);
            //设置http代理。
            //config.setHttpProxy("http://xx.xx.xx.xx:xxxx");
            //设置https代理。
            //config.setHttpsProxy("https://xx.xx.xx.xx:xxxx");
            Client client = new Client(config);
            //入参处理
            JSONObject serviceParameters = new JSONObject();
            //待检测图片,最多支持1张
            List<JSONObject> images = new ArrayList<>();
            JSONObject image = new JSONObject();
            image.put("imageUrl","https://img.alicdn.com/tfs/xxxxxxxxxx001.png");
            images.add(image);
            serviceParameters.put("images", images);
            //待检测文本,最大长度2000
            serviceParameters.put("content", "测试文本内容");
            //业务ID
            serviceParameters.put("dataId", UUID.randomUUID());
            MultiModalAgentRequest multiModalAgentRequest = new MultiModalAgentRequest();
            //检测类型
            //文本审核:txt_check_agent_01
            //图片审核:img_check_agent_01
            //多模态审核:img_txt_check_agent_01
            multiModalAgentRequest.setAppID("img_txt_check_agent_01");
            multiModalAgentRequest.setServiceParameters(serviceParameters.toJSONString());
    
            try {
                MultiModalAgentResponse response = client.multiModalAgent(multiModalAgentRequest);
                if (response.getStatusCode() == 200) {
                    MultiModalAgentResponseBody result = response.getBody();
                    System.out.println(JSON.toJSONString(result));
                } else {
                    System.out.println("response not success. status:" + response.getStatusCode());
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

Python SDK

使用须知

  • 环境要求:Python 3.6及以上版本。

  • 源码参考:原始代码,请参见Python SDK源码

  • 功能支持:目前仅支持公网可访问的图片检测。

对公网可访问图片进行检测

使用场景

当需要审核的图片可通过公网链接访问时,图片审核增强版服务可通过图片URL获取文件后进行审核。

  1. 执行如下命令引入相关依赖。

    python3
    pip install alibabacloud_green20220302==3.2.0 
  2. 接入Python SDK。

  3. # 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
    import uuid
    
    config = Config(
        # 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
        # 强烈建议不要把AccessKey IDAccessKey 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=20000,
        region_id='cn-shanghai',
        endpoint='green-cip.cn-shanghai.aliyuncs.com'
    )
    
    clt = Client(config)
    
    serviceParameters = {
        #待检测文本,最大长度2000
        'content': '测试文本内容',
        #待检测图片,最多支持1张
        'images': {'imageUrl':'https://img.alicdn.com/tfs/xxxxxxxxxx001.png'},
        #业务ID
        'dataId':uuid.uuid4().hex
    }
    multiModalAgentRequest = models.MultiModalAgentRequest(
        # 检测类型
        # 文本审核:txt_check_agent_01
        # 图片审核:img_check_agent_01
        # 多模态审核:img_txt_check_agent_01
        app_id='img_txt_check_agent_01',
        service_parameters=json.dumps(serviceParameters)
    )
    
    try:
        response = clt.multi_modal_agent(multiModalAgentRequest)
        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)

如果您在使用过程中出现问题,请加入钉群(钉群号:35573806),联系产品技术专家进行咨询。