接口说明
KScaNN不提供对外接口,基于开源ScaNN算法做侵入式修改,对开源接口有新增。为获得最优性能,KScaNN接口内部不做完整入参校验,入参合法性由调用方业务来保证。KScaNN侵入式修改后的ScaNN所提供的Python接口如表1所示。
接口名称 |
接口作用 |
---|---|
set_num_threads |
配置搜索时启用线程数(相比开源算法新增接口)。 |
search_additional_params |
用于拓展ScaNN检索功能,提供额外的检索参数配置接口(相比开源算法新增的接口)。 |
search |
单query搜索接口,单线程执行(与开源算法接口保持一致)。 |
search_batched |
批量query搜索接口,单线程执行(与开源算法接口保持一致)。 |
search_batched_parallel |
并行批量query搜索接口,多线程并发执行(与开源算法接口保持一致)。 |
builder |
用于开始构建(与开源算法接口保持一致)。 |
tree |
添加IVF分区的相关参数(与开源算法接口保持一致)。 |
score_ah |
添加PQ分区量化的相关参数(与开源算法接口保持一致)。 |
reorder |
添加重排的相关参数(与开源算法接口保持一致)。 |
build |
用于构建索引(与开源算法接口保持一致)。 |
serialize_to_mem |
将构建好的索引储存在数组中(相比开源算法接口新增接口)。 |
deserialize_from_mem |
给定存储序列化内容的数组,还原一个检索器的索引实例(相比开源算法接口新增接口)。 |
get_num |
获取底库向量的数量(相比开源算法接口新增接口)。 |
get_dim |
获取底库向量的维度(相比开源算法接口新增接口)。 |
父主题: Python接口