All Products
Search
Document Center

Platform For AI:Terapkan layanan inferensi online untuk potret AI

Last Updated:Apr 02, 2026

Gunakan layanan Scalable Job untuk inferensi Portret AI guna mencegah pemanfaatan resource yang tidak optimal dan gangguan permintaan selama skala-masuk.

Prasyarat

  • Virtual private cloud (VPC) telah dibuat dan akses Internet diaktifkan untuk VPC tersebut.

    1. VPC, vSwitch, dan security group telah dibuat. Untuk informasi selengkapnya, lihat VPC dan vSwitch dan Gunakan security group.

    2. Gateway NAT Internet telah dibuat di dalam VPC. Alamat IP elastis (EIP) dikaitkan dengan gateway tersebut dan entri SNAT telah dikonfigurasi pada gateway. Untuk informasi selengkapnya, lihat Gateway NAT Internet.

  • Untuk pelatihan model dan pembuatan potret, siapkan 5 hingga 20 gambar pelatihan dan 1 gambar templat. Format gambar berikut didukung: .jpg.jpeg, dan .png. Pastikan ukuran setiap gambar lebih besar dari 512 x 512 piksel.

    • Potret satu orang: Gambar templat harus memuat wajah seseorang. Wajah dalam beberapa gambar pelatihan harus milik orang yang sama.

    • Potret multi-orang: Gambar templat harus memuat beberapa wajah, dan jumlah wajah tersebut harus sama dengan nilai parameter model_id yang ditentukan untuk pelatihan model.

  • Bucket OSS telah dibuat. Untuk informasi selengkapnya, lihat Buat bucket.

Batasan

Solusi potret AI hanya tersedia di wilayah China (Beijing) dan Singapura.

Terapkan layanan pekerjaan yang dapat diskalakan untuk inferensi

