Bagikan melalui


Mengintegrasikan Azure Database for PostgreSQL dengan Azure Pembelajaran Mesin Services

Ekstensi Azure AI memberikan kemampuan untuk memanggil model pembelajaran mesin apa pun yang disebarkan di Azure Pembelajaran Mesin titik akhir online dari dalam SQL. Model ini dapat berasal dari katalog azure Pembelajaran Mesin atau model kustom yang dilatih dan disebarkan.

Prasyarat

  • Mengaktifkan dan mengonfigurasiazure_ai ekstensi.
  • Buat ruang kerja pembelajaran mesin dan sebarkan model dengan titik akhir online menggunakan CLI, Python, atau studio Azure Pembelajaran Mesin atau sebarkan model mlflow ke titik akhir online.
  • Pastikan bahwa status penyebaran untuk memastikan model berhasil disebarkan dan menguji model yang memanggil titik akhir untuk memastikan model berjalan dengan sukses.
  • Dapatkan URI dan Kunci, yang diperlukan untuk mengonfigurasi ekstensi untuk berkomunikasi dengan Azure Pembelajaran Mesin.

Catatan

Anda dapat menjelajahi sampel Azure Pembelajaran Mesin.

Mengonfigurasi titik akhir Azure Pembelajaran Mesin

Di studio Azure Pembelajaran Mesin, di bawah >akhir Anda Gunakan, Anda dapat menemukan URI titik akhir dan Kunci untuk titik akhir online. Gunakan nilai-nilai ini untuk mengonfigurasi azure_ai ekstensi untuk menggunakan titik akhir inferensi online.

select azure_ai.set_setting('azure_ml.scoring_endpoint','<URI>');
select azure_ai.set_setting('azure_ml.endpoint_key', '<Key>');

azure_ml.invoke

Menilai data input yang memanggil penyebaran model Azure Pembelajaran Mesin pada titik akhir online.

azure_ml.invoke(input_data jsonb, timeout_ms integer DEFAULT NULL, throw_on_error boolean DEFAULT true, deployment_name text DEFAULT NULL)

Argumen

input_data

jsonb json yang berisi payload permintaan untuk model.

deployment_name

textnama penyebaran yang sesuai dengan model yang disebarkan di titik akhir inferensi online Azure Pembelajaran Mesin

timeout_ms

integer DEFAULT NULL waktu habis dalam milidetik setelah operasi dihentikan. Penyebaran model itu sendiri dapat memiliki batas waktu yang ditentukan yang merupakan nilai yang lebih rendah daripada parameter batas waktu dalam fungsi yang ditentukan pengguna. Jika batas waktu ini terlampaui, operasi penilaian akan gagal.

throw_on_error

boolean DEFAULT true pada kesalahan jika fungsi melemparkan pengecualian yang mengakibatkan pembatalan transaksi pembungkusan.

max_attempts

integer DEFAULT 1berapa kali ekstensi mencoba kembali memanggil titik akhir Azure Pembelajaran Mesin jika gagal dengan kesalahan yang dapat diulang.

retry_delay_ms

integer DEFAULT 1000jumlah waktu (milidetik) yang ditunggu ekstensi, sebelum memanggil titik akhir Azure Pembelajaran Mesin, ketika gagal dengan kesalahan yang dapat diulang.

Tipe hasil

jsonb output penilaian untuk model yang dipanggil dalam JSONB.

Contoh

Memanggil model pembelajaran mesin

Ini memanggil model dengan input_data dan mengembalikan payload jsonb.

-- Invoke model, input data depends on the model.
  SELECT * FROM azure_ml.invoke('
  {
    "input_data": [
      [1,2,3,4,5,6,7,8],
      [-1,-2,-3,-4,-5,-6,-7,-8]
    ],
    "params": {}
  }', deployment_name=>'Housingprediction' )

-- Get JSON elements from model output
SELECT jsonb_array_elements(invoke.invoke) as MedianHousePrediction
FROM azure_ml.invoke('
{
  "input_data": [
    [1,2,3,4,5,6,7,8],
    [-1,-2,-3,-4,-5,-6,-7,-8]
  ],
 "params": {}
}', deployment_name=>'Housingprediction' )