您好:这款游戏是可以开挂的,软件加微信【添加图中微信】确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人...
2025-09-10 0
Semantic Kernel 提供了向量存储(Vector Store)抽象层中的向量搜索功能,支持多种选项如过滤、分页等。本文将详细介绍其用法。
SearchAsync
方法允许基于已向量化的数据进行搜索。该方法接收一个向量和可选的VectorSearchOptions
作为输入,适用于以下类型:
IVectorSearchable
VectorStoreCollection
注意:VectorStoreCollection
实现了IVectorSearchable
。
如下是VectorStoreCollection类的定义:
public abstract class VectorStoreCollectionTKey, TRecord> : IVectorSearchableTRecord>, IDisposable
where TKey : notnull
where TRecord : class
{
.....
}
SearchAsync
的向量参数为泛型类型。每个数据存储支持的向量类型不同,请参阅各连接器文档。
⚠️ 搜索向量类型必须与目标向量类型一致。例如,同一条记录中有两个不同类型的向量,需确保提供的搜索向量与目标向量类型匹配。若有多个向量,可通过 VectorProperty
指定目标。
通过 VectorSearchOptions
可配置以下选项:
指定要搜索的向量属性。如果未指定且模型仅包含一个向量,则使用该向量。若没有或有多个向量而未指定,则会抛出异常。
public async IAsyncEnumerabledouble? Score)> SearchByTextAsync(
string query, int topK = 5, CancellationToken ct = default)
{
var queryVector = await _emb.CreateAsync(query, ct);
var col = GetCollection;
var options = new VectorSearchOptions
{
//Filter = h => h.HotelName == "Tokyo",
VectorProperty = h => h.DescriptionEmbedding,
Skip = 0,
IncludeVectors = false
};
awaitforeach (var r in col.SearchAsync(queryVector, topK, options, ct))
{
yield return (r.Record, r.Score);
}
}
用于分页。
var vectorSearchOptions = new VectorSearchOptions
{
Skip = 40
};
var searchResult = collection.SearchAsync(searchVector, top: 20, vectorSearchOptions);
指定是否返回结果中的向量属性。
false
(节省带宽与处理成本)true
,则返回完整向量数据var vectorSearchOptions = new VectorSearchOptions
{
IncludeVectors = true
};
用于在向量搜索前先对记录进行过滤。
好处:
⚠️ 很多存储需要字段设置为 IsIndexed = true
才能参与过滤。
public async IAsyncEnumerabledouble? Score)> SearchByTextAsync(
string query, int topK = 5, CancellationToken ct = default)
{
var queryVector = await _emb.CreateAsync(query, ct);
var col = GetCollection;
var options = new VectorSearchOptions
{
Filter = h => h.HotelName == "Tokyo",
VectorProperty = h => h.DescriptionEmbedding,
Skip = 0,
IncludeVectors = false
};
awaitforeach (var r in col.SearchAsync(queryVector, topK, options, ct))
{
yield return (r.Record, r.Score);
}
}
Semantic Kernel 的 Vector Store 连接器提供了强大的向量搜索功能:
这些功能让你能够在不同存储(如 InMemory、Qdrant 等)上轻松实现向量化搜索和检索。
相关文章
您好:这款游戏是可以开挂的,软件加微信【添加图中微信】确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人...
2025-09-10 0
亲,这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到-人的牌一样。所以很多小伙伴就怀疑这...
2025-09-10 0
亲,这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到-人的牌一样。所以很多小伙伴就怀疑这...
2025-09-10 0
现在人们打棋牌麻将谁不想赢?手机微乐麻将必赢神器但是手机棋牌麻将是这么好赢的吗?在手机上打棋牌麻将想赢,不仅需要运气,也需要技巧。掌握的棋牌麻将技巧就...
2025-09-10 0
亲,这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到-人的牌一样。所以很多小伙伴就怀疑这...
2025-09-10 0
发表评论