
这真是一个绝妙的主意,它解决了基于嵌入的搜索的主要问题:糟糕的用户输入。
而且它只需要对我们现有的设置进行最小的更改,因为你只需要添加一个“丰富”搜索查询的小步骤 ![]()
关于这个话题,我们还可以做一些事情,那就是进行混合搜索:
- 使用现有的 PG 全文搜索进行搜索
- 使用嵌入进行搜索
- 收集两者中最好的 50 个结果
- 传递给搜索重新排序服务
- 显示重新排序后的结果
我们已经在现有的嵌入 API 中提供了一个功能强大的重新排序器,它位于一个单独的端点下,具备了发生这一切所需的所有必要组件。
示例在此:
https://github.com/pgvector/pgvector-python/blob/master/examples/hybrid_search.py#L67-L70