mirror of
https://github.com/hwchase17/langchain
synced 2024-11-06 03:20:49 +00:00
f98d7f7494
- **Description:** Support reranking based on cross encoder models available from HuggingFace. - Added `CrossEncoder` schema - Implemented `HuggingFaceCrossEncoder` and `SagemakerEndpointCrossEncoder` - Implemented `CrossEncoderReranker` that performs similar functionality to `CohereRerank` - Added `cross-encoder-reranker.ipynb` to demonstrate how to use it. Please let me know if anything else needs to be done to make it visible on the table-of-contents navigation bar on the left, or on the card list on [retrievers documentation page](https://python.langchain.com/docs/integrations/retrievers). - **Issue:** N/A - **Dependencies:** None other than the existing ones. --------- Co-authored-by: Kenny Choe <kchoe@amazon.com> Co-authored-by: Bagatur <baskaryan@gmail.com>
31 lines
792 B
Python
31 lines
792 B
Python
"""**Cross encoders** are wrappers around cross encoder models from different APIs and
|
|
services.
|
|
|
|
**Cross encoder models** can be LLMs or not.
|
|
|
|
**Class hierarchy:**
|
|
|
|
.. code-block::
|
|
|
|
BaseCrossEncoder --> <name>CrossEncoder # Examples: SagemakerEndpointCrossEncoder
|
|
"""
|
|
|
|
|
|
import logging
|
|
|
|
from langchain_community.cross_encoders.base import BaseCrossEncoder
|
|
from langchain_community.cross_encoders.fake import FakeCrossEncoder
|
|
from langchain_community.cross_encoders.huggingface import HuggingFaceCrossEncoder
|
|
from langchain_community.cross_encoders.sagemaker_endpoint import (
|
|
SagemakerEndpointCrossEncoder,
|
|
)
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
__all__ = [
|
|
"BaseCrossEncoder",
|
|
"FakeCrossEncoder",
|
|
"HuggingFaceCrossEncoder",
|
|
"SagemakerEndpointCrossEncoder",
|
|
]
|