สํารวจ Schema ของ Azure OpenAI
โดยการรวม Azure OpenAI ลงในฐานข้อมูล PostgreSQL คุณสามารถสร้างแอปที่ขับเคลื่อนด้วย AI ที่ปรับขนาดได้สูง การรวมนี้ช่วยให้คุณสามารถใช้ภาษา SQL ที่คุ้นเคยและความยืดหยุ่นของ PostgreSQL เพื่อสร้างโซลูชันอัจฉริยะภายในเลเยอร์ฐานข้อมูลของคุณ ไม่ว่าการประมวลผลภาษาธรรมชาติ ระบบคําแนะนํา หรือการสร้างเนื้อหา Azure OpenAI จะช่วยเพิ่มประสิทธิภาพให้กับแอปพลิเคชันของคุณ
Schema azure_openai ที่ติดตั้งโดย azure_ai ส่วนขยายช่วยให้คุณสามารถเชื่อมต่อและโต้ตอบกับอินสแตนซ์ของบริการ Azure OpenAI ได้ Schema นี้ช่วยให้การรวมเข้ากับบริการ Azure OpenAI อย่างราบรื่น ช่วยให้คุณสามารถสร้างแอปพลิเคชัน AI ที่ก่อให้เกิดได้อย่างมีประสิทธิภาพโดยตรงจากฐานข้อมูล PostgreSQL ของคุณ
สร้างการฝัง
azure_openaiด้วย Schema คุณสามารถเรียกใช้create_embeddings()ฟังก์ชัน ซึ่งสร้างการฝังเวกเตอร์จากภายในเลเยอร์ฐานข้อมูล การฝังเหล่านี้ช่วยให้สามารถจัดเก็บ ทําดัชนี และการคิวรีของเวกเตอร์สูงได้อย่างมีประสิทธิภาพ ฟังก์ชันนี้สามารถป้อนข้อความหรืออาร์เรย์ของค่าข้อความ ขึ้นอยู่กับจํานวนรายการที่คุณต้องการฝังพร้อมกัน
ฟังก์ชันนี้ต้องการให้คุณ:
- ระบุชื่อการปรับใช้การฝัง
- ระบุข้อความอินพุตหรืออาร์เรย์ของข้อความ
- ให้ฟังก์ชันส่งคืนเวกเตอร์การฝังเป็น
vectorvector[]หรือ .
ตัวอย่าง:
```sql
SELECT azure_openai.create_embeddings(
'{your-deployment-name}',
'Sample text to embed'
);
```
เมื่อส่งค่าอินพุตหลายค่า ฟังก์ชันจะส่งคืนอาร์เรย์ของเวกเตอร์:
```sql
SELECT azure_openai.create_embeddings(
'{your-deployment-name}',
ARRAY['First text', 'Second text']
);
```
ฟังก์ชันจะจัดการการแบทช์ภายในตามจํานวนของสินค้าที่ให้มา
กําหนดค่าการเชื่อมต่อกับ Azure OpenAI
ก่อนที่จะใช้ฟังก์ชัน ให้ azure_openai กําหนดค่าส่วนขยายด้วยจุดสิ้นสุดและคีย์บริการ Azure OpenAI ของคุณ คําสั่งต่อไปนี้แสดงถึงคิวรีที่คุณจะใช้เพื่อตั้งค่าจุดสิ้นสุดและคีย์ที่จําเป็นในการเชื่อมต่อกับอินสแตนซ์ Azure OpenAI ของคุณ:
SELECT azure_ai.set_setting('azure_openai.endpoint', '{endpoint}');
SELECT azure_ai.set_setting('azure_openai.subscription_key', '{api-key}');
จากนั้นคุณสามารถใช้ get_setting() ฟังก์ชัน เพื่อตรวจสอบการตั้งค่าที่เขียนไว้ในตารางการตั้งค่าคอนฟิกได้ azure_ai.settings ดังนี้
SELECT azure_ai.get_setting('azure_openai.endpoint');
SELECT azure_ai.get_setting('azure_openai.subscription_key');
เปิดใช้งานการสนับสนุนเวกเตอร์ด้วยส่วนขยายเวกเตอร์
ฟังก์ชัน azure_openai.create_embeddings() ใน azure_ai ส่วนขยายช่วยให้คุณสามารถสร้างการฝังสําหรับข้อความที่ป้อนเข้าได้ เพื่อเปิดใช้งานเวกเตอร์ที่สร้างขึ้นเพื่อจัดเก็บควบคู่ไปกับข้อมูลที่เหลือของคุณในฐานข้อมูล คุณต้องติดตั้งvectorส่วนขยายโดยทําตามคําแนะนําในเปิดใช้งานการสนับสนุนเวกเตอร์ในเอกสารประกอบฐานข้อมูลของคุณ
คุณสามารถติดตั้งvectorส่วนขยายโดยใช้คําสั่ง CREATE EXTENSION
CREATE EXTENSION IF NOT EXISTS vector;
สร้างและจัดเก็บเวกเตอร์
ในแอปพลิเคชันคําแนะนําคุณสมบัติการเช่าที่ขับเคลื่อนด้วย AI ที่คุณกําลังพัฒนาเพื่อการเดินทางของ Margie คุณต้องเพิ่มคอลัมน์ใหม่ไปยังตารางเป้าหมายโดยใช้ vector ชนิดข้อมูลเพื่อจัดเก็บการฝังภายในตารางนั้นหลังจากเพิ่มการสนับสนุนเวกเตอร์ในฐานข้อมูล เวกเตอร์จะเปิดใช้งานบน listings ตารางเพื่ออนุญาตให้มีความสามารถในการค้นหาเชิงความหมายเมื่อดําเนินการคิวรีเพื่อค้นหาคุณสมบัติที่พร้อมใช้งาน แบบจําลอง text-embedding-ada-002 สร้างเวกเตอร์ที่มี 1,536 มิติดังนั้นคุณต้องระบุ 1536 เป็นขนาดเวกเตอร์
ALTER TABLE listings
ADD COLUMN description_vector vector(1536);
ตาราง listings พร้อมสําหรับจัดเก็บการฝังแล้ว
azure_openai.create_embeddings()โดยใช้ฟังก์ชัน คุณสร้างเวกเตอร์สําหรับdescriptionเขตข้อมูล และแทรกเวกเตอร์ลงในคอลัมน์ที่สร้างขึ้นdescription_vectorใหม่ในตารางlistings
UPDATE listings
SET description_vector = azure_openai.create_embeddings('{your-deployment-name}', description);
การฝังแต่ละครั้งเป็นเวกเตอร์ของตัวเลขจุดทศนิยมลอยตัว ดังนั้นระยะห่างระหว่างสองการฝังในพื้นที่เวกเตอร์จึงสัมพันธ์กับความคล้ายคลึงกันเชิงความหมายระหว่างอินพุตสองตัวในรูปแบบดั้งเดิม