Azure OpenAI şemasını keşfetme
Azure OpenAI'yi PostgreSQL veritabanınıza ekleyerek yüksek oranda ölçeklenebilir yapay zeka destekli uygulamalar oluşturabilirsiniz. Bu tümleştirme, veritabanı katmanınızda akıllı çözümler oluşturmak için tanıdık SQL dilini ve PostgreSQL esnekliğini kullanmanıza olanak tanır. İster doğal dil işleme, öneri sistemleri ister içerik oluşturma olsun, Azure OpenAI uygulamalarınızı güçlendirebilir.
azure_openai Uzantı tarafından azure_ai yüklenen şema, bir Azure OpenAI Hizmeti örneğine bağlanmanızı ve bu örnekle etkileşim kurmanızı sağlar. Bu şema, Doğrudan PostgreSQL veritabanınızdan güçlü üretken yapay zeka uygulamaları oluşturmanıza olanak tanıyan Azure OpenAI hizmetiyle sorunsuz tümleştirme sağlar.
Gömüler oluştur
Şema ile azure_openai , veritabanı katmanı içinden create_embeddings() vektör eklemeleri oluşturan işlevini çağırabilirsiniz. Bu eklemeler, yüksek boyutlu vektörlerin verimli bir şekilde depolanmasına, dizinlenmesine ve sorgulanmasına olanak sağlar. İşlev iki biçimde kullanılabilir:
azure_openai.create_embeddings(text,text,integer,boolean,integer,integer)azure_openai.create_embeddings(text,text[],integer,integer,boolean,integer,integer)
Aşağıdaki tabloda işlev tarafından beklenen bağımsız değişkenler açıklanmaktadır:
| Tartışma | Türü | Varsayılan | Açıklama |
|---|---|---|---|
| dağıtım_adı | text |
Azure OpenAI Studio'da gömme modeli dağıtımının adı. Bu ad genellikle text-embeddings-ada-002 modelinin dağıtımına atıfta bulunur. |
|
| girdi |
text veya text[] |
Vektör eklemelerinin oluşturulduğu giriş metni (veya giriş metni dizisi). | |
| küme_boyutu | integer |
100 |
Yalnızca input bağımsız değişkeni bir text değer dizisi olduğunda geçerlidir.
batch_size aynı anda işlenmek üzere dizideki kayıt sayısını belirtir. |
| zaman_aşımı_ms | integer |
NULL::integer |
İşlemin durdurulduğu milisaniye cinsinden zaman aşımı. |
| hata_olduğunda_at | boolean |
true |
İşlevin hatada bir özel durum oluşturup oluşturmayacağını belirten bayrak, sarmalama işlemlerinin geri alınmasına neden olur. |
| maksimum_deneme | integer |
1 |
Hata durumunda Azure OpenAI hizmetine yapılan çağrının yeniden denenme sayısı. |
| tekrar deneme gecikmesi (milisaniye cinsinden) | integer |
1000 |
Azure OpenAI hizmet uç noktasını çağırmayı yeniden denemeden önce milisaniye cinsinden beklenmesi gereken süre. |
Azure OpenAI ile bağlantı yapılandırma
İşlevleri azure_openai kullanmadan önce uzantıyı Azure OpenAI hizmet uç noktanız ve anahtarınız ile yapılandırın. Aşağıdaki komut, Azure OpenAI örneğine bağlanmak için gereken uç noktayı ve anahtarı ayarlamak için kullanacağınız sorguları temsil eder:
SELECT azure_ai.set_setting('azure_openai.endpoint', '{endpoint}');
SELECT azure_ai.set_setting('azure_openai.subscription_key', '{api-key}');
Ardından, get_setting() yapılandırma tablosunda yazılan ayarları doğrulamak için azure_ai.settings işlevini kullanabilirsiniz.
SELECT azure_ai.get_setting('azure_openai.endpoint');
SELECT azure_ai.get_setting('azure_openai.subscription_key');
Vektör uzantısıyla vektör desteğini etkinleştirme
azure_openai.create_embeddings() Uzantıdaki azure_ai işlev, giriş metni için eklemeler oluşturmanıza olanak tanır. Oluşturulan vektörlerin veritabanındaki verilerinizin geri kalanıyla birlikte depolanmasını sağlamak için, vector yönergelerini izleyerek uzantıyı da yüklemeniz gerekir.
vector komutunu kullanarak yükleyebilirsiniz.
CREATE EXTENSION IF NOT EXISTS vector;
Vektör oluşturma ve depolama
Margie'nin Seyahati için geliştirdiğiniz yapay zeka destekli kiralama özelliği öneri uygulamasında, veritabanına vektör desteği ekledikten sonra eklemeleri bu tablo içinde depolamak için veri türünü kullanarak vector hedef tabloya yeni bir sütun eklemeniz gerekir. Kullanılabilir özellikleri aramak için sorgu yürütürken anlamsal arama özelliklerine izin vermek için tabloda vektörler etkinleştirilir listings . Model text-embedding-ada-002 1.536 boyutlu vektörler üretir, bu nedenle vektör boyutu olarak belirtmeniz 1536 gerekir.
ALTER TABLE listings
ADD COLUMN description_vector vector(1536);
Tablo listings artık eklemeleri depolamaya hazırdır.
azure_openai.create_embeddings() işlevini kullanarak, alan için description vektörler oluşturur ve bunları tablodaki yeni oluşturulan description_vector sütuna listings eklersiniz.
UPDATE listings
SET description_vector = azure_openai.create_embeddings('{your-deployment-name}', description);
Her ekleme kayan noktalı sayıların vektörlerinden oluşan bir vektördür, bu nedenle vektör alanında iki ekleme arasındaki uzaklık, özgün biçimdeki iki giriş arasındaki anlamsal benzerlikle ilişkilendirilir.