RerankClient#

概述#

RerankClient 提供了统一的Reranker基础接口,对齐该接口可实现自定义的Rerank方案。提供了FlagRerank的实现供用户调用和参考

特性#

  • 统一接口: 所有客户端继承自 RerankClientBase,提供一致的调用方式。

  • 本地模式: 支持使用 FlagRerankModel 对接本地部署的Rerank模型

基本使用#

import asyncio
from evofabric.core.clients import FlagRerankModel

# FlagRerankModel
rerank_model = FlagRerankModel(
    model="your-model",
    top_n=1,
    devices="cpu"
)

asyncio.run(rerank_model.rank(query="The tallest mountain in the world", texts=["The tallest mountain in the world is Mount Everest", "The deepest ocean is the Mariana Trench"]))

在 RetrievalMem 中使用#

from evofabric.core.clients import OpenAIEmbedClient, FlagRerankModel
from evofabric.core.vectorstore import ChromaDB

embed_client = OpenAIEmbedClient(
    api_key="your-api-key",
    base_url="your-base-url",
    model="qwen3_0.6B:latest",
)

# Embed_client acts as the component for the vectorstore, invoked implicitly
vectorstore = ChromaDB(
    collection_name="demo_collection",
    persist_directory="./demo_collection",
    embedding=embed_client,
)

# Example of using FlagRerankModel
rerank_model = FlagRerankModel(
    model="your-model",
    top_n=1,
    devices="cpu"
)

retrieval_mem = RetrievalMem(
    vectorstore=vectorstore,
    reranker=rerank_model,
    use_rerank=True
)