AI とベクターの統合
SQL Server 2025 では、データベース開発者が AI を利用した機能を T-SQL に直接統合できるようにする、新しい AI 関数とベクター関数のセットが導入されています。 これらの新機能により、SQL Server を離れることなく、埋め込みの生成、ベクターの類似性の計算、AI でエンリッチされたデータ全体の検索が可能になります。 このレベルの統合により、外部サービスの必要性が軽減され、アプリケーション アーキテクチャが簡素化され、リアルタイムのインテリジェント ワークロードがサポートされます。
AI 関数とベクター関数の概要
SQL Server 2025 の新しい AI 機能は、AI の生成、ベクター操作、ベクターインデックス作成と検索の 3 つの主要なカテゴリに分類されます。
AI 生成関数
- AI_GENERATE_CHUNKS – 大きなテキストまたはドキュメントをセマンティックコヒーレント チャンクに分割し、後で取得拡張生成 (RAG) シナリオ用に埋め込んだり格納したりできます。
- AI_GENERATE_EMBEDDINGS – SQL Server に登録されている外部モデルを使用して、テキスト入力から埋め込みを生成します。 これらの埋め込みは、ベクター検索、類似性分析、またはセマンティック ランク付けに使用するためにテーブルに格納できます。
ベクター演算
- VECTOR_DISTANCE – コサイン、ユークリッド、ドット積などの距離メトリックをサポートする 2 つのベクトル値間の距離を計算します。
- VECTOR_NORM – 指定されたベクトルのベクトル ノルム (大きさ) を返します。
- VECTOR_NORMALIZE – ベクターの正規化されたバージョンを返します。通常、比較または類似性検索の前に使用されます。
- VECTORPROPERTY – ベクターに関するメタデータ (ディメンションや要素の型など) を返します。
外部モデルとベクター インデックス
SQL Server 2025 では、T-SQL を使用して外部 AI モデルを登録および管理できます。
- CREATE EXTERNAL MODEL / ALTER EXTERNAL MODEL / DROP EXTERNAL MODEL – ローカルまたはサポートされているモデル プロバイダーを介してホストされている AI モデルを管理します。
-
CREATE VECTOR INDEX(プレビュー —
PREVIEW_FEATURES = ONが必要) – 近似類似性検索を高速化するためにベクター データ用に最適化されたインデックスを作成します。 -
VECTOR_SEARCH(プレビュー —
PREVIEW_FEATURES = ONが必要) – ベクター インデックスを使用してベクター データに対して近似類似度検索を実行し、選択した距離メトリックに基づいて最も近い一致を返します。
これらの機能により、SQL Server は、データベース エンジン内の検索拡張生成、レコメンデーション エンジン、セマンティック検索アプリケーションの基礎として機能します。
半精度ベクター ストレージとバイナリ取り込み
ベクターで 半精度浮動小数点 (fp16) 要素 (プレビュー - PREVIEW_FEATURES = ONが必要) を使用してメモリ使用量を減らし、埋め込み負荷の高いワークロードでのスキャン パフォーマンスを向上できるようになりました。
float16基本型は、ベクターあたり最大 3,996 次元をサポートします。
またはBULK INSERTを使用してバイナリ形式でOPENROWSET(BULK ...)することもできます。これにより、SQL Server の外部で作成された大規模な埋め込みセットのインポートが簡単になります。
シナリオ例: 製品レコメンデーション クエリの作成
製品の説明を SQL Server 2025 データベースに格納する小売企業で働いているとします。 マーケティング チームは、選択した項目と意味的に類似した製品を提案するレコメンデーション機能を構築したいと考えています。 新しい AI およびベクター機能を使用すると、製品の説明用の埋め込みを生成し、テーブルに格納し、外部処理なしで類似性検索を実行できます。
モデルの作成と登録
埋め込みを生成する前に、認証用のデータベース スコープ資格情報を作成してから、外部モデルを登録します。
-- Step 1: Create a database master key if one doesn't exist
IF NOT EXISTS (SELECT * FROM sys.symmetric_keys
WHERE [name] = '##MS_DatabaseMasterKey##')
CREATE MASTER KEY ENCRYPTION BY PASSWORD = N'<your-strong-password>';
GO
-- Step 2: Store the OpenAI API key as a database scoped credential
CREATE DATABASE SCOPED CREDENTIAL [https://api.openai.com/v1/embeddings]
WITH IDENTITY = 'HTTPEndpointHeaders',
SECRET = '{"Authorization":"Bearer <your-openai-api-key>"}';
GO
-- Step 3: Register the external model
CREATE EXTERNAL MODEL embedding_model
WITH (
LOCATION = 'https://api.openai.com/v1/embeddings',
API_FORMAT = 'OpenAI',
MODEL_TYPE = EMBEDDINGS,
MODEL = 'text-embedding-3-small',
CREDENTIAL = [https://api.openai.com/v1/embeddings]
);
GO
埋め込みの生成と格納
モデルが登録されたら、製品の説明の埋め込みを生成し、新しいテーブルに格納できます。
CREATE TABLE ProductEmbeddings
(
ProductID INT PRIMARY KEY,
Description NVARCHAR(MAX),
Embedding VECTOR(1536)
);
INSERT INTO ProductEmbeddings (ProductID, Description, Embedding)
SELECT ProductID,
Description,
AI_GENERATE_EMBEDDINGS(Description USE MODEL embedding_model)
FROM Products;
ベクター インデックスを作成して検索を実行する
CREATE VECTOR INDEXおよびVECTOR_SEARCHは、SQL Server 2025 RTM のプレビュー機能です。 使用する前に、データベースでプレビュー機能を有効にします。
-- Enable preview features (required for CREATE VECTOR INDEX and VECTOR_SEARCH)
ALTER DATABASE SCOPED CONFIGURATION SET PREVIEW_FEATURES = ON;
GO
CREATE VECTOR INDEX idx_ProductEmbedding
ON ProductEmbeddings (Embedding)
WITH (DISTANCE_METRIC = 'cosine');
これで、関連する製品のセマンティック検索を実行できるようになりました。
DECLARE @query NVARCHAR(MAX) = 'waterproof hiking backpack';
DECLARE @vector VECTOR(1536) = AI_GENERATE_EMBEDDINGS(@query USE MODEL embedding_model);
SELECT TOP 5 ProductID, Description,
VECTOR_DISTANCE('cosine', @vector, Embedding) AS SimilarityScore
FROM ProductEmbeddings
ORDER BY SimilarityScore ASC;
結果
| ProductID | Description | 類似度スコア |
|---|---|---|
| 105 | 「軽量防水トラベルバックパック」 | 0.07 |
| 116 | 「雨カバーとハイドレーションスロット付きハイキングパック」 | 0.10 |
| 117 | 「防水性を備えたコンパクトなアウトドアデイパック」 | 0.12 |
| 101 | "外部ストラップ付きトレイル対応バックパック" | 0.15 |
| 119 | 「旅行とキャンプ防水ダッフル」 | 0.18 |
この例では、外部 AI モデルを統合し、T-SQL 内に直接埋め込みを生成し、組み込みのベクター関数を使用して類似性検索を実行する方法を示します。 すべてが SQL Server 内で実行されるため、開発が簡略化され、インテリジェントなワークロードを既存のデータベース ポリシーの下でセキュリティで保護および管理できます。
概要
SQL Server 2025 には、開発者が T-SQL でインテリジェントなデータベース アプリケーションを直接構築できるネイティブ AI 機能が導入されています。
AI_GENERATE_EMBEDDINGS、VECTOR_DISTANCE、VECTOR_SEARCHなどの機能は、パフォーマンスとセキュリティを維持しながら、AI モデルとの統合を合理化します。 これらの機能を組み合わせることで、SQL Server 2025 は、外部のコンピューティング パイプラインに依存することなく、セマンティック検索、推奨事項、コンテキスト対応分析のための強力なプラットフォームになります。