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 penyematan vektor atau memanggil prediksi.
Anda dapat mendaftarkan jenis model berikut menggunakan pengelolaan endpoint model:
- Model embedding teks Vertex AI.
- Model penyematan teks yang dihosting kustom yang dihosting di jaringan dalam Trusted Cloud 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 Trusted Cloud 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. Anda dapat menggunakan ID model ini untuk membuat kueri model, sebagai berikut:
Membuat embedding untuk menerjemahkan perintah teks ke 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 penyematan vektor di 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
, maka
Anda hanya dapat menggunakan fungsi berikut seperti yang didokumentasikan dengan
integrasi Cloud SQL dan Vertex AI.
Untuk mengupgrade instance Anda 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 penyematanmysql.ml_create_sm_secret_registration()
: menggunakan rahasia di Trusted Cloud by S3NS Secret Manager, tempat kunci API disimpan
Selain itu, Anda dapat menggunakan fungsi berikut dengan penyedia model terdaftar Anda:
mysql.ml_embedding()
: menghasilkan embedding teksmysql.ml_predict_row()
: membuat 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
pada 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 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 | Tetapkan dalam fungsi sebagai… |
---|---|
Vertex AI (mencakup 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.
Jika 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 khusus untuk model Anda.generic
. Karena generic
adalah jenis model default, jika Anda mendaftarkan endpoint model untuk jenis ini, maka setelan jenis model bersifat opsional.gemini-2.5-flash
.Metode autentikasi
Anda dapat mengaktifkan dukungan untuk penyematan vektor di instance Cloud SQL untuk MySQL, lalu menentukan metode autentikasi yang berbeda untuk mengakses model Anda. Menetapkan metode ini bersifat opsional dan hanya diperlukan jika Anda perlu mengautentikasi untuk mengakses model.Untuk model Vertex AI, akun layanan Cloud SQL digunakan untuk autentikasi. Untuk model lainnya, kunci API atau token pembawa yang disimpan sebagai rahasia 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 | Tetapkan 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 penyematan teks tanpa dukungan bawaan, parameter input dan output unik untuk suatu 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 ke format yang dipahami model, dan
mengonversi respons model ke format yang diharapkan oleh fungsi prediksi. Fungsi
transform digunakan saat mendaftarkan endpoint model text-embedding
tanpa
dukungan bawaan. Tanda tangan fungsi transformasi bergantung pada
fungsi prediksi untuk jenis model.
Anda tidak dapat menggunakan fungsi transformasi saat mendaftarkan endpoint model generic
.
Berikut menunjukkan tanda tangan untuk fungsi prediksi untuk model penyematan 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 pembuatan header.
Contoh berikut menunjukkan tanda tangan 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 pembuatan header, lihat Contoh fungsi pembuatan header.
Batasan
Saat menjalankan fungsi pendaftaran model atau pengelolaan rahasia, Anda secara implisit melakukan transaksi terbuka apa pun dalam sesi. Fungsi prediksi tidak secara implisit melakukan transaksi.
Jika Anda mengekspor atau mengimpor database dengan
mysqldump
, maka katalog endpoint model tidak akan diekspor.Database pengguna yang berisi fungsi transformasi tidak boleh memiliki karakter titik (
'.'
) dalam namanya. Misalnya, database yang disebutmy.sql
tidak 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.