Spaces:
Sleeping
Sleeping
from typing import Any, Dict, List, Optional, Union | |
from litellm.llms.base_llm.rerank.transformation import BaseRerankConfig | |
from litellm.types.rerank import OptionalRerankParams | |
def get_optional_rerank_params( | |
rerank_provider_config: BaseRerankConfig, | |
model: str, | |
drop_params: bool, | |
query: str, | |
documents: List[Union[str, Dict[str, Any]]], | |
custom_llm_provider: Optional[str] = None, | |
top_n: Optional[int] = None, | |
rank_fields: Optional[List[str]] = None, | |
return_documents: Optional[bool] = True, | |
max_chunks_per_doc: Optional[int] = None, | |
max_tokens_per_doc: Optional[int] = None, | |
non_default_params: Optional[dict] = None, | |
) -> OptionalRerankParams: | |
all_non_default_params = non_default_params or {} | |
if query is not None: | |
all_non_default_params["query"] = query | |
if top_n is not None: | |
all_non_default_params["top_n"] = top_n | |
if documents is not None: | |
all_non_default_params["documents"] = documents | |
if return_documents is not None: | |
all_non_default_params["return_documents"] = return_documents | |
if max_chunks_per_doc is not None: | |
all_non_default_params["max_chunks_per_doc"] = max_chunks_per_doc | |
if max_tokens_per_doc is not None: | |
all_non_default_params["max_tokens_per_doc"] = max_tokens_per_doc | |
return rerank_provider_config.map_cohere_rerank_params( | |
model=model, | |
drop_params=drop_params, | |
query=query, | |
documents=documents, | |
custom_llm_provider=custom_llm_provider, | |
top_n=top_n, | |
rank_fields=rank_fields, | |
return_documents=return_documents, | |
max_chunks_per_doc=max_chunks_per_doc, | |
max_tokens_per_doc=max_tokens_per_doc, | |
non_default_params=all_non_default_params, | |
) | |