Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik: Azure Database for PostgreSQL – Rugalmas kiszolgáló
Egyszerűen meghívhatja az Azure OpenAI-beágyazásokat a bemenet vektoros ábrázolásának lekéréséhez, amelyet aztán a vektoros hasonlósági keresésekben és a gépi tanulási modellek használhatnak fel.
Előfeltételek
-
Engedélyezze és konfigurálja a bővítményt
azure_ai
. - Hozzon létre egy OpenAI-fiókot, és kérjen hozzáférést az Azure OpenAI szolgáltatáshoz.
- Adjon hozzáférést az Azure OpenAI-hoz a kívánt előfizetésben.
- Engedélyek megadása Azure OpenAI-erőforrások létrehozásához és modellek üzembe helyezéséhez.
- Hozzon létre és telepítsen egy Azure OpenAI-szolgáltatáserőforrást és egy modellt, például helyezze üzembe a beágyazási modell text-embedding-ada-002-et. Másolja ki az üzembehelyezési nevet a beágyazások létrehozásához szükséges módon.
OpenAI-végpont és -kulcs konfigurálása
Az Azure OpenAI-erőforrás Erőforrás-kezelési>megtalálhatja az Azure OpenAI-erőforrás végpontját és kulcsait. A modell üzembe helyezésének meghívásához engedélyezze a bővítményt azure_ai
a végpont és az egyik kulcs használatával.
select azure_ai.set_setting('azure_openai.endpoint', 'https://<endpoint>.openai.azure.com');
select azure_ai.set_setting('azure_openai.subscription_key', '<API Key>');
azure_openai.create_embeddings
Meghívja az Azure OpenAI API-t, hogy beágyazásokat hozzon létre a megadott környezettel a megadott bemeneten keresztül.
azure_openai.create_embeddings(deployment_name text, input text, timeout_ms integer DEFAULT 3600000, throw_on_error boolean DEFAULT true, max_attempts integer DEFAULT 1, retry_delay_ms integer DEFAULT 1000)
azure_openai.create_embeddings(deployment_name text, input text[], batch_size integer DEFAULT 100, timeout_ms integer DEFAULT 3600000, throw_on_error boolean DEFAULT true, max_attempts integer DEFAULT 1, retry_delay_ms integer DEFAULT 1000)
Argumentumok
deployment_name
text
a modellt tartalmazó Üzembe helyezés neve az Azure OpenAI Studióban.
input
text
vagy text[]
egy szöveg vagy szövegtömb, a használt függvény túlterhelésétől függően, amelyhez beágyazások jönnek létre.
dimensions
integer DEFAULT NULL
Az eredményként kapott kimeneti beágyazások dimenzióinak száma. Csak a text-embedding-3 és újabb modellekben támogatott. A azure_ai bővítmény 1.1.0-s és újabb verzióiban érhető el
batch_size
integer DEFAULT 100
egyszerre feldolgozandó rekordok száma (csak annak a függvénynek a túlterheléséhez érhető el, amelynek a paramétere input
típus text[]
).
timeout_ms
integer DEFAULT 3600000
időtúllépés ezredmásodpercben, amely után a művelet leáll.
throw_on_error
boolean DEFAULT true
hiba esetén, ha a függvény kivételt okoz, amely a körbefuttatási tranzakciók visszaállítását eredményezi.
max_attempts
integer DEFAULT 1
hányszor próbálkozik újra a bővítmény az Azure OpenAI-beágyazási létrehozással, ha az újrapróbálkozási hibával meghiúsul.
retry_delay_ms
integer DEFAULT 1000
ennyi időt (ezredmásodpercet) vár a bővítmény, mielőtt újra meghívja az Azure OpenAI-végpontot a beágyazási létrehozáshoz, ha újrapróbálkozási hibával meghiúsul.
Visszatérési típus
real[]
vagy TABLE(embedding real[])
egy elem vagy egy egyoszlopos tábla a használt függvény túlterhelésétől függően a bemeneti szöveg vektoros ábrázolásával, amikor a kiválasztott üzembe helyezés feldolgozta.
Beágyazások létrehozása és vektoros adattípusban való tárolása az OpenAI használatával
-- Create tables and populate data
DROP TABLE IF EXISTS conference_session_embeddings;
DROP TABLE IF EXISTS conference_sessions;
CREATE TABLE conference_sessions(
session_id int PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY,
title text,
session_abstract text,
duration_minutes integer,
publish_date timestamp
);
-- Create a table to store embeddings with a vector column.
CREATE TABLE conference_session_embeddings(
session_id integer NOT NULL REFERENCES conference_sessions(session_id),
session_embedding vector(1536)
);
-- Insert a row into the sessions table
INSERT INTO conference_sessions
(title,session_abstract,duration_minutes,publish_date)
VALUES
('Gen AI with Azure Database for PostgreSQL flexible server'
,'Learn about building intelligent applications with azure_ai extension and pg_vector'
, 60, current_timestamp)
,('Deep Dive: PostgreSQL database storage engine internals'
,' We will dig deep into storage internals'
, 30, current_timestamp)
;
-- Get an embedding for the Session Abstract
SELECT
pg_typeof(azure_openai.create_embeddings('text-embedding-ada-002', c.session_abstract)) as embedding_data_type
,azure_openai.create_embeddings('text-embedding-ada-002', c.session_abstract)
FROM
conference_sessions c LIMIT 10;
-- Insert embeddings
INSERT INTO conference_session_embeddings
(session_id, session_embedding)
SELECT
c.session_id, (azure_openai.create_embeddings('text-embedding-ada-002', c.session_abstract))
FROM
conference_sessions as c
LEFT OUTER JOIN
conference_session_embeddings e ON e.session_id = c.session_id
WHERE
e.session_id IS NULL;
-- Create a DiskANN index
CREATE INDEX ON conference_session_embeddings USING diskann (session_embedding vector_cosine_ops);
-- Retrieve top similarity match
SELECT
c.*
FROM
conference_session_embeddings e
INNER JOIN
conference_sessions c ON c.session_id = e.session_id
ORDER BY
e.session_embedding <#> azure_openai.create_embeddings('text-embedding-ada-002', 'Session to learn about building chatbots')::vector
LIMIT 1;
Kapcsolódó tartalom
- Integrálja a rugalmas Azure Database for PostgreSQL-kiszolgálót az Azure Cognitive Services szolgáltatással.
- Vektorbeágyazások létrehozása rugalmas Azure Database for PostgreSQL-kiszolgálón helyileg üzembe helyezett LLM (előzetes verzió) használatával.
- Integrálja az Azure Database for PostgreSQL-t az Azure Machine Learning Services szolgáltatással.
- Azure AI-bővítmény az Azure Database for PostgreSQL rugalmas kiszolgálójában.
- Generatív AI az Azure Database for PostgreSQL rugalmas kiszolgálóval.
- Javaslati rendszer rugalmas Azure Database for PostgreSQL-kiszolgálóval és Azure OpenAI-val.
- Szemantikus keresés rugalmas Azure Database for PostgreSQL-kiszolgálóval és Azure OpenAI-val.
- A pgvector engedélyezése és használata a PostgreSQL rugalmas kiszolgálón az Azure Adatbázisban.