Langue

SqlServerQueryableExtensions.VectorSearch<T,TVector> Méthode

Définition

Recherchez des vecteurs similaires à un vecteur de requête donné à l’aide de la fonction SQL ServerVECTOR_SEARCH().

[System.Diagnostics.CodeAnalysis.Experimental("EF9105")]
public static System.Linq.IQueryable<Microsoft.EntityFrameworkCore.VectorSearchResult<T>> VectorSearch<T,TVector>(this Microsoft.EntityFrameworkCore.DbSet<T> source, System.Linq.Expressions.Expression<Func<T,TVector>> vectorPropertySelector, TVector similarTo, string metric) where T : class where TVector : struct;
[<System.Diagnostics.CodeAnalysis.Experimental("EF9105")>]
static member VectorSearch : Microsoft.EntityFrameworkCore.DbSet<'T (requires 'T : null)> * System.Linq.Expressions.Expression<Func<'T, 'Vector>> * 'Vector * string -> System.Linq.IQueryable<Microsoft.EntityFrameworkCore.VectorSearchResult<'T>> (requires 'T : null and 'Vector : struct)
<Extension()>
Public Function VectorSearch(Of T As Class, TVector As Class) (source As DbSet(Of T), vectorPropertySelector As Expression(Of Func(Of T, TVector)), similarTo As TVector, metric As String) As IQueryable(Of VectorSearchResult(Of T))

Paramètres de type

T
TVector

Paramètres

source
DbSet<T>

DbSet<TEntity> Représentant la table contenant la colonne vectorielle à interroger.

vectorPropertySelector
Expression<Func<T,TVector>>

Sélecteur pour la propriété vector sur l’entité.

similarTo
TVector

Vecteur utilisé pour la recherche, un paramètre ou une autre colonne vectorielle.

metric
String

Métrique de distance utilisée pour calculer la distance entre le vecteur de requête et les vecteurs de la colonne spécifiée. Un index ANN (Voisin le plus proche approximatif) est utilisé uniquement si un index ANN correspondant, avec la même métrique et sur la même colonne, est trouvé. S’il n’existe aucun index ANN compatible, un avertissement est déclenché et l’algorithme KNN (k-Nearest Neighbor) est utilisé.

Retours

Attributs

Remarques

Utilisez WithApproximate<T>(IQueryable<T>) après Take(...) pour activer une recherche approximative du voisin le plus proche (ANN), qui utilise l’index vectoriel pour de meilleures performances. Sans WithApproximate, une recherche exacte k-nearest voisin (kNN) est effectuée. Ajoutez un élément explicite OrderBy pour contrôler l’ordre des résultats.

S’applique à