Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Łatwo wywołaj osadzanie usługi Azure OpenAI, aby uzyskać wektorową reprezentację danych wejściowych, która może być używana w wyszukiwaniach podobieństwa wektorowego i używanych przez modele uczenia maszynowego.
Wymagania wstępne
-
Włącz i skonfiguruj
azure_airozszerzenie. - Utwórz konto openAI i zażądaj dostępu do usługi Azure OpenAI Service.
- Udziel dostępu do usługi Azure OpenAI w żądanej subskrypcji.
- Udzielanie uprawnień do tworzenia zasobów usługi Azure OpenAI i wdrażania modeli.
- Utwórz i wdróż zasób usługi Azure OpenAI oraz model, na przykład wdróż model osadzania modelu text-embedding-ada-002. Skopiuj nazwę wdrożenia, ponieważ jest ona potrzebna do utworzenia osadzonych.
Konfigurowanie punktu końcowego i klucza interfejsu OpenAI
W zasobie Azure OpenAI w obszarze Klucze zarządzania>zasobami i punkty końcowe można znaleźć punkt końcowy i klucze dla zasobu usługi Azure OpenAI. Aby wywołać wdrożenie modelu, włącz azure_ai rozszerzenie przy użyciu punktu końcowego i jednego z kluczy.
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
Wywołuje interfejs API usługi Azure OpenAI, aby utworzyć osadzanie przy użyciu podanego wdrożenia w danym danych wejściowych.
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 nazwa wdrożenia w narzędziu Azure OpenAI Studio, który zawiera model.
input
text lub text[] pojedynczy tekst lub tablica tekstów, w zależności od przeciążenia używanej funkcji, dla której są tworzone osadzanie.
dimensions
integer DEFAULT NULL Liczba wymiarów, które powinny mieć wynikowe osadzanie danych wyjściowych. Obsługiwane tylko w modelach osadzania tekstu-3 i nowszych. Dostępne w wersjach 1.1.0 i nowszych rozszerzenia azure_ai
batch_size
integer DEFAULT 100 liczba rekordów do przetworzenia w danym momencie (dostępna tylko dla przeciążenia funkcji, dla której parametr input jest typu text[]).
timeout_ms
integer DEFAULT 3600000 limit czasu w milisekundach, po którym operacja jest zatrzymana.
throw_on_error
boolean DEFAULT true w przypadku błędu funkcja powinna zgłosić wyjątek powodujący wycofanie transakcji zawijania.
max_attempts
integer DEFAULT 1 ile razy rozszerzenie ponawia próbę utworzenia osadzania usługi Azure OpenAI, jeśli wystąpi błąd ponawiania próby.
retry_delay_ms
integer DEFAULT 1000 czas (w milisekundach) oczekiwania rozszerzenia przed ponownym wywołaniem punktu końcowego usługi Azure OpenAI na potrzeby tworzenia osadzania, gdy zakończy się niepowodzeniem z powodu błędu z możliwością ponowienia próby.
Typ zwracany
real[] lub pojedynczy element lub TABLE(embedding real[]) jednokolumna tabela, w zależności od przeciążenia używanej funkcji z reprezentacjami wektorowymi tekstu wejściowego, podczas przetwarzania przez wybrane wdrożenie.
Używanie interfejsu OpenAI do tworzenia osadzania i przechowywania ich w typie danych wektorowych
-- 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;
Powiązana zawartość
- Integracja usługi Azure Database for PostgreSQL z usługami Azure Cognitive Services.
- Generowanie sztucznej inteligencji za pomocą usługi Azure Database for PostgreSQL.
- Integracja usługi Azure Database for PostgreSQL z usługami Azure Machine Learning Services.
- Rozszerzenie azure AI w usłudze Azure Database for PostgreSQL.
- Generowanie sztucznej inteligencji za pomocą usługi Azure Database for PostgreSQL.
- System rekomendacji z usługami Azure Database for PostgreSQL i Azure OpenAI.
- Tworzenie wyszukiwania semantycznego za pomocą usług Azure Database for PostgreSQL i Azure OpenAI.
- Włączanie i używanie narzędzia pgvector w usłudze Azure Database for PostgreSQL.