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-flashdari Vertex AI Model Garden - Model
open_aiuntuk model OpenAI - Model yang dihosting di jaringan dalam Cloud de Confiance by S3NS
- Model
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:
mysql.ml_create_model_registration(): mendaftarkan endpoint model yang digunakan dalam fungsi prediksi atau embeddingmysql.ml_create_sm_secret_registration(): menggunakan secret di Cloud de Confiance by S3NS Secret Manager, tempat kunci API disimpan
Selain itu, Anda dapat menggunakan fungsi berikut dengan penyedia model terdaftar:
mysql.ml_embedding(): menghasilkan embedding teksmysql.ml_predict_row(): menghasilkan prediksi saat Anda memanggil model generik yang mendukung format input dan output JSON
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.
text_embedding.mysql.ml_predict_row()
.
Anda dapat menetapkan metadata endpoint model,
seperti endpoint permintaan dan header HTTP yang spesifik untuk model Anda.generic. Karena generic adalah jenis model default, jika Anda mendaftarkan endpoint model untuk jenis ini, penetapan jenis model bersifat opsional.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 bernamamy.sqltidak didukung.Pengelolaan endpoint model hanya tersedia untuk Cloud SQL untuk MySQL versi 8.0.36 dan yang lebih baru.
Langkah berikutnya
- Siapkan autentikasi untuk penyedia model.
- Daftarkan endpoint model dengan pengelolaan endpoint model.
- Pelajari referensi pengelolaan endpoint model.