Membuat layanan model di Elastic Algorithm Service (EAS).
Deskripsi operasi
**Sebelum Anda memanggil operasi ini, pastikan Anda memahami tagihan Elastic Algorithm Service (EAS).
Coba sekarang
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
eas:CreateService |
create |
*All Resource
|
None | None |
Sintaks permintaan
POST /api/v2/services HTTP/1.1
Parameter permintaan
|
Parameter |
Type |
Required |
Description |
Example |
| body |
string |
No |
Isi permintaan. Untuk informasi lebih lanjut tentang parameter permintaan utama, lihat Tabel 1. Parameter isi permintaan dan Tabel 2. Parameter metadata. Untuk informasi lebih lanjut tentang semua parameter terkait, lihat Parameter layanan model. |
镜像部署服务: { "name": "foo", "metadata": { "instance": 2, "memory": 7000, "cpu": 4 }, "containers": [ { "image": "****", "script": "**** --listen=0.0.0.0 --server_port=8000 --headless", "port": 8000 } ], "storage": [ { "oss": { "path": "oss://examplebuket/data111/", "readOnly": false }, "properties": { "resource_type": "model" }, "mount_path": "/data" } ] } 镜像部署AI-Web应用: { "name": "foo", "metadata": { "instance": 1, "memory": 7000, "cpu": 4, "enable_webservice": true }, "containers": [ { "image": "****", "script": "**** --listen=0.0.0.0 --server_port=8000 --headless", "port": 8000 } ], "storage": [ { "oss": { "path": "oss://examplebucket/data111/", "readOnly": false }, "properties": { "resource_type": "model" }, "mount_path": "/data" } ] } 模型+processor部署服务: { "metadata": { "instance": 1, "memory": 7000, "cpu": 4 }, "name": "foo", "model_config": {}, "processor_type": "python", "processor_path": "oss://****", "processor_entry": "a.py", "model_path": "oss://****" } |
| Develop |
string |
No |
Menentukan apakah akan masuk ke mode pengembangan. Nilai yang valid:
Valid values:
|
true |
| Labels |
object |
No |
Label kustom. |
|
|
string |
No |
Label. |
{"key":"value"} |
|
| WorkspaceId |
string |
No |
ID workspace. |
123456 |
Tabel 1. Parameter isi permintaan
| Parameter | Tipe | Wajib | Deskripsi |
| name | String | Ya | Nama layanan, yang harus unik dalam suatu region. |
| token | String | Tidak | Token untuk autentikasi. Jika Anda tidak menentukan token dan generate_token diatur ke true, token akan dibuat secara otomatis. |
| model_path | String | Tidak | Path file model. Anda dapat menentukan alamat HTTP atau path Object Storage Service (OSS). Jika Anda menentukan alamat HTTP, alamat HTTP harus dapat diakses publik. Jika Anda menentukan path OSS, path dapat berupa direktori atau nama file. Jika Anda menentukan file .tar.gz, .tar.bz2, atau .zip, sistem akan otomatis mendekompresi file tersebut. |
| role_arn | string | Tidak | Jika Anda mengatur model_path atau processor_path ke alamat OSS, Anda perlu menentukan parameter role_arn untuk mengakses OSS dan parameter Role_ARN untuk mendapatkan role_arn. |
| oss_endpoint | String | Tidak | Endpoint bucket OSS. Jika Anda mengatur model_path atau processor_path ke path OSS, Anda harus menentukan parameter ini. |
| model_entry | String | Tidak | File utama model. File apa pun dapat ditentukan sebagai file utama model. Jika tidak ada file yang ditentukan, file yang ditentukan oleh model_path digunakan sebagai file utama model. Path file utama diteruskan ke fungsi Load() di processor. |
| processor_path | String | Ya | Path file processor. Anda dapat menentukan file lokal atau alamat HTTP. Jika Anda menentukan file .tar.gz, .tar.bz2, atau .zip, sistem akan otomatis mendekompresi file tersebut. |
| processor_entry | String | Tidak | Jika Anda mengatur processor_type ke C, C++, atau Python, parameter ini wajib diisi. File utama processor. File utama berisi implementasi fungsi Load() dan Process() yang diperlukan untuk prediksi. |
| processor_mainclass | String | Tidak | Jika Anda mengatur processor_type ke Java, parameter ini wajib diisi. Kelas utama dalam paket JAR processor. |
| processor_type | String | Ya | Bahasa yang digunakan untuk mengimplementasikan processor. Nilai yang valid: C, C++, Java, dan Python. |
| metadata | Dict | Tidak | Metadata layanan. Untuk informasi lebih lanjut, lihat Tabel 2. |
| cloud | Dict | Tidak | Kunci peta. Parameter ini diperlukan hanya jika Anda menentukan jenis instance untuk menerapkan layanan. Anda harus menentukan parameter ini dalam format berikut: "cloud":{"computing":{"instance_type": "ecs.gxxxxxx.large"}}. |
| containers | List | Tidak | Metode penerapan container yang diimplementasikan dengan menggunakan image kustom. Jika container yang diterapkan dengan processor tidak memenuhi kebutuhan Anda, Anda dapat menerapkan container menggunakan image kustom. Untuk informasi lebih lanjut, lihat Menerapkan layanan model menggunakan image kustom. |
Deskripsi Parameter model_path dan parameter processor_path menentukan sumber input model dan input processor. Anda dapat mengatur path ke alamat HTTP atau path OSS. Ketika Anda menggunakan perintah test untuk men-debug model di mesin on-premises Anda, Anda dapat mengatur parameter ke file dan direktori lokal.
Jika Anda menggunakan alamat HTTP, Anda harus mengompresi file terkait ke dalam file .tar.gz, .tar.bz2, atau .zip. Kemudian, Anda dapat mengunggah file ke OSS untuk menghasilkan alamat HTTP.
Jika Anda menggunakan path OSS, Anda dapat memasukkan nama direktori atau file sebagai path.
Tabel 2. Parameter metadata
| Parameter | Tipe | Wajib | Deskripsi | Contoh |
| instance | Int | Tidak | Jumlah worker yang diperlukan untuk memulai layanan. | 1 |
| cpu | Int | Tidak | Jumlah CPU yang diperlukan oleh setiap worker. | 1 |
| gpu | Int | Tidak | Jumlah GPU yang diperlukan oleh setiap worker. | 0 |
| memory | Int | Tidak | Ukuran memori yang diperlukan oleh setiap worker. Satuan: MB. | 1000 |
| resource | String | Tidak | Grup sumber daya tempat layanan berada. | eas-r-aaabbbccc |
| rpc.worker_threads | Int | Tidak | Jumlah thread yang digunakan untuk memproses permintaan secara bersamaan di setiap instance. | 5 |
| rpc.max_queue_size | Int | Tidak | Ukuran maksimum antrean untuk memproses permintaan. Jika antrean penuh, permintaan baru akan dibatalkan dan kode status HTTP 450 dikembalikan. | 64 |
| rpc.keepalive | Int | Tidak | Periode timeout permintaan. Satuan: milidetik. | 5000 |
| rpc.rate_limit | Int | Tidak | Nilai queries per second (QPS) yang memicu throttling permintaan untuk satu instance. Jika QPS terlampaui, permintaan baru akan dibatalkan dan kode status HTTP 429 dikembalikan. | 0 |
| release | Bool | Tidak | Menentukan apakah akan membuat layanan untuk canary release. Nilai yang valid: true dan false. Jika Anda mengatur parameter ini ke true, Anda harus membuat layanan untuk canary release. | false |
Elemen respons
|
Element |
Type |
Description |
Example |
|
object |
Parameter respons. |
||
| RequestId |
string |
ID permintaan. |
40325405-579C-4D82**** |
| ServiceId |
string |
ID layanan yang dibuat. |
eas-m-aaxxxddf |
| ServiceName |
string |
Nama layanan yang dibuat. |
yourname |
| Status |
string |
Status layanan. |
Creating |
| Region |
string |
ID region layanan yang dibuat. |
cn-shanghai |
| InternetEndpoint |
string |
Endpoint publik layanan yang dibuat. |
http://pai-eas.vpc.cn-shanghai.**** |
| IntranetEndpoint |
string |
Endpoint internal layanan yang dibuat. |
http://pai-eas.cn-shanghai.**** |
Contoh
Respons sukses
JSONformat
{
"RequestId": "40325405-579C-4D82****",
"ServiceId": "eas-m-aaxxxddf",
"ServiceName": "yourname",
"Status": "Creating",
"Region": "cn-shanghai",
"InternetEndpoint": "http://pai-eas.vpc.cn-shanghai.****",
"IntranetEndpoint": "http://pai-eas.cn-shanghai.****"
}
Kode kesalahan
Lihat Error Codes untuk daftar lengkap.
Catatan rilis
Lihat Release Notes untuk daftar lengkap.