Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Vyvolejte vkládání Azure OpenAI snadno, abyste získali vektorové znázornění vstupu, které je možné použít při vyhledávání vektorové podobnosti a spotřebovávaných modely strojového učení.
Požadavky
-
Povolte a nakonfigurujte
azure_airozšíření. - Vytvořte účet OpenAI a požádejte o přístup ke službě Azure OpenAI.
- V požadovaném předplatném udělte přístup k Azure OpenAI.
- Udělte oprávnění k vytváření prostředků Azure OpenAI a nasazení modelů.
- Vytvořte a nasaďte prostředek služby Azure OpenAI a model, například nasaďte vložení modelu text-embedding-ada-002. Zkopírujte název nasazení, protože je potřeba k vytvoření vkládání.
Konfigurace koncového bodu OpenAI a klíče
V prostředku Azure OpenAI v části Klíče správy>prostředků a koncové body najdete koncový bod a klíče pro prostředek Azure OpenAI. Pokud chcete vyvolat nasazení modelu, povolte azure_ai rozšíření pomocí koncového bodu a jednoho z klíčů.
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
Vyvolá rozhraní API Azure OpenAI, které vytvoří vkládání pomocí zadaného nasazení přes daný vstup.
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)
Argumenty
deployment_name
text název nasazení v nástroji Azure OpenAI Studio, který tento model obsahuje.
input
text nebo text[] jeden text nebo pole textu v závislosti na přetížení použité funkce, pro kterou se vytvářejí vkládání.
dimensions
integer DEFAULT NULL Početdimenzích Podporuje se pouze v modelech pro vkládání textu 3 a novějších. Dostupné ve verzích 1.1.0 a novějších rozšířeních azure_ai
batch_size
integer DEFAULT 100 počet záznamů, které se mají zpracovat najednou (k dispozici pouze pro přetížení funkce, pro kterou je parametr input typu text[]).
timeout_ms
integer DEFAULT 3600000 časový limit v milisekundách, po kterém je operace zastavena.
throw_on_error
boolean DEFAULT true při chybě by funkce vyvolala výjimku, která vede k vrácení zpět obtékání transakcí.
max_attempts
integer DEFAULT 1 kolikrát rozšíření opakuje vytváření vkládání Azure OpenAI, pokud selže s jakoukoli chybou opakovatelnou.
retry_delay_ms
integer DEFAULT 1000 doba (milisekundy), po kterou rozšíření čeká před opětovným voláním koncového bodu Azure OpenAI pro vytvoření vložení, když selže s jakoukoli chybou opakovatelnou.
Návratový typ
real[] nebo TABLE(embedding real[]) jeden prvek nebo jednosloupcovou tabulku v závislosti na přetížení použité funkce s vektorovou reprezentací vstupního textu při zpracování vybraným nasazením.
Použití OpenAI k vytvoření vložených objektů a jejich uložení do datového typu vektoru
-- 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;
Související obsah
- Integrovat Azure Database for PostgreSQL se službou Azure Cognitive Services
- Generování umělé inteligence se službou Azure Database for PostgreSQL
- Integrace Azure Database for PostgreSQL se službami Azure Machine Learning Services
- Rozšíření Azure AI ve službě Azure Database for PostgreSQL
- Generování umělé inteligence se službou Azure Database for PostgreSQL
- Systém doporučení se službou Azure Database for PostgreSQL a Azure OpenAI
- Vytvořte sémantické vyhledávání pomocí Azure Database for PostgreSQL a Azure OpenAI.
- Povolte a používejte nástroj pgvector ve službě Azure Database for PostgreSQL.