Ringkasan pengelolaan endpoint model

Halaman ini menjelaskan cara mendaftarkan endpoint model AI dan memanggil prediksi dengan pengelolaan endpoint model di Cloud SQL. Untuk menggunakan model AI di lingkungan produksi, lihat Membuat dan mengelola embedding vektor.

Ringkasan

Pengelolaan endpoint model memungkinkan Anda mendaftarkan endpoint model, mengelola metadata endpoint model di instance Cloud SQL, lalu berinteraksi dengan model menggunakan kueri SQL. Anda dapat menggunakan model ini untuk membuat embedding vektor atau memanggil prediksi.

Anda dapat mendaftarkan jenis model berikut menggunakan pengelolaan endpoint model:

  • Model embedding teks Vertex AI.
  • Model embedding teks yang dihosting pelanggan yang dihosting di jaringan dalam Cloud de Confiance by S3NS.
  • Model generik dengan API berbasis JSON. Contoh model ini meliputi:

    • Model gemini-flash dari Vertex AI Model Garden
    • Model open_ai untuk model OpenAI
    • Model yang dihosting di jaringan dalam Cloud de Confiance by S3NS

Cara kerjanya

Anda dapat menggunakan pengelolaan endpoint model untuk mendaftarkan endpoint model yang mematuhi hal berikut:

  • Input dan output model mendukung format JSON.
  • Anda dapat menggunakan protokol REST untuk memanggil model.

Saat Anda mendaftarkan endpoint model dengan pengelolaan endpoint model, pengelolaan endpoint model akan mendaftarkan setiap endpoint dengan ID model unik sebagai referensi ke model tersebut. Anda dapat menggunakan ID model ini untuk mengkueri model, sebagai berikut:

  • Membuat embedding untuk menerjemahkan perintah teks menjadi vektor numerik. Anda dapat menyimpan embedding yang dihasilkan sebagai data vektor saat mengaktifkan dukungan embedding vektor di instance Anda. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan dan menonaktifkan embedding vektor pada instance Anda.

  • Panggil prediksi untuk memanggil model menggunakan SQL dalam transaksi.

Untuk mendaftarkan dan memanggil model AI jarak jauh dengan instance Cloud SQL, instance Anda harus diinstal dengan versi pemeliharaan MYSQL_VERSION.R20250531.01_14 atau yang lebih baru. Jika instance Anda menjalankan versi pemeliharaan yang lebih lama dari MYSQL_VERSION.R20250531.01_14, Anda hanya dapat menggunakan fungsi berikut seperti yang didokumentasikan dengan integrasi Cloud SQL dan Vertex AI.

Untuk mengupgrade instance ke versi pemeliharaan MYSQL_VERSION.R20250531.01_14 atau yang lebih baru, lihat Pemeliharaan mandiri. Setelah mengupgrade instance, Anda dapat menggunakan fungsi berikut:

Selain itu, Anda dapat menggunakan fungsi berikut dengan penyedia model terdaftar:

Hak istimewa pengguna database yang diperlukan

Untuk mendaftarkan dan memanggil model AI jarak jauh, Anda harus login sebagai pengguna database MySQL yang telah diberi hak istimewa SELECT dan EXECUTE di mysql.*.

Secara default, setiap pengguna dengan peran cloudsqlsuperuser memiliki hak istimewa ini atau dapat membuat pengguna dan memberikan hak istimewa yang diperlukan.

Untuk mengetahui informasi selengkapnya tentang peran cloudsqlsuperuser di Cloud SQL, lihat Hak istimewa pengguna MySQL 8.0 dan Hak istimewa pengguna MySQL 8.4.

Konsep utama

Sebelum Anda mulai menggunakan pengelolaan endpoint model, pahami konsep yang diperlukan untuk terhubung ke dan menggunakan model.

Penyedia model

Penyedia model adalah penyedia hosting model yang didukung. Tabel berikut menunjukkan nilai penyedia model yang harus Anda tetapkan berdasarkan penyedia model yang Anda gunakan:

Penyedia model Ditetapkan dalam fungsi sebagai…
Vertex AI (termasuk Gemini) google
Anthropic anthropic
Hugging Face hugging_face
OpenAI open_ai
Model lain yang dihosting di luar Vertex AI,
Anthropic, Hugging Face, dan OpenAI
custom

Penyedia model default adalah custom.

Jenis model

Jenis model adalah jenis model AI. Saat mendaftarkan endpoint model, Anda dapat menetapkan jenis model text_embedding atau generic untuk endpoint tersebut.

Jika Anda menggunakan Vertex AI sebagai penyedia model, Anda tidak perlu mendaftarkan endpoint model karena endpoint didukung secara otomatis. Secara default, dengan Vertex AI, Anda menggunakan model text-embedding-005.

Model embedding teks lainnya
Untuk model embedding teks lainnya, Anda perlu membuat fungsi transformasi untuk menangani format input dan output yang didukung model. Secara opsional, Anda dapat menggunakan fungsi pembuatan header HTTP yang menghasilkan header kustom yang diperlukan oleh model Anda.

Jenis model untuk model ini adalah text_embedding.

