Topik ini menjelaskan cara menggunakan Content Moderation SDK untuk Java dalam mengelola pustaka gambar kustom.
Deskripsi
Anda dapat menyesuaikan sampel gambar sesuai dengan kebutuhan manajemen Anda untuk konten yang dipersonalisasi. Selanjutnya, gunakan pustaka gambar kustom untuk mendeteksi secara cerdas konten pornografi, konten teroris, dan pelanggaran iklan dalam gambar serta video. Untuk informasi lebih lanjut tentang parameter terkait, lihat CreateImageLib.
Prasyarat
Dependensi Java telah diinstal. Untuk informasi lebih lanjut, lihat Instalasi.
CatatanGunakan versi Java yang dijelaskan dalam topik Instalasi untuk menginstal dependensi. Jika tidak, panggilan operasi selanjutnya akan gagal.
Kelas utilitas Extension.Uploader telah diunduh dan diimpor ke proyek Anda jika Anda mengirimkan gambar lokal atau aliran gambar biner untuk moderasi gambar.
Meminta pustaka gambar kustom
DescribeImageLibRequest describeImageLibRequest = new DescribeImageLibRequest();
describeImageLibRequest.setServiceModule("open_api");
try {
// Meminta semua pustaka gambar, termasuk pustaka gambar kustom dan pustaka gambar berbasis umpan balik.
DescribeImageLibResponse describeImageLibResponse = client.getAcsResponse(describeImageLibRequest);
System.out.println(JSON.toJSONString(describeImageLibResponse));
List<DescribeImageLibResponse.ImageLib> allLibs = describeImageLibResponse.getImageLibList();
List<DescribeImageLibResponse.ImageLib> customImageLibs = new ArrayList<DescribeImageLibResponse.ImageLib>();
for (DescribeImageLibResponse.ImageLib imageLib : allLibs) {
String source = imageLib.getSource();
// Daftar pustaka gambar kustom.
if("MANUAL".equals(source)) {
customImageLibs.add(imageLib);
}
// Daftar pustaka gambar berbasis umpan balik.
if("FEEDBACK".equals(source)) {
customImageLibs.add(imageLib);
}
}
System.out.println(JSON.toJSONString(customImageLibs));
} catch (ClientException e) {
e.printStackTrace();
}Membuat pustaka gambar kustom
CreateImageLibRequest createImageLibRequest = new CreateImageLibRequest();
createImageLibRequest.setServiceModule("open_api");
createImageLibRequest.setName("Daftar hitam deteksi pornografi");
createImageLibRequest.setScene("PORN");
createImageLibRequest.setCategory("BLACK");
try {
CreateImageLibResponse createImageLibResponse = client.getAcsResponse(createImageLibRequest);
// ID permintaan. Jika tidak ada pengecualian, pustaka gambar kustom dibuat.
String requestId = createImageLibResponse.getRequestId();
System.out.println(JSON.toJSONString(createImageLibResponse));
} catch (ClientException e) {
e.printStackTrace();
}Memodifikasi pustaka gambar kustom
UpdateImageLibRequest updateImageLibRequest = new UpdateImageLibRequest();
// ID pustaka gambar kustom.
updateImageLibRequest.setId(12345);
updateImageLibRequest.setName("Nama baru pustaka gambar kustom");
updateImageLibRequest.setBizTypes(JSON.toJSONString(Arrays.asList("komentar")));
updateImageLibRequest.setCategory("WHITE");
updateImageLibRequest.setScene("PORN");
try {
UpdateImageLibResponse updateImageLibResponse = client.getAcsResponse(updateImageLibRequest);
// ID permintaan. Jika tidak ada pengecualian, pustaka gambar kustom dimodifikasi.
String requestId = updateImageLibResponse.getRequestId();
System.out.println(JSON.toJSONString(updateImageLibResponse));
} catch (ClientException e) {
e.printStackTrace();
}Menghapus pustaka gambar kustom
DeleteImageLibRequest deleteImageLibRequest = new DeleteImageLibRequest();
// ID pustaka gambar kustom.
deleteImageLibRequest.setId(12345);
try {
DeleteImageLibResponse deleteImageLibResponse = client.getAcsResponse(deleteImageLibRequest);
// ID permintaan. Jika tidak ada pengecualian, pustaka gambar kustom dihapus.
String requestId = deleteImageLibResponse.getRequestId();
System.out.println(JSON.toJSONString(deleteImageLibResponse));
} catch (ClientException e) {
e.printStackTrace();
}Meminta gambar dalam pustaka gambar kustom
DescribeImageFromLibRequest describeImageFromLibRequest = new DescribeImageFromLibRequest();
describeImageFromLibRequest.setImageLibId(1519);
describeImageFromLibRequest.setPageSize(20);
describeImageFromLibRequest.setCurrentPage(1);
try {
DescribeImageFromLibResponse describeImageFromLibResponse = client.getAcsResponse(describeImageFromLibRequest);
// Jumlah gambar yang dikembalikan.
describeImageFromLibResponse.getTotalCount();
// Nomor halaman yang dikembalikan.
describeImageFromLibResponse.getCurrentPage();
// Jumlah gambar yang dikembalikan di setiap halaman.
describeImageFromLibResponse.getPageSize();
// Gambar.
for (DescribeImageFromLibResponse.ImageFromLib imageFromLib : describeImageFromLibResponse.getImageFromLibList()) {
// ID kunci utama gambar.
imageFromLib.getId();
// URL gambar.
imageFromLib.getImage();
// URL gambar mini.
imageFromLib.getThumbnail();
}
System.out.println(JSON.toJSONString(describeImageFromLibResponse));
} catch (ClientException e) {
e.printStackTrace();
}Menambahkan gambar ke pustaka gambar kustom
- Peroleh kredensial unggah gambar.
- Unggah gambar ke pustaka gambar kustom.
- Kirimkan informasi tentang pustaka tempat gambar diunggah dan jalur gambar ke server.
// Peroleh kredensial unggah gambar.
DescribeUploadInfoRequest describeUploadInfoRequest = new DescribeUploadInfoRequest();
describeUploadInfoRequest.setBiz("customImageLib");
DescribeUploadInfoResponse describeUploadInfoResponse = null;
try {
describeUploadInfoResponse = client.getAcsResponse(describeUploadInfoRequest);
System.out.println(JSON.toJSONString(describeUploadInfoResponse));
} catch (ClientException e) {
e.printStackTrace();
}
// Unggah gambar.
CustomLibUploader customLibUploader = new CustomLibUploader();
String object = null;
try {
object = customLibUploader.uploadFile(describeUploadInfoResponse.getHost(), describeUploadInfoResponse.getFolder(), describeUploadInfoResponse.getAccessid(),
describeUploadInfoResponse.getPolicy(), describeUploadInfoResponse.getSignature(),
"/Users/liuhai.lh/Desktop/a.jpg");
} catch (Exception e) {
e.printStackTrace();
}
if(org.apache.commons.lang.StringUtils.isNotBlank(object)){
UploadImageToLibRequest imageToLibRequest = new UploadImageToLibRequest();
imageToLibRequest.setImageLibId(1519);
imageToLibRequest.setImages(JSON.toJSONString(Arrays.asList(object)));
try {
UploadImageToLibResponse uploadImageToLibResponse = client.getAcsResponse(imageToLibRequest);
// ID permintaan. Jika tidak ada pengecualian, gambar ditambahkan ke pustaka gambar kustom.
String requestId = uploadImageToLibResponse.getRequestId();
System.out.println(JSON.toJSONString(uploadImageToLibResponse));
} catch (ClientException e) {
e.printStackTrace();
}
}Menghapus gambar dari pustaka gambar kustom
DeleteImageFromLibRequest deleteImageFromLibRequest = new DeleteImageFromLibRequest();
deleteImageFromLibRequest.setIds(JSON.toJSONString(Arrays.asList(669310)));
try {
DeleteImageFromLibResponse deleteImageFromLibResponse = client.getAcsResponse(deleteImageFromLibRequest);
// ID permintaan. Jika tidak ada pengecualian, gambar dihapus dari pustaka gambar kustom.
String requestId = uploadImageToLibResponse.getRequestId();
System.out.println(JSON.toJSONString(deleteImageFromLibResponse));
} catch (ClientException e) {
e.printStackTrace();
}