Skip to content

混合召回、查询增强与重排:练习答案 ​

参考实现 ​

复用正文函数:

python
result = rrf([['a','b'], ['b','c'], ['c','a']])
assert result == ['a','b','c']

每个文档都获得一次第一名与一次第二名,分数相等。固定ID顺序使回归和缓存稳定,但真实产品若采用时间或权威性作为平局规则,要明确写入检索配置并纳入评估。

返回题目。

链路变体 ​

在client.close()前执行以下片段,随后重载检查:

python
client.delete('docs',models.FilterSelector(filter=only_a))
client.close()
client=QdrantClient(path=folder)
assert client.query_points('docs',query=q[0].tolist(),query_filter=only_a,limit=10).points==[]
assert len(client.retrieve('docs',[3]))==1

该片段要替换原关闭重载区段并保持在TemporaryDirectory作用域内;离开该作用域后目录会被清理。改写query后仍按同一embedding模型编码,不能用查询向量缓存混入旧问题。

用心记录每一步成长