Az Azure OpenAI-séma megismerése

Befejeződött

Az Azure OpenAI PostgreSQL-adatbázisba való beépítésével nagy mértékben skálázható AI-alapú alkalmazásokat hozhat létre. Ez az integráció lehetővé teszi, hogy a Jól ismert SQL-nyelvet és a PostgreSQL rugalmasságát használva intelligens megoldásokat hozzon létre az adatbázisrétegen belül. Akár természetes nyelvi feldolgozás, akár javaslati rendszerek vagy tartalomgenerálás, az Azure OpenAI lehetővé teszi az alkalmazások használatát.

A azure_openai bővítmény által azure_ai telepített séma lehetővé teszi egy Azure OpenAI-szolgáltatáspéldányhoz való csatlakozást és az azokkal való interakciót. Ez a séma zökkenőmentes integrációt tesz lehetővé az Azure OpenAI szolgáltatással, így közvetlenül a PostgreSQL-adatbázisból hozhat létre hatékony generatív AI-alkalmazásokat.

Beágyazások létrehozása

azure_openai A sémával meghívhatja a create_embeddings() függvényt, amely vektoros beágyazásokat hoz létre az adatbázisrétegen belülről. Ezek a beágyazások lehetővé teszik a nagy méretű vektorok hatékony tárolását, indexelését és lekérdezését. A függvény két formában használható:

  • azure_openai.create_embeddings(text,text,integer,boolean,integer,integer)
  • azure_openai.create_embeddings(text,text[],integer,integer,boolean,integer,integer)

Az alábbi táblázat a függvény által várt argumentumokat ismerteti:

érvelés Típus Alapértelmezett Leírás
telepítés neve text A beágyazási modell Azure OpenAI studióban való üzembe helyezésének neve. Ez a név általában a text-embeddings-ada-002 modell telepítésére utal.
bevitel text vagy text[] Bemeneti szöveg (vagy bemeneti szöveg tömbje), amelyhez vektoros beágyazások jönnek létre.
köteg_méret integer 100 Csak akkor érvényes, ha az input argumentum egy text értékek tömbje. batch_size A tömbből egyidejűleg feldolgozandó rekordok számát adja meg.
időkorlát_ms integer NULL::integer Időtúllépés ezredmásodpercben, amely után a művelet leáll.
hiba esetén dob boolean true Jelző, amely jelzi, hogy a függvény hiba esetén kivételt jelez-e, ami a körbefuttatási tranzakciók visszaállítását eredményezi.
max_kísérletek integer 1 Az Azure OpenAI szolgáltatás hívásának újrapróbálkozásának száma hiba esetén.
újrapróbálkozási késleltetés ms-ben integer 1000 Ezredmásodpercben ennyi időt kell várnia, mielőtt megpróbálna újra meghívni az Azure OpenAI szolgáltatásvégpontot.

Kapcsolat konfigurálása az Azure OpenAI-hoz

Mielőtt használná a azure_openai függvényeket, konfigurálja a bővítményt az Azure OpenAI szolgáltatásvégpontjával és kulcsával. Az alábbi parancs az Azure OpenAI-példányhoz való csatlakozáshoz szükséges végpont és kulcs beállításához használt lekérdezéseket jelöli:

SELECT azure_ai.set_setting('azure_openai.endpoint', '{endpoint}');
SELECT azure_ai.set_setting('azure_openai.subscription_key', '{api-key}');

Ezután a get_setting() függvény használatával ellenőrizheti a konfigurációs táblában azure_ai.settings írt beállításokat:

SELECT azure_ai.get_setting('azure_openai.endpoint');
SELECT azure_ai.get_setting('azure_openai.subscription_key');

Vektortámogatás engedélyezése a vektorkiterjesztéssel

A azure_openai.create_embeddings() bővítményben található azure_ai függvény lehetővé teszi a bemeneti szöveg beágyazásának generálását. Ahhoz, hogy a generált vektorok az adatbázis többi adata mellett legyenek tárolva, telepítenie kell a vector bővítményt is az adatbázis dokumentációjában található vektortámogatási útmutatót követve.

A bővítményt a vectorCREATE EXTENSION paranccsal telepítheti.

CREATE EXTENSION IF NOT EXISTS vector;

Vektorok létrehozása és tárolása

A Margie Travelhez fejlesztett AI-alapú bérlemény-ajánló alkalmazásban egy új oszlopot kell hozzáadnia a céltáblához az vector adattípus használatával, hogy beágyazásokat tároljon a táblában, miután vektortámogatást adott hozzá az adatbázishoz. A vektorok engedélyezve vannak a táblában, hogy lehetővé tegyék a listings szemantikai keresési képességeket, amikor lekérdezéseket hajtanak végre az elérhető tulajdonságok kereséséhez. A text-embedding-ada-002 modell 1536 dimenziójú vektorokat hoz létre, ezért a vektorméretet meg kell adnia 1536 .

ALTER TABLE listings
ADD COLUMN description_vector vector(1536);

A listings tábla készen áll a beágyazások tárolására. A azure_openai.create_embeddings() függvény használatával vektorokat hozhat létre a description mezőhöz, és beszúrhatja őket a description_vector tábla újonnan létrehozott listings oszlopába.

UPDATE listings
SET description_vector = azure_openai.create_embeddings('{your-deployment-name}', description);

Minden beágyazás lebegőpontos számok vektora, így a vektortérben lévő két beágyazás távolsága korrelál a két bemenet szemantikai hasonlóságával az eredeti formátumban.