セマンティック演算子を調べる
azure_ai拡張機能には、生成 AI モデルを SQL で直接操作できるセマンティック演算子の小さなセットが含まれています。 これらの演算子は、テキストの生成、ステートメントの評価、構造化された情報の抽出、およびドキュメントのランク付けを行うのに役立ちます。 各演算子は、 azure_ai.settings テーブルで構成したモデルを呼び出します。
セマンティック演算子は次のとおりです。
-
azure_ai.generate– テキストを生成し、スキーマが指定されたときに構造化された JSON を返すことができます。 -
azure_ai.is_true– ステートメントを評価し、それが true になる可能性があるかどうかを返します。 -
azure_ai.extract– 非構造化テキストから特定のフィールドまたは値をプルします。 -
azure_ai.rank– 特定のクエリの関連度ランク付けされたドキュメントの一覧を返します。
generate 演算子
azure_ai.generate は、プロンプトをモデルに送信し、生成されたテキストを返します。 JSON スキーマを指定すると、モデルはそのスキーマに準拠する構造化データを返そうとします。 このメソッドは、出力が後続の SQL ロジックで使用される必要がある場合に便利です。
例:
SELECT azure_ai.generate(
prompt => 'Summarize the following review: ' || review_text
)
FROM product_reviews;
スキーマが指定されている場合、結果は jsonbとして返されます。
is_true 演算子
azure_ai.is_true はステートメントを評価し、モデルが回答を判断できない場合は true、 false、または NULL を返します。 この演算子は、テキストの一部が条件を満たすか、特定の概念を参照しているかを確認する必要がある場合に役立ちます。
例:
SELECT azure_ai.is_true(
'This review describes the product as durable: ' || review_text
) AS durability_claim
FROM product_reviews;
extract 演算子
azure_ai.extract は、ドキュメント内の特定のフィールドを識別します。 ラベルの配列を指定すると、モデルは抽出された値を含む jsonb オブジェクトを返します。 この演算子は、長いテキストから構造化された詳細をプルするのに適しています。
例:
SELECT azure_ai.extract(
'The headphones have clear sound but the battery life is short.',
ARRAY['sound_quality', 'battery_life']
);
結果は、要求されたフィールドを含む JSON ドキュメントです。
rank 演算子
azure_ai.rank は、クエリに関連して並べ替えられたドキュメントを返します。 クエリ テキストとドキュメントの配列を指定します。 この演算子は、各ドキュメント、そのランク、スコアを含む行セットを返します。 この行セットは、モデルがユーザーの検索に最も関連する項目を判断するのに役立ちます。
例:
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.'
]
);
演算子は、ランク付け情報を含むドキュメントごとに 1 行を返します。
コンフィギュレーション
すべてのセマンティック演算子は、 azure_ai.settingsに格納されているモデル構成に依存します。 演算子を呼び出す前に、使用するモデルのエンドポイントとキーを必ず設定してください。
例:
SELECT azure_ai.set_setting('azure_openai.endpoint', '{endpoint}');
SELECT azure_ai.set_setting('azure_openai.api_key', '{api_key}');
設定が完了すると、セマンティック演算子を標準の SQL クエリ、ビュー、またはストアド プロシージャで使用できます。
学んだこと
azure_ai拡張機能のセマンティック演算子は、生成 AI を SQL ワークフローに直接統合するための強力な機能を提供します。 これらの演算子を使用すると、PostgreSQL データベースの使い慣れたコンテキスト内で、テキスト生成、真実評価、情報抽出、ドキュメントのランク付けを使用してアプリケーションを強化できます。