สํารวจ 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);

การฝังแต่ละครั้งเป็นเวกเตอร์ของตัวเลขจุดทศนิยมลอยตัว ดังนั้นระยะห่างระหว่างสองการฝังในพื้นที่เวกเตอร์จึงสัมพันธ์กับความคล้ายคลึงกันเชิงความหมายระหว่างอินพุตสองตัวในรูปแบบดั้งเดิม