Zerank-1
扫码查看

提升搜索结果精度的AI重排序工具

Zerank-1

综合介绍

ZeroEntropy的Zerank-1是一个高性能的AI重排序工具,旨在提升搜索结果的精度。它通过跨编码器技术优化初始搜索结果,尤其适用于RAG(检索增强生成)和AI代理系统。Zerank-1分为两个版本:4B参数的Zerank-1(非商业许可)和1.7B参数的Zerank-1-small(Apache 2.0开源许可)。前者适合企业级应用,后者为开源社区提供高效解决方案。Zerank-1在多项基准测试中超越了其他重排序模型,甚至优于更大的模型如Gemini Flash 2.5。它通过API和Hugging Face模型中心提供,易于集成到现有搜索系统中。

功能列表

  • 提升搜索精度:优化初始检索结果,显著提高NDCG@10得分,确保更相关的文档排名靠前。
  • 支持跨编码器:使用跨编码器模型处理查询和文档对,生成精准的排名分数。
  • 提供开源和非商业版本:Zerank-1-small为开源,Zerank-1需联系获取商业许可。
  • 兼容多种初始检索方法:支持BM25、OpenAI的text-embedding-small及混合检索方式。
  • API集成:通过ZeroEntropy的API端点/models/rerank快速调用重排序功能。
  • 高效性能:Zerank-1-small虽小,但性能接近4B参数模型,适合资源受限场景。

使用帮助

安装与设置

Zerank-1和Zerank-1-small无需复杂安装,直接通过Hugging Face模型中心或ZeroEntropy的API使用。以下是两种主要使用方式的详细步骤:

通过Hugging Face模型中心使用

  1. 安装依赖:确保Python环境已安装sentence_transformers库。运行以下命令:
    pip install sentence-transformers
    

  1. 加载模型:使用Python加载Zerank-1或Zerank-1-small模型。示例代码如下:
    from sentence_transformers import CrossEncoder
    model = CrossEncoder("zeroentropy/zerank-1-small", trust_remote_code=True)
    
    • 说明:trust_remote_code=True允许加载Hugging Face上的远程代码。Zerank-1-small为开源模型,直接可用;Zerank-1需确认许可。
  2. 输入查询和文档:准备查询和文档对,格式为列表,包含元组(查询,文档)。例如:
    query_documents = [
    ("What is 2+2?", "4"),
    ("What is 2+2?", "The answer is definitely 1 million")
    ]
    
  3. 运行重排序:调用模型的predict方法,获取每个文档的排名分数:
    scores = model.predict(query_documents)
    print(scores)
    
    • 输出示例:[0.99, 0.01],表示第一个文档更相关。
  4. 解读结果:分数越高,文档与查询的相关性越强。开发者可根据分数对文档重新排序。

通过ZeroEntropy API使用

  1. 注册API:访问ZeroEntropy官网(https://www.zeroentropy.dev),联系founders@zeroentropy.dev获取API密钥(Zerank-1需要商业许可)。
  2. 调用API:使用API端点/models/rerank发送查询和文档数据。示例请求(以Python为例):
    import requests
    url = "https://api.zeroentropy.dev/models/rerank"
    headers = {"Authorization": "Bearer YOUR_API_KEY"}
    data = {
    "query_documents": [
    {"query": "What is 2+2?", "document": "4"},
    {"query": "What is 2+2?", "document": "The answer is definitely 1 million"}
    ]
    }
    response = requests.post(url, json=data, headers=headers)
    print(response.json())
    
  3. 处理响应:API返回的分数用于重新排序文档,优化搜索结果。

主要功能操作

提升搜索精度

Zerank-1通过跨编码器模型分析查询和文档的语义相关性,生成精确的排名分数。它在NDCG@10(归一化折损累积增益)指标上表现优异,特别适合需要高精度检索的场景。例如,结合OpenAI的text-embedding-small作为初始检索器,Zerank-1能显著提高前10个结果的相关性,NDCG@10得分在50-85之间,远超传统向量搜索。

兼容多种检索方法

Zerank-1支持多种初始检索方法,包括:

  • BM25:基于关键词的传统检索方法。
  • 向量搜索:如OpenAI的text-embedding-small
  • 混合检索:使用倒数排名融合(Reciprocal Rank Fusion)结合BM25和向量搜索。开发者可根据需求选择初始检索器,Zerank-1在后续重排序中均能提升精度。

开源与商业版本

  • Zerank-1-small:1.7B参数,Apache 2.0许可,完全开源,适合个人开发者或研究者。模型体积小,推理速度快,适合资源受限的设备。
  • Zerank-1:4B参数,非商业许可,需联系ZeroEntropy获取商业许可,适合企业级应用。

特色功能操作

ELO排名训练

Zerank-1采用创新的ELO排名训练方法,将合成配对判断转化为排名模型。这是首个可扩展的ELO排名训练管道,提升了模型在复杂搜索任务中的表现。开发者无需了解底层训练细节,只需通过API或Hugging Face调用即可享受高精度排名。

跨域适用性

Zerank-1在多个领域(如学术搜索、电商搜索、问答系统)均表现出色。通过API测试,Zerank-1在私有数据上的表现优于其他闭源重排序器,适合多样化的搜索场景。

注意事项

  • 许可要求:Zerank-1-small为开源,Zerank-1需商业许可,开发者需确认使用场景。
  • 资源需求:Zerank-1-small适合轻量级部署,4B参数的Zerank-1需要更高算力。
  • API费用:API调用按每百万token 0.025美元计费,具体费用需参考ZeroEntropy官网。

应用场景

  1. 学术研究搜索研究人员使用Zerank-1优化学术论文检索。初始检索可能返回数百篇论文,Zerank-1通过重排序确保最相关的论文排在前列,节省筛选时间。
  2. 电商平台产品推荐电商网站利用Zerank-1改进产品搜索结果。例如,用户搜索“无线耳机”,Zerank-1可将最匹配用户需求的产品(如高评分、低价格)优先展示。
  3. AI代理问答系统在RAG系统中,Zerank-1提升知识库查询精度,确保AI代理返回的答案更准确,适合客服或智能助手应用。
  4. 企业内部文档检索企业使用Zerank-1优化内部知识库搜索,帮助员工快速找到相关文档,提高工作效率。

QA

  1. Zerank-1和Zerank-1-small有什么区别?Zerank-1是4B参数模型,性能更强但需商业许可;Zerank-1-small是1.7B参数模型,开源且体积小,适合轻量级应用。两者精度相近,但Zerank-1在复杂任务中稍优。
  2. 如何选择初始检索器?可根据需求选择BM25(关键词检索)、向量搜索(如OpenAI的text-embedding-small)或混合检索。Zerank-1对所有检索器均能提升精度,混合检索效果最佳。
  3. Zerank-1的API费用是多少?每百万token 0.025美元,具体费用请参考ZeroEntropy官网。
  4. 是否需要GPU运行Zerank-1-small?Zerank-1-small因体积小,可在普通CPU上运行,但GPU可加速推理。Zerank-1建议使用GPU以获得最佳性能。
微信微博Email复制链接