Terapkan layanan verifikasi

  1. Masuk ke Konsol PAI. Pilih wilayah di bagian atas halaman. Lalu, pilih ruang kerja yang diinginkan dan klik Elastic Algorithm Service (EAS).

  2. Klik Deploy Service. Di bagian Custom Model Deployment, klik Custom Deployment.

  3. Pada halaman Custom Deployment, konfigurasikan parameter berikut. Gunakan nilai default untuk parameter lainnya. Untuk informasi selengkapnya, lihat Custom Deployment.

    • Pada bagian Basic Information, atur nama layanan. Contoh: photog_check.

    • Pada bagian Environment Information, konfigurasikan parameter berikut:

      Parameter

      Deskripsi

      Deployment Method

      Pilih Image-based Deployment, lalu pilih Asynchronous Queue.

      Image Configuration

      Pilih Image Address dan masukkan alamat gambar:

      1. China (Beijing): registry.cn-beijing.aliyuncs.com/mybigpai/photog_pub:check.1.0.0.pub.

      2. Singapura: registry.ap-southeast-1.aliyuncs.com/mybigpai/photog_pub:check.1.0.0.pub.

      Code Build

      Pilih OSS sebagai tipe mount dan atur parameter berikut:

      1. Uri: Jalur bucket OSS Anda. Contoh: oss://examplebucket/.

      2. Mount Path: Atur ke /photog_oss.

      Command to Run

      Atur ke python app.py.

      Port Number

      Atur ke 7860.

    • Pada bagian Resource Information, atur parameter berikut:

      Parameter

      Deskripsi

      Resource Type

      Pilih Public Resources.

      Deployment

      Pilih tipe instans seri GU30 pada tab GPU. Direkomendasikan: ml.gu7i.c32m188.1-gu30.

      Configure a system disk

      Atur ke 120 GiB.

    • Pada bagian Asynchronous Queue, atur parameter berikut:

      Parameter

      Deskripsi

      Resource Type

      Pilih Public Resources.

      Deployment

      • Jumlah replika: 1

      • CPU (core): 8

      • Memori (GB): 64

      Maximum Data for A Single Input Request

      Atur ke 20480 KB untuk memastikan penyimpanan yang cukup bagi setiap permintaan dalam antrian.

      Maximum Data for A Single Output

    • Pada bagian Service Access, pilih VPC, vSwitch, dan security group yang telah Anda buat.

    • Pada bagian Service Configurations, tambahkan konfigurasi berikut. Lihat contoh konfigurasi lengkap di bawah ini untuk parameter baru.

      Field

      Parameter baru

      metadata

      Tambahkan parameter berikut:

      {
          "metadata": {
              "name": "photog_check",
              "instance": 1,
              "rpc": {
                  "keepalive": 3600000,
                  "worker_threads": 1
              },
              "type": "Async"
          },
          "cloud": {
              "computing": {
                  "instance_type": "ml.gu7i.c32m188.1-gu30",
                  "instances": null
              },
              "networking": {
                  "vswitch_id": "vsw-2ze4o9kww55051tf2****",
                  "security_group_id": "sg-2ze0kgiee55d0fn4****",
                  "vpc_id": "vpc-2ze5hl4ozjl4fo7q3****"
              }
          },
          "features": {
              "eas.aliyun.com/extra-ephemeral-storage": "100Gi"
          },
          "queue": {
              "cpu": 8,
              "max_delivery": 1,
              "min_replica": 1,
              "memory": 64000,
              "resource": "",
              "source": {
                  "max_payload_size_kb": 20480
              },
              "sink": {
                  "max_payload_size_kb": 20480
              }
          },
          "storage": [
              {
                  "oss": {
                      "path": "oss://examplebucket/",
                      "readOnly": false
                  },
                  "properties": {
                      "resource_type": "code"
                  },
                  "mount_path": "/photog_oss"
              }
          ],
          "containers": [
              {
                  "image": "registry.cn-beijing.aliyuncs.com/mybigpai/photog_pub:check.1.0.0.pub",
                  "script": "python app.py",
                  "port": 7860
              }
          ]
      }
      1. keepalive: Waktu pemrosesan maksimum untuk satu permintaan, dalam milidetik. Atur ke 3600000.

      2. worker_threads: Jumlah thread pemrosesan konkuren per instans Elastic Algorithm Service (EAS).

        Nilai default: 5, artinya lima tugas pertama dalam antrian diberikan ke instans yang sama. Atur ke 1 untuk memproses permintaan secara berurutan.

      queue

      Tambahkan "max_delivery": 1 untuk mencegah pengiriman ulang berulang setelah terjadi kegagalan.

      Contoh konfigurasi lengkap

      {
          "metadata": {
              "name": "photog_check",
              "instance": 1,
              "rpc": {
                  "keepalive": 3600000,
                  "worker_threads": 1
              },
              "type": "Async"
          },
          "cloud": {
              "computing": {
                  "instance_type": "ml.gu7i.c32m188.1-gu30",
                  "instances": null
              },
              "networking": {
                  "vswitch_id": "vsw-2ze4o9kww55051tf2****",
                  "security_group_id": "sg-2ze0kgiee55d0fn4****",
                  "vpc_id": "vpc-2ze5hl4ozjl4fo7q3****"
              }
          },
          "features": {
              "eas.aliyun.com/extra-ephemeral-storage": "100Gi"
          },
          "queue": {
              "cpu": 8,
              "max_delivery": 1,
              "min_replica": 1,
              "memory": 64000,
              "resource": "",
              "source": {
                  "max_payload_size_kb": 20480
              },
              "sink": {
                  "max_payload_size_kb": 20480
              }
          },
          "storage": [
              {
                  "oss": {
                      "path": "oss://examplebucket/",
                      "readOnly": false
                  },
                  "properties": {
                      "resource_type": "code"
                  },
                  "mount_path": "/photog_oss"
              }
          ],
          "containers": [
              {
                  "image": "registry.cn-beijing.aliyuncs.com/mybigpai/photog_pub:check.1.0.0.pub",
                  "script": "python app.py",
                  "port": 7860
              }
          ]
      }
  4. Klik Deploy.

Terapkan layanan pelatihan

  1. Masuk ke Konsol PAI. Pilih wilayah di bagian atas halaman. Lalu, pilih ruang kerja yang diinginkan dan klik Elastic Algorithm Service (EAS).

  2. Klik Deploy Service. Di bagian Custom Model Deployment, klik Custom Deployment.

  3. Pada halaman Custom Deployment, konfigurasikan parameter berikut. Gunakan nilai default untuk parameter lainnya. Untuk informasi selengkapnya, lihat Custom Deployment.

    • Pada bagian Basic Information, atur nama layanan. Contoh: photog_train_pmml.

    • Pada bagian Environment Information, atur parameter berikut:

      Parameter

      Deskripsi

      Deployment Method

      Pilih Image-based Deployment, lalu pilih Asynchronous Queue.

      Image Configuration

      Pilih Image Address dan masukkan alamat gambar:

      1. China (Beijing): registry.cn-beijing.aliyuncs.com/mybigpai/photog_pub:train.1.0.0.pub.

      2. Singapura: registry.ap-southeast-1.aliyuncs.com/mybigpai/photog_pub:train.1.0.0.pub.

      Code configuration

      Pilih OSS sebagai tipe mount dan atur parameter berikut:

      1. Uri: Jalur bucket OSS Anda. Harus sesuai dengan jalur yang ditentukan untuk layanan verifikasi. Contoh: oss://examplebucket/.

      2. Mount Path: Atur ke /photog_oss.

      Command to Run

      Atur ke python app.py.

      Port Number

      Atur ke 7860.

    • Pada bagian Resource Information, atur parameter berikut:

      Parameter

      Deskripsi

      Resource Type

      Pilih Public Resources.

      Deployment

      Pilih tipe instans seri GU30 pada tab GPU. Direkomendasikan: ml.gu7i.c32m188.1-gu30.

      Configure a system disk

      Atur ke 120 GiB.

    • Pada bagian Asynchronous Queue, atur parameter berikut:

      Parameter

      Deskripsi

      Resource Type

      Pilih Public Resources.

      Deployment

      • Jumlah replika: 1

      • CPU (core): 8

      • Memori (GB): 64

      Maximum Data for A Single Input Request

      Atur ke 20480 KB untuk memastikan penyimpanan yang cukup bagi setiap permintaan dalam antrian.

      Maximum Data for A Single Output

    • Pada bagian Service Access, pilih VPC, vSwitch, dan security group yang telah Anda buat.

    • Pada bagian Service Configurations, tambahkan konfigurasi berikut. Lihat contoh konfigurasi lengkap di bawah ini untuk parameter baru.

      Field

      Parameter baru

      autoscaler

      (Opsional) Konfigurasi auto scaling horizontal. Untuk informasi selengkapnya, lihat Horizontal auto scaling.

      {
          "autoscaler": {
              "behavior": {
                  "scaleDown": {
                      "stabilizationWindowSeconds": 60
                  }
              },
              "max": 5,
              "min": 1,
              "strategies": {
                  "queue[backlog]": 1
              }
          },
          "metadata": {
              "name": "photog_train_pmml",
              "instance": 1,
              "rpc": {
                  "keepalive": 3600000,
                  "worker_threads": 1
              },
              "type": "Async"
          },
          "cloud": {
              "computing": {
                  "instance_type": "ml.gu7i.c32m188.1-gu30",
                  "instances": null
              },
              "networking": {
                  "vswitch_id": "vsw-2ze4o9kww55051tf2****",
                  "security_group_id": "sg-2ze0kgiee55d0fn4****",
                  "vpc_id": "vpc-2ze5hl4ozjl4fo7q3****"
              }
          },
          "features": {
              "eas.aliyun.com/extra-ephemeral-storage": "120Gi"
          },
          "queue": {
              "cpu": 8,
              "max_delivery": 1,
              "min_replica": 1,
              "memory": 64000,
              "resource": "",
              "source": {
                  "max_payload_size_kb": 20480
              },
              "sink": {
                  "max_payload_size_kb": 20480
              }
          },
          "storage": [
              {
                  "oss": {
                      "path": "oss://examplebucket/",
                      "readOnly": false
                  },
                  "properties": {
                      "resource_type": "code"
                  },
                  "mount_path": "/photog_oss"
              }
          ],
          "containers": [
              {
                  "image": "registry.cn-beijing.aliyuncs.com/mybigpai/photog_pub:train.1.0.0.pub",
                  "script": "python app.py",
                  "port": 7860
              }
          ]
      }

      metadata

      Tambahkan parameter berikut:

      {
          "metadata": {
              "name": "photog_check",
              "instance": 1,
              "rpc": {
                  "keepalive": 3600000,
                  "worker_threads": 1
              },
              "type": "Async"
          },
          "cloud": {
              "computing": {
                  "instance_type": "ml.gu7i.c32m188.1-gu30",
                  "instances": null
              },
              "networking": {
                  "vswitch_id": "vsw-2ze4o9kww55051tf2****",
                  "security_group_id": "sg-2ze0kgiee55d0fn4****",
                  "vpc_id": "vpc-2ze5hl4ozjl4fo7q3****"
              }
          },
          "features": {
              "eas.aliyun.com/extra-ephemeral-storage": "100Gi"
          },
          "queue": {
              "cpu": 8,
              "max_delivery": 1,
              "min_replica": 1,
              "memory": 64000,
              "resource": "",
              "source": {
                  "max_payload_size_kb": 20480
              },
              "sink": {
                  "max_payload_size_kb": 20480
              }
          },
          "storage": [
              {
                  "oss": {
                      "path": "oss://examplebucket/",
                      "readOnly": false
                  },
                  "properties": {
                      "resource_type": "code"
                  },
                  "mount_path": "/photog_oss"
              }
          ],
          "containers": [
              {
                  "image": "registry.cn-beijing.aliyuncs.com/mybigpai/photog_pub:check.1.0.0.pub",
                  "script": "python app.py",
                  "port": 7860
              }
          ]
      }
      1. keepalive: Waktu pemrosesan maksimum untuk satu permintaan, dalam milidetik. Atur ke 3600000.

      2. worker_threads: Jumlah thread pemrosesan konkuren per instans EAS.

        Nilai default: 5, artinya lima tugas pertama dalam antrian diberikan ke instans yang sama. Atur ke 1 untuk memproses permintaan secara berurutan.

      queue

      Tambahkan "max_delivery": 1 untuk mencegah pengiriman ulang berulang setelah terjadi kegagalan.

      Contoh konfigurasi lengkap

      {
          "autoscaler": {
              "behavior": {
                  "scaleDown": {
                      "stabilizationWindowSeconds": 60
                  }
              },
              "max": 5,
              "min": 1,
              "strategies": {
                  "queue[backlog]": 1
              }
          },
          "metadata": {
              "name": "photog_train_pmml",
              "instance": 1,
              "rpc": {
                  "keepalive": 3600000,
                  "worker_threads": 1
              },
              "type": "Async"
          },
          "cloud": {
              "computing": {
                  "instance_type": "ml.gu7i.c32m188.1-gu30",
                  "instances": null
              },
              "networking": {
                  "vswitch_id": "vsw-2ze4o9kww55051tf2****",
                  "security_group_id": "sg-2ze0kgiee55d0fn4****",
                  "vpc_id": "vpc-2ze5hl4ozjl4fo7q3****"
              }
          },
          "features": {
              "eas.aliyun.com/extra-ephemeral-storage": "120Gi"
          },
          "queue": {
              "cpu": 8,
              "max_delivery": 1,
              "min_replica": 1,
              "memory": 64000,
              "resource": "",
              "source": {
                  "max_payload_size_kb": 20480
              },
              "sink": {
                  "max_payload_size_kb": 20480
              }
          },
          "storage": [
              {
                  "oss": {
                      "path": "oss://examplebucket/",
                      "readOnly": false
                  },
                  "properties": {
                      "resource_type": "code"
                  },
                  "mount_path": "/photog_oss"
              }
          ],
          "containers": [
              {
                  "image": "registry.cn-beijing.aliyuncs.com/mybigpai/photog_pub:train.1.0.0.pub",
                  "script": "python app.py",
                  "port": 7860
              }
          ]
      }
  4. Klik Deploy.

