SqlServerQueryableExtensions.VectorSearch<T,TVector> Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.