Menjelajahi skema Azure OpenAI
Dengan menggabungkan Azure OpenAI ke dalam database PostgreSQL, Anda dapat membuat aplikasi yang didukung AI yang sangat dapat diskalakan. Integrasi ini memungkinkan Anda menggunakan bahasa SQL yang familier dan fleksibilitas PostgreSQL untuk membangun solusi cerdas dalam lapisan database Anda. Baik pemrosesan bahasa alami, sistem rekomendasi, atau pembuatan konten, Azure OpenAI memberdayakan aplikasi Anda.
Skema yang diinstal oleh ekstensi memungkinkan Anda untuk terhubung dan berinteraksi dengan instance Layanan Azure OpenAI. Skema ini memungkinkan integrasi yang mulus dengan layanan Azure OpenAI, memungkinkan Anda membuat aplikasi AI generatif yang kuat langsung dari database PostgreSQL Anda.
Buat embedding
Dengan skema azure_openai, Anda dapat memanggil fungsi create_embeddings(), yang menghasilkan embedding vektor dari dalam lapisan basis data. Penyematan ini memungkinkan penyimpanan, pengindeksan, dan kueri vektor berdimensi tinggi yang efisien. Fungsi ini dapat mengambil dua bentuk:
azure_openai.create_embeddings(text,text,integer,boolean,integer,integer)azure_openai.create_embeddings(text,text[],integer,integer,boolean,integer,integer)
Tabel berikut ini menjelaskan argumen yang diharapkan oleh fungsi :
| Argumen | Tipe | Bawaan | Deskripsi |
|---|---|---|---|
| nama_penerapan | text |
Nama penyebaran model penyematan di Azure OpenAI Studio. Nama ini biasanya mengacu pada penyebaran text-embeddings-ada-002 model. |
|
| Masukan |
text atau text[] |
Teks input (atau array teks input) yang penyematan vektornya dibuat. | |
| batch_size | integer |
100 |
Hanya berlaku ketika argumen input adalah suatu larik dari nilai text.
batch_size menentukan jumlah rekaman dari array untuk diproses secara bersamaan. |
| batas_waktu_ms | integer |
NULL::integer |
Waktu habis dalam milidetik setelah operasi dihentikan. |
| throw_on_error | boolean |
true |
Indikator yang menunjukkan apakah fungsi harus memunculkan pengecualian ketika terjadi kesalahan, yang akan mengakibatkan pembatalan transaksi yang dibungkus. |
| 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. |
Mengonfigurasi koneksi ke Azure OpenAI
Sebelum menggunakan fungsi azure_openai, konfigurasikan ekstensi dengan titik akhir dan kunci dari layanan Azure OpenAI Anda. Perintah berikut mewakili kueri yang akan Anda gunakan untuk mengatur titik akhir dan kunci yang diperlukan untuk menyambungkan ke instans Azure OpenAI Anda:
SELECT azure_ai.set_setting('azure_openai.endpoint', '{endpoint}');
SELECT azure_ai.set_setting('azure_openai.subscription_key', '{api-key}');
Anda kemudian dapat menggunakan get_setting() fungsi untuk memverifikasi pengaturan yang ditulis dalam azure_ai.settings tabel konfigurasi:
SELECT azure_ai.get_setting('azure_openai.endpoint');
SELECT azure_ai.get_setting('azure_openai.subscription_key');
Mengaktifkan dukungan vektor dengan ekstensi vektor
Fungsi azure_openai.create_embeddings() dalam ekstensi azure_ai memungkinkan Anda menghasilkan embedding untuk teks input. Untuk memungkinkan vektor yang dihasilkan disimpan bersama sisa data Anda dalam database, Anda juga harus menginstal vector ekstensi dengan mengikuti panduan dalam mengaktifkan dukungan vektor dalam dokumentasi database Anda .
Anda dapat menginstal vector ekstensi menggunakan perintah CREATE EXTENSION .
CREATE EXTENSION IF NOT EXISTS vector;
Membuat dan menyimpan vektor
Dalam aplikasi rekomendasi properti sewa yang didukung AI yang Sedang Anda kembangkan untuk Perjalanan Margie, Anda harus menambahkan kolom baru ke tabel target menggunakan vector jenis data untuk menyimpan penyematan dalam tabel tersebut setelah menambahkan dukungan vektor ke database. Vektor diaktifkan pada listings tabel untuk memungkinkan kemampuan pencarian semantik saat menjalankan kueri untuk mencari properti yang tersedia. Model ini text-embedding-ada-002 menghasilkan vektor dengan 1.536 dimensi, jadi Anda harus menentukan 1536 sebagai ukuran vektor.
ALTER TABLE listings
ADD COLUMN description_vector vector(1536);
Tabel listings sekarang siap untuk menyimpan penyematan. Dengan menggunakan fungsi , azure_openai.create_embeddings() Anda membuat vektor untuk description bidang dan menyisipkannya ke dalam kolom yang description_vector baru dibuat listings dalam tabel.
UPDATE listings
SET description_vector = azure_openai.create_embeddings('{your-deployment-name}', description);
Setiap penyematan adalah vektor angka floating-point, sehingga jarak antara dua penyematan di ruang vektor berkorelasi dengan kesamaan semantik antara dua input dalam format asli.