Terapkan layanan prediksi

Layanan prediksi diterapkan sebagai layanan Scalable Job.

  1. Klik Deploy Service. Di bagian Custom Model Deployment, klik JSON Deployment.

  2. Masukkan konfigurasi dalam editor JSON.

    {
        "metadata": {
            "name": "photog_pre_pmml",
            "instance": 1,
            "rpc": {
                "keepalive": 3600000,
                "worker_threads": 1
            },
            "type": "ScalableJob"
        },
        "cloud": {
            "computing": {
                "instance_type": "ecs.gn6v-c8g1.2xlarge",
                "instances": null
            },
            "networking": {
                "vswitch_id": "vsw-2ze4o9kww55051tf2****",
                "security_group_id": "sg-2ze0kgiee55d0fn4****",
                "vpc_id": "vpc-2ze5hl4ozjl4fo7q3****"
            }
        },
        "features": {
            "eas.aliyun.com/extra-ephemeral-storage": "120Gi"
        },
        "queue": {
            "cpu": 8,
            "max_delivery": 1,
            "min_replica": 1,
            "memory": 64000,
            "resource": "",
            "source": {
                "max_payload_size_kb": 20480
            },
            "sink": {
                "max_payload_size_kb": 20480
            }
        },
        "storage": [
            {
                "oss": {
                    "path": "oss://examplebucket/",
                    "readOnly": false
                },
                "properties": {
                    "resource_type": "code"
                },
                "mount_path": "/photog_oss"
            }
        ],
        "containers": [
            {
                "image": "registry.cn-beijing.aliyuncs.com/mybigpai/photog_pub:infer.1.0.0.pub",
                "env": [
                    {
                        "name": "URL",
                        "value": "http://127.0.0.1:8000"
                    },
                    {
                        "name": "AUTHORIZATION",
                        "value": "="
                    }
                ],
                "script": "python app.py",
                "port": 7861
            },
            {
                "image": "eas-registry-vpc.cn-beijing.cr.aliyuncs.com/pai-eas/stable-diffusion-webui:3.2",
                "port": 8000,
                "script": "./webui.sh --listen --port 8000 --skip-version-check --no-hashing --no-download-sd-model --skip-install --api --filebrowser --sd-dynamic-cache --data-dir /photog_oss/webui/"
            }
        ]
    }

    Tabel berikut menjelaskan parameter utama. Untuk detail parameter lainnya, lihat JSON Deployment.

    Parameter

    Deskripsi

    metadata

    Name

    Nama layanan. Harus unik dalam wilayah tersebut.

    Type

    Atur ke ScalableJob untuk menerapkan layanan inferensi asinkron sebagai layanan Scalable Job.

    containers

    Image

    Alamat gambar untuk layanan prediksi potret AI dan layanan prediksi WebUI. Daftar berikut menyediakan gambar yang didukung. Solusi ini menggunakan gambar untuk wilayah China (Beijing).

    1. Alamat gambar untuk China (Beijing):

      1. Layanan prediksi potret AI: registry.cn-beijing.aliyuncs.com/mybigpai/photog_pub:infer.1.0.0.pub.

      2. Layanan prediksi WebUI: eas-registry-vpc.cn-beijing.cr.aliyuncs.com/pai-eas/stable-diffusion-webui:3.2.

    2. Alamat gambar untuk Singapura:

      1. Layanan prediksi potret AI: registry.ap-southeast-1.aliyuncs.com/mybigpai/photog_pub:infer.1.0.0.pub.

      2. Layanan prediksi WebUI: eas-registry-vpc.ap-southeast-1.cr.aliyuncs.com/pai-eas/stable-diffusion-webui:3.2.

    storage

    Path

    Jalur mount OSS. Gunakan jalur bucket OSS yang sama seperti layanan verifikasi. Contoh: oss://examplebucket/.

    Unduh dan ekstrak file model yang diperlukan oleh WebUI, lalu simpan di bucket OSS Anda pada oss://examplebucket/photog_oss/webui dengan struktur direktori seperti di bawah ini. Untuk informasi lebih lanjut tentang mengunggah file ke OSS, lihat Alat baris perintah ossutil 1.0. Untuk informasi lebih lanjut tentang mengunggah file ke NAS, lihat Panduan cepat (Linux) dan Gunakan Workbench untuk mengelola file pada Instance ECS.image.png

    Mount path

    Atur ke /photog_oss.

  3. Klik Deploy.

    Saat Anda menerapkan layanan Scalable Job, layanan antrian akan dibuat secara otomatis dengan auto scaling horizontal yang diaktifkan secara default.

Panggil layanan

Setelah layanan diterapkan, panggil layanan tersebut untuk menghasilkan potret AI.

Saat memanggil layanan, atur taskType ke query untuk permintaan inferensi, sebagaimana dijelaskan dalam Panggil layanan. gunakan kode contoh berikut:

import json
from eas_prediction import QueueClient

# Buat klien antrian input untuk menulis data masukan.
input_queue = QueueClient('182848887922****.cn-shanghai.pai-eas.aliyuncs.com', 'photog_check')
input_queue.set_token('<token>')
input_queue.init()

datas = json.dumps(
    {
       'request_id'    : 12345,
       'images'        : ["xx.jpg", "xx.jpg"], # url, berupa daftar
       'configure'     : {
            'face_reconize' : True, # Memeriksa apakah semua gambar adalah orang yang sama.
        }
    }
)
# Tentukan taskType sebagai query.
tags = {"taskType": "query"}
index, request_id = input_queue.put(f'{datas}', tags)
print(index, request_id)

# Lihat detail antrian input.
attrs = input_queue.attributes()
print(attrs)

Dokumentasi terkait