Topik ini menjelaskan cara mengintegrasikan SDK layanan Text Moderation 2.0 PLUS.
Langkah 1: Aktifkan layanan
Kunjungi halaman Activate Service untuk mengaktifkan layanan Text Moderation 2.0.
Setelah Anda mengaktifkan layanan Text Moderation 2.0, metode penagihan default-nya adalah pay-as-you-go. Anda akan ditagih setiap hari berdasarkan penggunaan Anda. Jika Anda tidak menggunakan layanan tersebut, Anda tidak akan dikenai biaya. Sistem secara otomatis menagih Anda setelah Anda mulai menggunakan API.
Langkah 2: Berikan izin Pengguna RAM
Sebelum mengintegrasikan SDK atau memanggil API, Anda harus memberikan izin kepada Pengguna RAM. Anda dapat membuat AccessKey untuk Akun Alibaba Cloud atau Pengguna RAM Anda. Gunakan AccessKey untuk memverifikasi identitas Anda saat memanggil API Alibaba Cloud. Untuk informasi selengkapnya, lihat Obtain an AccessKey.
Berikan izin kepada Pengguna RAM
Masuk ke RAM console menggunakan Akun Alibaba Cloud Anda.
Buat Pengguna RAM. Untuk detailnya, lihat Create a RAM user.
Berikan kebijakan sistem
AliyunYundunGreenWebFullAccesskepada Pengguna RAM. Kebijakan ini memberikan akses penuh ke Content Moderation. Untuk detailnya, lihat Manage RAM user permissions.Pengguna RAM kini dapat memanggil API Content Moderation.
Langkah 3: Integrasikan SDK
Wilayah berikut didukung:
|
Region |
Public endpoint |
VPC endpoint |
Services |
|
China (Shanghai) |
green-cip.cn-shanghai.aliyuncs.com |
green-cip-vpc.cn-shanghai.aliyuncs.com |
, |
|
China (Beijing) |
green-cip.cn-beijing.aliyuncs.com |
green-cip-vpc.cn-beijing.aliyuncs.com |
|
|
China (Hangzhou) |
green-cip.cn-hangzhou.aliyuncs.com |
green-cip-vpc.cn-hangzhou.aliyuncs.com |
|
|
China (Shenzhen) |
green-cip.cn-shenzhen.aliyuncs.com |
green-cip-vpc.cn-shenzhen.aliyuncs.com |
|
|
China (Chengdu) |
green-cip.cn-chengdu.aliyuncs.com |
Not available |
|
|
China (Hong Kong) |
green-cip.cn-hongkong.aliyuncs.com |
green-cip-vpc.cn-hongkong.aliyuncs.com |
|
|
Singapore |
green-cip.ap-southeast-1.aliyuncs.com |
green-cip-vpc.ap-southeast-1.aliyuncs.com |
|
|
UK (London) |
green-cip.eu-west-1.aliyuncs.com |
Not available |
|
|
US (Virginia) |
green-cip.us-east-1.aliyuncs.com |
green-cip-vpc.us-east-1.aliyuncs.com |
|
|
US (Silicon Valley) |
green-cip.us-west-1.aliyuncs.com |
Not available |
|
|
Germany (Frankfurt) |
green-cip.eu-central-1.aliyuncs.com |
green-cip-vpc.eu-central-1.aliyuncs.com |
Untuk mendapatkan contoh kode SDK dalam berbagai bahasa pemrograman, gunakan alat debugging online OpenAPI Explorer. Alat ini secara otomatis menghasilkan contoh kode untuk API saat Anda melakukan debugging.
SDK Alibaba Cloud membuat kredensial default dengan membaca variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET. Saat Anda memanggil operasi API, program membaca AccessKey Anda dari variabel-variabel ini dan secara otomatis menyelesaikan autentikasi. Sebelum menggunakan contoh kode SDK, Anda harus mengonfigurasi variabel lingkungan tersebut. Untuk informasi selengkapnya, lihat Configure authentication credentials.
SDK tersedia dalam dua versi. Kami merekomendasikan mengintegrasikan layanan PLUS yang dijelaskan pada halaman ini. Jika sebelumnya Anda telah mengintegrasikan layanan umum, lihat Text Moderation Enhanced 2.0 General Service SDK and Integration Guide.
Text moderation 2.0 PLUS
SDK ini mendukung operasi API berikut: Text Moderation 2.0 multilingual PLUS service.
Java SDK
Mendukung Java 1.8 dan versi lebih baru.
Untuk kode sumbernya, lihat Java SDK source code atau Java SDK source code (OSS path).
Untuk menggunakan SDK dalam proyek Maven Anda, tambahkan dependensi berikut ke file pom.xml.
1. Tambahkan dependensi berikut ke bagian dependencies.
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>green20220302</artifactId>
<version>3.3.3</version>
</dependency>2. Berikut ini adalah contoh kode Java SDK.
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.aliyun.green20220302.Client;
import com.aliyun.green20220302.models.TextModerationPlusRequest;
import com.aliyun.green20220302.models.TextModerationPlusResponse;
import com.aliyun.green20220302.models.TextModerationPlusResponseBody;
import com.aliyun.teaopenapi.models.Config;
public class TextModerationPlusDemo {
public static void main(String[] args) throws Exception {
Config config = new Config();
/**
* Menggunakan Pasangan Kunci Akses dari Akun Alibaba Cloud merupakan operasi berisiko tinggi karena memberikan izin penuh ke semua API.
* Untuk mencegah risiko keamanan akibat kebocoran AccessKey, jangan hard-code ID AccessKey dan Secret AccessKey di kode Anda.
* Kami merekomendasikan agar Anda menggunakan Pengguna RAM untuk akses API atau O&M rutin.
* Metode umum untuk mendapatkan variabel lingkungan:
* Metode 1:
* Dapatkan ID AccessKey Pengguna RAM: System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
* Dapatkan Secret AccessKey Pengguna RAM: System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
* Metode 2:
* Dapatkan ID AccessKey Pengguna RAM: System.getProperty("ALIBABA_CLOUD_ACCESS_KEY_ID");
* Dapatkan Secret AccessKey Pengguna RAM: System.getProperty("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
*/
config.setAccessKeyId("
Python SDK
Mendukung Python 3.6 dan versi lebih baru.
Untuk kode sumbernya, lihat Python SDK source code.
1. Jalankan perintah berikut untuk menginstal dependensi.
pip install alibabacloud_green20220302==3.2.42. Berikut ini adalah contoh kode 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(
# Menggunakan Pasangan Kunci Akses dari Akun Alibaba Cloud merupakan operasi berisiko tinggi karena memberikan izin penuh ke semua API.
# Untuk mencegah risiko keamanan akibat kebocoran AccessKey, jangan hard-code ID AccessKey dan Secret AccessKey di kode Anda.
# Kami merekomendasikan agar Anda mendapatkan kredensial dari variabel lingkungan. Contohnya:
# Dapatkan ID AccessKey Pengguna RAM: os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID']
# Dapatkan Secret AccessKey Pengguna RAM: os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
access_key_id='
PHP SDK
Mendukung PHP 5.6 dan versi lebih baru.
Untuk kode sumbernya, lihat PHP SDK source code.
1. Jalankan perintah berikut untuk menginstal dependensi.
composer require alibabacloud/green-20220302 3.2.42. Contoh kode untuk PHP SDK.
<?php
require('vendor/autoload.php');
use AlibabaCloud\SDK\Green\V20220302\Models\TextModerationPlusRequest;
use AlibabaCloud\Tea\Exception\TeaUnableRetryError;
use Darabonba\OpenApi\Models\Config;
use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
use AlibabaCloud\SDK\Green\V20220302\Green;
$config = new Config([
/**
* Menggunakan Pasangan Kunci Akses dari Akun Alibaba Cloud merupakan operasi berisiko tinggi karena memberikan izin penuh ke semua API.
* Untuk mencegah risiko keamanan akibat kebocoran AccessKey, jangan hard-code ID AccessKey dan Secret AccessKey di kode Anda.
* Kami merekomendasikan agar Anda mendapatkan kredensial dari variabel lingkungan. Contohnya:
* Dapatkan ID AccessKey Pengguna RAM: getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
* Dapatkan Secret AccessKey Pengguna RAM: getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
*/
"accessKeyId" => '
Go SDK
1. Jalankan perintah berikut untuk menginstal dependensi.
go get github.com/alibabacloud-go/green-20220302/v32. Contoh kode untuk Go SDK.
package main
import (
"encoding/json"
"fmt"
openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
green20220302 "github.com/alibabacloud-go/green-20220302/v3/client"
util "github.com/alibabacloud-go/tea-utils/v2/service"
"github.com/alibabacloud-go/tea/tea"
"net/http"
)
func main() {
// Hard-coding Pasangan Kunci Akses di kode Anda menimbulkan risiko keamanan akibat potensi kebocoran AccessKey. Kami merekomendasikan agar Anda menggunakan metode autentikasi yang lebih aman, seperti STS.
config := &openapi.Config{
/**
* Menggunakan Pasangan Kunci Akses dari Akun Alibaba Cloud merupakan operasi berisiko tinggi karena memberikan izin penuh ke semua API.
* Untuk mencegah risiko keamanan akibat kebocoran AccessKey, jangan hard-code ID AccessKey dan Secret AccessKey di kode Anda.
* Kami merekomendasikan agar Anda mendapatkan kredensial dari variabel lingkungan. Contohnya:
* Dapatkan ID AccessKey Pengguna RAM: os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
* Dapatkan Secret AccessKey Pengguna RAM: os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
*/
AccessKeyId: tea.String("
Node.js SDK
Untuk kode sumbernya, lihat Node.js SDK source code.
1. Jalankan perintah berikut untuk menginstal dependensi.
npm install @alicloud/green20220302@3.2.42. Contoh kode untuk Node.js SDK.
const Green20220302 = require('@alicloud/green20220302');
const OpenApi = require('@alicloud/openapi-client');
const Util = require('@alicloud/tea-util');
// Catatan: Untuk meningkatkan performa dan menghindari pembuatan koneksi baru untuk setiap permintaan, gunakan kembali objek client.
// Hard-coding Pasangan Kunci Akses di kode Anda menimbulkan risiko keamanan akibat potensi kebocoran AccessKey.
class Client {
static createClient() {
const config = new OpenApi.Config({
// Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah dikonfigurasi di lingkungan runtime Anda.
accessKeyId: process.env['ALIBABA_CLOUD_ACCESS_KEY_ID'],
// Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah dikonfigurasi di lingkungan runtime Anda.
accessKeySecret: process.env['ALIBABA_CLOUD_ACCESS_KEY_SECRET'],
endpoint: `green-cip.ap-southeast-1.aliyuncs.com`,
});
return new Green20220302.default(config);
}
static async main() {
const client = Client.createClient();
// Buat objek permintaan.
const textModerationPlusRequest = new Green20220302.TextModerationPlusRequest({
// Layanan untuk Text Moderation 2.0 PLUS. Untuk informasi selengkapnya, lihat https://www.alibabacloud.com/help/document_detail/2684669.html#p-t7m-66g-cv6.
"service": "text_multilingual_pro_global",
"serviceParameters": JSON.stringify({
// Teks yang akan dimoderasi.
"content": "Test text"})
});
// Buat objek konfigurasi runtime.
const runtime = new Util.RuntimeOptions();
try {
// Kirim permintaan dan dapatkan respons.
const response = await client.textModerationPlusWithOptions(textModerationPlusRequest, runtime);
console.log(JSON.stringify(response.body));
} catch (error) {
// Ini hanya untuk tujuan demonstrasi. Di lingkungan produksi, tangani exception dengan hati-hati dan jangan mengabaikannya.
// pesan error
console.log('Error occurred:', error.message);
}
}
}
Client.main();
C# SDK
Untuk kode sumbernya, lihat C# SDK source code.
1. Jalankan perintah berikut untuk menginstal dependensi.
dotnet add package AlibabaCloud.SDK.Green20220302 --version 3.2.42. Contoh kode untuk C# SDK.
// File ini di-generate secara otomatis, jangan edit. Terima kasih.
using Newtonsoft.Json;
namespace AlibabaCloud.SDK.Green20220302
{
public class TextModerationPlusAutoRoute
{
public static void Main(string[] args)
{
/**
* Menggunakan Pasangan Kunci Akses dari Akun Alibaba Cloud merupakan operasi berisiko tinggi karena memberikan izin penuh ke semua API.
* Untuk mencegah risiko keamanan akibat kebocoran AccessKey, jangan hard-code ID AccessKey dan Secret AccessKey di kode Anda.
* Kami merekomendasikan agar Anda mendapatkan kredensial dari variabel lingkungan. Contohnya:
* Dapatkan ID AccessKey Pengguna RAM: Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID")
* Dapatkan Secret AccessKey Pengguna RAM: Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
*/
String accessKeyId = "
Native HTTPS calls
Layanan API Content Moderation 2.0 juga mendukung panggilan HTTPS native. Metode ini mengharuskan Anda menangani penandatanganan dan penyusunan permintaan sendiri (termasuk URL, body, header, dan parameter). Gunakan panggilan HTTPS native hanya dalam skenario berikut. Untuk semua kasus lainnya, kami merekomendasikan penggunaan SDK.
-
Aplikasi Anda memiliki batasan ukuran client yang ketat.
-
Aplikasi Anda memiliki persyaratan library dependensi yang bentrok dengan SDK.
-
Calling conventions
Titik akhir layanan: https://green-cip.{region}.aliyuncs.com
Protokol: HTTPS
Metode: POST
-
Common request parameters
Parameter permintaan untuk operasi API Text Moderation 2.0 mencakup parameter permintaan umum dan parameter permintaan khusus operasi. Parameter permintaan umum digunakan di semua operasi API. Tabel berikut menjelaskan parameter permintaan umum tersebut.
Parameter
Type
Required
Description
Format
String
Yes
Format respons. Nilai yang valid:
-
JSON (default)
-
XML
Version
String
Yes
Versi operasi API. Versinya dalam format YYYY-MM-DD. Versi operasi API ini adalah 2022-03-02.
AccessKeyId
String
Yes
ID AccessKey yang dikeluarkan Alibaba Cloud kepada Anda untuk akses layanan.
Signature
String
Yes
String signature. Untuk informasi tentang cara menghitung signature, lihat bagian "Signature method" di bawah.
SignatureMethod
String
Yes
Metode signature. Hanya HMAC-SHA1 yang didukung.
Timestamp
String
Yes
Timestamp permintaan. Timestamp harus mengikuti standar ISO 8601 dan dalam UTC. Formatnya adalah yyyy-MM-ddTHH:mm:ssZ. Misalnya, 2022-12-12T01:13:14Z merepresentasikan pukul 09:13:14 pada 12 Desember 2022 (UTC+8).
SignatureVersion
String
Yes
Versi algoritma signature. Tetapkan nilainya ke 1.0.
SignatureNonce
String
Yes
Bilangan acak unik (nonce) untuk mencegah serangan replay. Nonce baru harus digunakan untuk setiap permintaan.
Action
String
Yes
-
Operasi API untuk layanan Text Moderation 2.0 PLUS: TextModerationPlus
-
-
Common response parameters
Setiap permintaan API mengembalikan ID permintaan unik (RequestId), terlepas dari apakah permintaan berhasil atau tidak. Parameter respons lainnya mencakup Label dan Confidence. Layanan yang berbeda mengembalikan parameter yang berbeda. Untuk informasi selengkapnya, lihat dokumentasi layanan spesifik.
-
Code samples
Contoh respons berikut diformat agar mudah dibaca. Respons aktual tidak diformat dengan line break atau indentasi.
Kode berikut menyediakan contoh permintaan untuk Text Moderation 2.0-International Business Multilingual Detection. Untuk operasi API lainnya, lihat dokumentasi operasi spesifik untuk mendapatkan parameter permintaan bisnis.
https://green-cip.ap-southeast-1.aliyuncs.com/ ?Format=JSON &Version=2022-03-02 &Signature=vpEEL0zFHfxXYzSFV0n7%2FZiFL9o%3D &SignatureMethod=Hmac-SHA1 &SignatureNonce=15215528852396 &SignatureVersion=1.0 &Action=TextModerationPlus &AccessKeyId=123****cip &Timestamp=2022-12-12T12:00:00Z &Service=text_multilingual_pro_global &ServiceParameters={"content": "Test text"}Kode berikut menyediakan contoh respons JSON untuk Text Moderation 2.0-International Business Multilingual Detection:
{ "Code": 200, "Data": { "Result": [ { "Label": "political_entity", "Description":"Suspected political entity", "Confidence": 100.0, "RiskWords": "Word A,Word B,Word C" }, { "Label": "political_figure", "Description":"Suspected political figure", "Confidence": 100.0, "RiskWords": "Word A,Word B,Word C" } ], "RiskLevel": "high" }, "Message": "OK", "RequestId": "AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE****" } -
Signature method
Layanan Text Moderation 2.0 mengotentikasi setiap permintaan. Oleh karena itu, Anda harus menyertakan informasi signature dalam setiap permintaan. Layanan Text Moderation 2.0 menggunakan ID AccessKey dan Secret AccessKey untuk melakukan enkripsi simetris dan memverifikasi identitas pengirim permintaan.
ID AccessKey dan Secret AccessKey dikeluarkan oleh Alibaba Cloud. Anda dapat mengajukan dan mengelolanya di situs web Alibaba Cloud. ID AccessKey digunakan untuk mengidentifikasi pengguna. Secret AccessKey adalah kunci yang digunakan untuk mengenkripsi string signature dan memverifikasi string signature di server. Anda harus merahasiakan Secret AccessKey Anda.
Untuk menandatangani permintaan, ikuti langkah-langkah berikut:
-
Buat string kueri kanonis.
-
Urutkan semua parameter permintaan (baik umum maupun khusus operasi) secara alfabetis berdasarkan nama, kecuali parameter Signature.
-
Encode nama dan nilai parameter permintaan dalam UTF-8 sesuai aturan URL encoding.
CatatanSebagian besar library URL encoding, seperti
java.net.URLEncoderdi Java, mengencode string berdasarkan aturan MIME typeapplication/x-www-form-urlencoded. Anda dapat menggunakan metode ini untuk encoding, lalu ganti tanda plus (+) dengan %20, tanda bintang (*) dengan %2A, dan %7E dengan tilde (~) untuk mendapatkan string encoded yang diperlukan.Aturan URL encoding adalah sebagai berikut:
-
Jangan encode huruf kapital (A-Z), huruf kecil (a-z), angka (0-9), dan karakter berikut: tanda hubung (-), garis bawah (_), titik (.), dan tilde (~).
-
Karakter lain diencode dalam format
%XY, di mana XY adalah representasi heksadesimal dari kode ASCII karakter tersebut. Misalnya, tanda kutip ganda Inggris (") diencode sebagai%22. -
Karakter UTF-8 ekstensi diencode sebagai
%XY%ZA…. -
Perhatikan bahwa karakter spasi ( ) harus diencode sebagai
%20, bukan tanda plus (+).
-
-
Hubungkan setiap nama parameter yang telah diencode dengan nilai yang telah diencode menggunakan tanda sama dengan (=).
-
Gabungkan pasangan nama-nilai yang dihasilkan dengan tanda ampersand (&) sesuai urutan nama parameter yang telah diurutkan untuk mendapatkan string kueri kanonis.
-
-
Gunakan string kueri kanonis dari langkah sebelumnya untuk membuat string-to-sign berdasarkan aturan berikut:
StringToSign= HTTPMethod + "&" + percentEncode("/") + "&" + percentEncode(CanonicalizedQueryString)CatatanHTTPMethod adalah metode HTTP yang digunakan untuk mengirim permintaan, misalnya POST. percentEncode(/) adalah nilai yang diperoleh dengan mengencode karakter / sesuai aturan URL encoding yang dijelaskan di bagian a.ii, yaitu
%2F. percentEncode(CanonicalizedQueryString) adalah string yang diperoleh dengan mengencode string kueri kanonis yang dibuat di bagian a.i sesuai aturan URL encoding yang dijelaskan di bagian a.ii. -
Hitung nilai HMAC dari string-to-sign sebagaimana didefinisikan dalam RFC 2104.
CatatanPerhatikan bahwa kunci yang digunakan untuk menghitung signature adalah Secret AccessKey Anda diikuti dengan karakter
&(ASCII:38), dan algoritma hashing-nya adalah SHA1. -
Encode nilai HMAC dalam Base64 untuk mendapatkan signature.
-
Tambahkan signature yang dihasilkan ke permintaan sebagai parameter
Signature.CatatanSaat Anda mengirimkan signature ke server Content Moderation, Anda harus mengencode-nya bersama parameter lain sesuai RFC 3986.
-