Skip to content

Latest commit

 

History

History
85 lines (54 loc) · 7.54 KB

File metadata and controls

85 lines (54 loc) · 7.54 KB
graph LR
    Reranker_Core_Interface["Reranker Core Interface"]
    API_Reranker_Clients["API Reranker Clients"]
    LLM_Based_Reranker_Strategies["LLM-Based Reranker Strategies"]
    Transformer_Based_Reranker_Strategies["Transformer-Based Reranker Strategies"]
    Utility_Services["Utility Services"]
    Reranker_Core_Interface -- "Delegates API-based ranking requests" --> API_Reranker_Clients
    Reranker_Core_Interface -- "Delegates LLM-based ranking requests" --> LLM_Based_Reranker_Strategies
    Reranker_Core_Interface -- "Delegates Transformer-based ranking requests" --> Transformer_Based_Reranker_Strategies
    API_Reranker_Clients -- "Utilizes common helper functions" --> Utility_Services
    LLM_Based_Reranker_Strategies -- "Utilizes common helper functions" --> Utility_Services
    Transformer_Based_Reranker_Strategies -- "Utilizes common helper functions" --> Utility_Services
    click Reranker_Core_Interface href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/rerankers/Reranker_Core_Interface.md" "Details"
    click API_Reranker_Clients href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/rerankers/API_Reranker_Clients.md" "Details"
    click Transformer_Based_Reranker_Strategies href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/rerankers/Transformer_Based_Reranker_Strategies.md" "Details"
Loading

CodeBoardingDemoContact

Details

The rerankers library employs a robust, extensible architecture designed for diverse reranking needs. At its heart, the Reranker Core Interface serves as a central facade, providing a unified entry point for all reranking operations. This interface intelligently dispatches requests to specialized strategy components: API Reranker Clients for seamless integration with external reranking services, LLM-Based Reranker Strategies for advanced reranking powered by large language models, and Transformer-Based Reranker Strategies for efficient local inference using various transformer models. All these specialized components consistently interact with a Utility Services module, which provides essential helper functions and common data structures, ensuring a clean separation of concerns and promoting code reusability. This design allows for easy expansion with new reranking models and APIs while maintaining a consistent and intuitive user experience.

Reranker Core Interface [Expand]

The central entry point and factory for the entire library, providing a unified Reranker function. It dynamically selects and instantiates the correct reranker strategy.

Related Classes/Methods:

API Reranker Clients [Expand]

Handles interactions with external reranking APIs (e.g., Cohere, Jina, MixedBread, Pinecone, Isaacus, OpenAI, Voyage AI, HuggingFace TEI), managing request formatting and response parsing.

Related Classes/Methods:

LLM-Based Reranker Strategies

Implements reranking logic leveraging Large Language Models (LLMs), including techniques like layer-wise ranking, relevance filtering, and permutation-based ranking (e.g., RankGPT, RankLLM).

Related Classes/Methods:

Transformer-Based Reranker Strategies [Expand]

Implements reranking logic based on various transformer architectures (e.g., CrossEncoder, ColBERT, MonoVLM, T5, MXBAI V2, UPR), handling model loading, tokenization, and inference.

Related Classes/Methods:

Utility Services

Provides common helper functions and utilities used across different reranker implementations, such as verbose output, data preprocessing, and common data structures.

Related Classes/Methods: