Eksplorowanie operatorów semantycznych
Rozszerzenie azure_ai zawiera niewielki zestaw operatorów semantycznych, które umożliwiają pracę z modelami generacyjnymi sztucznej inteligencji bezpośrednio w języku SQL. Te operatory pomagają generować tekst, oceniać instrukcje, wyodrębniać informacje ustrukturyzowane i klasyfikować dokumenty. Każdy operator wywołuje model skonfigurowany w azure_ai.settings tabeli.
Operatory semantyczne to:
-
azure_ai.generate— generuje tekst i może zwracać ustrukturyzowany kod JSON po podaniu schematu. -
azure_ai.is_true— ocenia wyrażenie i zwraca, czy jest prawdziwe. -
azure_ai.extract— ściąga określone pola lub wartości z tekstu bez struktury. -
azure_ai.rank— zwraca listę dokumentów sklasyfikowanych według istotności dla danego zapytania.
Operator generate
azure_ai.generate Wysyła monit do modelu i zwraca wygenerowany tekst. Jeśli podasz schemat JSON, model próbuje zwrócić dane ustrukturyzowane zgodne z tym schematem. Ta metoda jest przydatna, gdy potrzebne są dane wyjściowe używane przez kolejną logikę SQL.
Przykład:
SELECT azure_ai.generate(
prompt => 'Summarize the following review: ' || review_text
)
FROM product_reviews;
Jeśli zostanie podany schemat, wynik zostanie zwrócony jako jsonb.
Operator is_true
azure_ai.is_true oblicza instrukcję i zwraca wartość true, falselub NULL jeśli model nie może określić odpowiedzi. Ten operator jest przydatny, gdy trzeba sprawdzić, czy fragment tekstu spełnia warunek, czy odnosi się do określonej koncepcji.
Przykład:
SELECT azure_ai.is_true(
'This review describes the product as durable: ' || review_text
) AS durability_claim
FROM product_reviews;
Operator extract
azure_ai.extract identyfikuje określone pola wewnątrz dokumentu. Należy określić tablicę etykiet, a model zwraca jsonb obiekt zawierający wyodrębnione wartości. Ten operator jest dobrze odpowiedni do ściągania ustrukturyzowanych szczegółów z dłuższego tekstu.
Przykład:
SELECT azure_ai.extract(
'The headphones have clear sound but the battery life is short.',
ARRAY['sound_quality', 'battery_life']
);
Wynikiem jest dokument JSON zawierający żądane pola.
Operator rank
azure_ai.rank Zwraca dokumenty uporządkowane według istotności zapytania. Podaj tekst zapytania i zbiór dokumentów. Operator zwraca zestaw wierszy zawierający każdy dokument, jego rangę i wynik. Ten zestaw wierszy jest przydatny, gdy chcesz, aby model pomógł określić, które elementy są najbardziej istotne dla wyszukiwania użytkownika.
Przykład:
SELECT *
FROM azure_ai.rank(
'Lightweight travel headphones',
ARRAY[
'These foldable headphones are easy to pack.',
'Battery life is average.',
'Sound quality is very detailed.'
]
);
Operator zwraca jeden wiersz na dokument z informacjami o klasyfikacji.
Konfiguracja
Wszystkie operatory semantyczne korzystają z konfiguracji modelu przechowywanej w azure_ai.settingsprogramie . Przed wezwaniem operatorów upewnij się, że ustawiłeś punkt końcowy i klucz dla modelu, którego zamierzasz użyć.
Przykład:
SELECT azure_ai.set_setting('azure_openai.endpoint', '{endpoint}');
SELECT azure_ai.set_setting('azure_openai.api_key', '{api_key}');
Po wprowadzeniu ustawień operatory semantyczne mogą być używane w standardowych zapytaniach SQL, widokach lub procedurach składowanych.
Takeaways
Operatory semantyczne w azure_ai rozszerzeniu zapewniają zaawansowane możliwości integracji generowania sztucznej inteligencji bezpośrednio z przepływami pracy SQL. Korzystając z tych operatorów, możesz ulepszyć aplikacje za pomocą generowania tekstu, oceny prawdy, wyodrębniania informacji i klasyfikowania dokumentów w znanym kontekście bazy danych PostgreSQL.