FunctionScore
FunctionScore インスタンスは、複数の Function を設定可能な方法で組み合わせます。FunctionScore インスタンスを ranker として使用して、複数の reranking Function を組み合わせることができます。
class pymilvus.FunctionScore
Constructor
複数の Function を設定可能な方法で組み合わせる FunctionScore インスタンスを構築します。
FunctionScore(
functions: Union[Function, List[Function]],
params: Optional[Dict] = None,
)
PARAMETERS:
-
functions (Function, List[Function]) -
現在の FunctionScore インスタンスで組み合わせる 1 つの Function インスタンス、または Function インスタンスのリストです。
-
params (Dict) -
上記の Function インスタンスをどのように組み合わせるかを指定します。以下の設定があります。
-
boost_mode (str) -
指定した重みが一致した entity のスコアにどのように影響するかを指定します。指定可能な値は次のとおりです。
-
Multiply重み付けされた値が、一致した entity の元のスコアに指定した重みを掛けた値であることを示します。
これはデフォルト値です。
-
Sum重み付けされた値が、一致した entity の元のスコアと指定した重みの合計に等しいことを示します
-
-
function_mode (str) -
さまざまな Boost Ranker からの重み付けされた値をどのように処理するかを指定します。指定可能な値は次のとおりです。
-
Multiply一致した entity の最終スコアが、すべての Boost Ranker からの重み付けされた値の積に等しいことを示します。
これはデフォルト値です。
-
Sum一致した entity の最終スコアが、すべての Boost Ranker からの重み付けされた値の合計に等しいことを示します。
-
RETURN TYPE:
FunctionScore
RETURNS:
設定された方法で組み合わされた Functions のセット
Examples
pythonfrom pymilvus import Function, FunctionType, FunctionScore# Create a Boost Ranker with a fixed weightfix_weight_ranker = Function(name="boost",input_field_names=[], # Must be an empty listfunction_type=FunctionType.RERANK,params={"reranker": "boost","weight": 0.8})# Create a Boost Ranker with a randomly generated weight between 0 and 0.4random_weight_ranker = Function(name="boost",input_field_names=[], # Must be an empty listfunction_type=FunctionType.RERANK,params={"reranker": "boost","random_score": {"seed": 126,},"weight": 0.4})# Create a Function Scoreranker = FunctionScore(functions=[fix_weight_ranker,random_weight_ranker],params={"boost_mode": "Multiply","function_mode": "Sum"}) -