Memeriksa skema Azure Machine Learning
Skema azure_ml ekstensi azure_ai memungkinkan database Anda berinteraksi dengan kemampuan model pembelajaran mesin yang dibuat khusus. Dengan menggunakan skema azure_ml, Anda dapat mengintegrasikan database PostgreSQL dengan layanan Azure Machine Learning dengan lancar. Integrasi ini memungkinkan Anda untuk menyebarkan dan melayani model pembelajaran mesin langsung dari database Anda, membuat inferensi real time efisien dan dapat diskalakan.
Inferensi real time dengan skema azure_ml
Azure Machine Learning adalah platform berbasis cloud yang menyederhanakan alur kerja pembelajaran mesin end-to-end. Dalam Azure Machine Learning, model dikembangkan menggunakan kerangka kerja populer seperti PyTorch dan TensorFlow. Setelah dilatih, model ini disebarkan sebagai titik akhir, URL stabil di mana prediksi dapat diminta.
Dengan titik akhir online yang memberikan inferensi real-time, Azure Machine Learning terintegrasi dengan ekstensi azure_ai membekali Anda untuk membuat prediksi yang akurat langsung dari database Anda. Fungsi inference dalam skema ini dirancang untuk memfasilitasi pembuatan prediksi atau menghasilkan output menggunakan model terlatih dari Azure Machine Learning. Saat Anda menyebarkan model, fungsi inferensi memungkinkan Anda memanggil model dan mendapatkan prediksi pada data baru.
azure_ml.inference(jsonb,integer,boolean,text)
Fungsi inference() mengharapkan parameter input berikut:
| Pengaturan | Jenis | Bawaan | Deskripsi |
|---|---|---|---|
| input_data | jsonb |
Objek JSON yang berisi objek input_data diperlukan untuk berinteraksi dengan model Azure Machine Learning. |
|
| nama_penerapan | text |
NULL::text |
(Opsional) Nama penyebaran model untuk ditargetkan di titik akhir Azure Machine Learning yang ditentukan. |
| batas_waktu_ms | integer |
NULL::integer |
Mengatur waktu maksimum (dalam milidetik) untuk menunggu operasi inferensi sebelum waktu habis. |
| lemparkan_jika_ada_kesalahan | boolean |
true |
Menentukan apakah akan melemparkan kesalahan jika operasi inferensi mengalami masalah. |
| upaya_maksimum | integer |
1 |
Berapa kali untuk mencoba kembali panggilan ke layanan Azure OpenAI jika terjadi kegagalan. |
| penundaan_coba_ulang_dalam_milidetik | integer |
1000 |
Jumlah waktu, dalam milidetik, untuk menunggu sebelum mencoba mencoba kembali memanggil titik akhir layanan Azure OpenAI. |
Titik akhir inferensi Azure Machine Learning mengharapkan objek JavaScript Object Notation (JSON) sebagai input. Namun, struktur objek ini tergantung pada model yang mendasar. Misalnya, model regresi yang dilatih untuk memprediksi harga sewa harian untuk penyewaan perumahan jangka pendek di Seattle, area Washington, diberikan input tertentu seperti lingkungan, Kode Pos, jumlah kamar tidur, jumlah kamar mandi, dan banyak lagi, memiliki bentuk berikut:
{
"input_data": {
"columns": [
"host_is_superhost",
"host_has_profile_pic",
"host_identity_verified",
"neighbourhood_group_cleansed",
"zipcode",
"property_type",
"room_type",
"accommodates",
"bathrooms",
"bedrooms",
"beds"
],
"index": [0],
"data": [["False", "False", "False", "Central Area", "98122", "House", "Entire home/apt", 4, 1.5, 3, 3]]
}
}
Struktur objek input yang diharapkan dapat diambil dengan memeriksa definisi Swagger yang terkait dengan titik akhir yang Anda sebarkan. Definisi ini menentukan struktur ServiceInput dan ServiceOutput, yang dapat Anda gunakan untuk menentukan input dan output Anda.
Mengonfigurasi koneksi ke Azure Machine Learning
Sebelum menggunakan fungsi azure_ml.inference() untuk melakukan inferensi real time, Anda harus mengonfigurasi ekstensi dengan titik akhir dan kunci penilaian Azure Machine Learning Anda. Nilai untuk azure_ml.scoring_endpoint adalah titik akhir REST untuk model yang Anda sebarkan. Nilai untuk azure_ml.endpoint_key dapat berupa kunci primer atau sekunder untuk titik akhir ini.
SELECT azure_ai.set_setting('azure_ml.scoring_endpoint', '{endpoint}');
SELECT azure_ai.set_setting('azure_ml.endpoint_key', '{api-key}');