Model generik
Pengelolaan endpoint model juga mendukung pendaftaran semua jenis model lainnya selain model embedding teks. Untuk memanggil prediksi untuk model generik, gunakan fungsi mysql.ml_predict_row() . Anda dapat menetapkan metadata endpoint model, seperti endpoint permintaan dan header HTTP yang spesifik untuk model Anda.
Anda tidak dapat meneruskan fungsi transformasi saat mendaftarkan endpoint model generik. Pastikan bahwa saat Anda memanggil prediksi, input ke fungsi dalam format JSON, dan Anda mengurai output JSON untuk mendapatkan output akhir.
Jenis model untuk model ini adalah generic. Karena generic adalah jenis model default, jika Anda mendaftarkan endpoint model untuk jenis ini, penetapan jenis model bersifat opsional.
Dengan Vertex AI, pengelolaan endpoint model mencakup dukungan yang telah didaftarkan sebelumnya untuk model gemini-2.5-flash.

Metode autentikasi

Anda dapat mengaktifkan dukungan untuk embedding vektor di instance Cloud SQL untuk MySQL, lalu menentukan berbagai metode autentikasi untuk mengakses model Anda. Menetapkan metode ini bersifat opsional dan hanya diperlukan jika Anda perlu melakukan autentikasi untuk mengakses model.

Untuk model Vertex AI, akun layanan Cloud SQL digunakan untuk autentikasi. Untuk model lain, kunci API atau token pemilik yang disimpan sebagai secret di Secret Manager dapat digunakan dengan fungsi SQL mysql.ml_create_sm_secret_registration().

Tabel berikut menunjukkan metode autentikasi yang dapat Anda tetapkan:

Metode autentikasi Ditetapkan dalam fungsi sebagai… Penyedia model
Agen layanan Cloud SQL auth_type_cloudsql_service_agent_iam Penyedia Vertex AI
Secret Manager auth_type_secret_manager Model yang dihosting di luar Vertex AI

Fungsi prediksi

mysql.ml_embedding()
Memanggil endpoint model embedding teks terdaftar untuk membuat embedding. Alat ini mencakup dukungan bawaan untuk semua model embedding oleh Vertex AI.
Untuk model embedding teks tanpa dukungan bawaan, parameter input dan output bersifat unik untuk model dan perlu diubah agar fungsi dapat memanggil model. Buat fungsi input transformasi untuk mengubah input fungsi prediksi menjadi input khusus model, dan fungsi output transformasi untuk mengubah output khusus model menjadi output fungsi prediksi.
mysql.ml_predict_row()
Memanggil endpoint model generik terdaftar, jika endpoint mendukung API berbasis JSON untuk memanggil prediksi.

Fungsi transformasi

Fungsi transformasi mengubah input menjadi format yang dipahami model, dan mengonversi respons model ke format yang diharapkan oleh fungsi prediksi. Fungsi transformasi digunakan saat mendaftarkan endpoint model text-embedding tanpa dukungan bawaan. Signature fungsi transformasi bergantung pada fungsi prediksi untuk jenis model.

Anda tidak dapat menggunakan fungsi transformasi saat mendaftarkan endpoint model generic.

Berikut ini menunjukkan tanda tangan untuk fungsi prediksi untuk model embedding teks:

// define custom model specific input/output transform functions.
CREATE FUNCTION IF NOT EXISTS input_transform_function(model_id VARCHAR(100), input_text TEXT) RETURNS JSON DETERMINISTIC;

// the returned BLOB should be of type VECTOR
CREATE FUNCTION IF NOT EXISTS output_transform_function(model_id VARCHAR(100), response_json JSON) RETURNS BLOB DETERMINISTIC;

Untuk mengetahui informasi selengkapnya tentang cara membuat fungsi transformasi, lihat Contoh fungsi transformasi.

Fungsi pembuatan header HTTP

Fungsi pembuatan header HTTP menghasilkan output dalam key-value pair JSON yang digunakan sebagai header HTTP. Tanda tangan fungsi prediksi menentukan tanda tangan fungsi pembuat header.

Contoh berikut menunjukkan signature untuk fungsi prediksi mysql.ml_embedding():

CREATE FUNCTION IF NOT EXISTS generate_headers(model_id VARCHAR(100), input TEXT) RETURNS JSON DETERMINISTIC;

Untuk fungsi prediksi mysql.ml_predict_row(), tanda tangannya adalah sebagai berikut:

CREATE FUNCTION IF NOT EXISTS generate_headers(model_id VARCHAR(100), input JSON) RETURNS JSON DETERMINISTIC;

Untuk mengetahui informasi selengkapnya tentang cara membuat fungsi pembuat header, lihat Contoh fungsi pembuat header.

Batasan

  • Saat menjalankan fungsi pendaftaran model atau pengelolaan secret, Anda secara implisit meng-commit transaksi terbuka dalam sesi. Fungsi prediksi tidak secara implisit meng-commit transaksi.

  • Jika Anda mengekspor atau mengimpor database dengan mysqldump, katalog endpoint model tidak akan diekspor.

  • Database pengguna yang berisi fungsi transformasi tidak boleh memiliki karakter titik ('.') dalam namanya. Misalnya, database bernama my.sql tidak didukung.

  • Pengelolaan endpoint model hanya tersedia untuk Cloud SQL untuk MySQL versi 8.0.36 dan yang lebih baru.

Langkah berikutnya