📦 Microsoft.Extensions.VectorData.Abstractions パッケージは、.NET のベクター ストアと対話するための抽象化の統一されたレイヤーを提供します。 これらの抽象化を使用すると、1 つの API に対して単純で高度なコードを記述し、アプリケーションに対する最小限の変更で基になるベクター ストアをスワップアウトできます。
ライブラリには、次の主要な機能が用意されています。
- Seamless .NET型マッピング: オブジェクト/リレーショナル マッパーと同様に、.NET型をデータベースに直接マップします。
- 統合データ モデル: .NET 属性を使用してデータ モデルを 1 回定義し、サポートされているベクター ストア全体で使用します。
- CRUD 操作: ベクター ストア内のレコードを作成、読み取り、更新、および削除します。
- ベクター検索とハイブリッド検索: ベクター検索を使用してセマンティック類似性でレコードを照会するか、ベクター検索とテキスト検索を組み合わせてハイブリッド検索を行います。
- 埋め込み生成管理: 埋め込みジェネレーターを 1 回構成し、ライブラリで生成を透過的に処理できるようにします。
- コレクション管理: ベクター ストア内のコレクション (テーブルまたはインデックス) を作成、一覧表示、および削除します。
Microsoft.Extensions.VectorData は、ベクター データベースと対話する必要がある追加のより高水準のレイヤー(たとえば、Microsoft.Extensions.DataIngestion ライブラリ)の構成要素でもあります。
Microsoft.Extensions.VectorData と Entity Framework Core
既に Entity Framework Core を使用してデータベースにアクセスしている場合は、データベース プロバイダーがベクター検索を既にサポートしており、LINQ クエリを使用してそのような検索を表現できる可能性があります。 このようなアプリケーションでは、Microsoft。Extensions.VectorData は必ずしも必要ではありません。 ただし、ほとんどの専用ベクター データベースは EF Core ではサポートされておらず、Microsoft。Extensions.VectorData は、それらを操作するための優れたエクスペリエンスを提供できます。 さらに、たとえば Microsoft.Extensions.DataIngestion のような追加レイヤーを使用する場合には、同じアプリケーションで EF と Microsoft.Extensions.VectorData の両方を使用することもあります。
こちらも参照ください
.NET