plugins.panels.similarity_search.operators#
Similarity search operators.
Classes:
|
Operator that executes a similarity search query. |
|
Creates a run record for a delegated similarity search. |
|
Returns all similarity search runs for the current dataset. |
|
Operator that provides SSE notifications for execution store changes. |
- class plugins.panels.similarity_search.operators.SimilaritySearchOperator(_builtin=False)#
Bases:
OperatorOperator that executes a similarity search query.
Supports both immediate execution (runs on the app server) and delegated execution (runs on a worker pod). The user chooses via the OperatorExecutionButton in the frontend.
Flow: 1. Creates or updates a run record in the execution store 2. Calls sort_by_similarity() with the provided query 3. Stores the sorted result IDs in the run record
Attributes:
The
OperatorConfigfor the operator.Whether the operator is builtin.
The unique identifier of the operator:
plugin_name/operator_name.Methods:
execute(ctx)Executes the operator.
add_secrets(secrets)Adds secrets to the operator.
method_to_uri(method_name)Converts a method name to a URI.
resolve_delegation(ctx)Returns the resolved forced delegation flag.
Returns the resolved execution options.
resolve_input(ctx)Returns the resolved input property.
resolve_output(ctx)Returns the resolved output property.
resolve_placement(ctx)Returns the resolved placement of the operator.
resolve_run_name(ctx)Returns the resolved run name of the operator.
resolve_type(ctx, type)Returns the resolved input or output property.
to_json()Returns a JSON representation of the operator.
- property config#
The
OperatorConfigfor the operator.
- execute(ctx)#
Executes the operator.
Subclasses must implement this method.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
JSON serializable data, or None
- add_secrets(secrets)#
Adds secrets to the operator.
- Parameters:
secrets – a list of secrets
- property builtin#
Whether the operator is builtin.
- method_to_uri(method_name)#
Converts a method name to a URI.
- Parameters:
method_name – the method name
- Returns:
a URI
- property name#
- resolve_delegation(ctx)#
Returns the resolved forced delegation flag.
Subclasses can implement this method to decide if delegated execution should be forced for the given operation.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
whether the operation should be delegated (True), run immediately (False), or None to defer to
resolve_execution_options()to specify the available options
- resolve_execution_options(ctx)#
Returns the resolved execution options.
Subclasses can implement this method to define the execution options available for the operation.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
a
fiftyone.operators.executor.ExecutionOptionsinstance
- resolve_input(ctx)#
Returns the resolved input property.
Subclasses can implement this method to define the inputs to the operator. This method should never be called directly. Instead use
resolve_type().By default, this method is called once when the operator is created. If the operator is dynamic, this method is called each time the input changes.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
a
fiftyone.operators.types.Property, or None
- resolve_output(ctx)#
Returns the resolved output property.
Subclasses can implement this method to define the outputs of the operator.
By default, this method is called once when the operator is created. If the operator is dynamic, this method is called after the operator is executed.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
a
fiftyone.operators.types.Property, or None
- resolve_placement(ctx)#
Returns the resolved placement of the operator.
Subclasses can implement this method to define the placement of the operator.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
a
fiftyone.operators.types.Placement, or None
- resolve_run_name(ctx)#
Returns the resolved run name of the operator.
Subclasses can implement this method to define the run name of the operator.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
a string, or None
- resolve_type(ctx, type)#
Returns the resolved input or output property.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContexttype – the type of property to resolve, either
"inputs"or"outputs"
- Returns:
a
fiftyone.operators.types.Property, or None
- to_json()#
Returns a JSON representation of the operator.
- Returns:
a JSON dict
- property uri#
The unique identifier of the operator:
plugin_name/operator_name.
- class plugins.panels.similarity_search.operators.InitSimilarityRunOperator(_builtin=False)#
Bases:
OperatorCreates a run record for a delegated similarity search.
Called by the frontend after a delegated operation is queued, so the run appears in the panel’s list immediately while the DO is pending/running on a worker.
Attributes:
The
OperatorConfigfor the operator.Whether the operator is builtin.
The unique identifier of the operator:
plugin_name/operator_name.Methods:
execute(ctx)Executes the operator.
add_secrets(secrets)Adds secrets to the operator.
method_to_uri(method_name)Converts a method name to a URI.
resolve_delegation(ctx)Returns the resolved forced delegation flag.
Returns the resolved execution options.
resolve_input(ctx)Returns the resolved input property.
resolve_output(ctx)Returns the resolved output property.
resolve_placement(ctx)Returns the resolved placement of the operator.
resolve_run_name(ctx)Returns the resolved run name of the operator.
resolve_type(ctx, type)Returns the resolved input or output property.
to_json()Returns a JSON representation of the operator.
- property config#
The
OperatorConfigfor the operator.
- execute(ctx)#
Executes the operator.
Subclasses must implement this method.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
JSON serializable data, or None
- add_secrets(secrets)#
Adds secrets to the operator.
- Parameters:
secrets – a list of secrets
- property builtin#
Whether the operator is builtin.
- method_to_uri(method_name)#
Converts a method name to a URI.
- Parameters:
method_name – the method name
- Returns:
a URI
- property name#
- resolve_delegation(ctx)#
Returns the resolved forced delegation flag.
Subclasses can implement this method to decide if delegated execution should be forced for the given operation.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
whether the operation should be delegated (True), run immediately (False), or None to defer to
resolve_execution_options()to specify the available options
- resolve_execution_options(ctx)#
Returns the resolved execution options.
Subclasses can implement this method to define the execution options available for the operation.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
a
fiftyone.operators.executor.ExecutionOptionsinstance
- resolve_input(ctx)#
Returns the resolved input property.
Subclasses can implement this method to define the inputs to the operator. This method should never be called directly. Instead use
resolve_type().By default, this method is called once when the operator is created. If the operator is dynamic, this method is called each time the input changes.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
a
fiftyone.operators.types.Property, or None
- resolve_output(ctx)#
Returns the resolved output property.
Subclasses can implement this method to define the outputs of the operator.
By default, this method is called once when the operator is created. If the operator is dynamic, this method is called after the operator is executed.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
a
fiftyone.operators.types.Property, or None
- resolve_placement(ctx)#
Returns the resolved placement of the operator.
Subclasses can implement this method to define the placement of the operator.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
a
fiftyone.operators.types.Placement, or None
- resolve_run_name(ctx)#
Returns the resolved run name of the operator.
Subclasses can implement this method to define the run name of the operator.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
a string, or None
- resolve_type(ctx, type)#
Returns the resolved input or output property.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContexttype – the type of property to resolve, either
"inputs"or"outputs"
- Returns:
a
fiftyone.operators.types.Property, or None
- to_json()#
Returns a JSON representation of the operator.
- Returns:
a JSON dict
- property uri#
The unique identifier of the operator:
plugin_name/operator_name.
- class plugins.panels.similarity_search.operators.ListSimilarityRunsOperator(_builtin=False)#
Bases:
OperatorReturns all similarity search runs for the current dataset.
Attributes:
The
OperatorConfigfor the operator.Whether the operator is builtin.
The unique identifier of the operator:
plugin_name/operator_name.Methods:
execute(ctx)Executes the operator.
add_secrets(secrets)Adds secrets to the operator.
method_to_uri(method_name)Converts a method name to a URI.
resolve_delegation(ctx)Returns the resolved forced delegation flag.
Returns the resolved execution options.
resolve_input(ctx)Returns the resolved input property.
resolve_output(ctx)Returns the resolved output property.
resolve_placement(ctx)Returns the resolved placement of the operator.
resolve_run_name(ctx)Returns the resolved run name of the operator.
resolve_type(ctx, type)Returns the resolved input or output property.
to_json()Returns a JSON representation of the operator.
- property config#
The
OperatorConfigfor the operator.
- execute(ctx)#
Executes the operator.
Subclasses must implement this method.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
JSON serializable data, or None
- add_secrets(secrets)#
Adds secrets to the operator.
- Parameters:
secrets – a list of secrets
- property builtin#
Whether the operator is builtin.
- method_to_uri(method_name)#
Converts a method name to a URI.
- Parameters:
method_name – the method name
- Returns:
a URI
- property name#
- resolve_delegation(ctx)#
Returns the resolved forced delegation flag.
Subclasses can implement this method to decide if delegated execution should be forced for the given operation.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
whether the operation should be delegated (True), run immediately (False), or None to defer to
resolve_execution_options()to specify the available options
- resolve_execution_options(ctx)#
Returns the resolved execution options.
Subclasses can implement this method to define the execution options available for the operation.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
a
fiftyone.operators.executor.ExecutionOptionsinstance
- resolve_input(ctx)#
Returns the resolved input property.
Subclasses can implement this method to define the inputs to the operator. This method should never be called directly. Instead use
resolve_type().By default, this method is called once when the operator is created. If the operator is dynamic, this method is called each time the input changes.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
a
fiftyone.operators.types.Property, or None
- resolve_output(ctx)#
Returns the resolved output property.
Subclasses can implement this method to define the outputs of the operator.
By default, this method is called once when the operator is created. If the operator is dynamic, this method is called after the operator is executed.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
a
fiftyone.operators.types.Property, or None
- resolve_placement(ctx)#
Returns the resolved placement of the operator.
Subclasses can implement this method to define the placement of the operator.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
a
fiftyone.operators.types.Placement, or None
- resolve_run_name(ctx)#
Returns the resolved run name of the operator.
Subclasses can implement this method to define the run name of the operator.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
a string, or None
- resolve_type(ctx, type)#
Returns the resolved input or output property.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContexttype – the type of property to resolve, either
"inputs"or"outputs"
- Returns:
a
fiftyone.operators.types.Property, or None
- to_json()#
Returns a JSON representation of the operator.
- Returns:
a JSON dict
- property uri#
The unique identifier of the operator:
plugin_name/operator_name.
- class plugins.panels.similarity_search.operators.SimilaritySearchSubscriptionOperator(_builtin=False)#
Bases:
SseOperatorOperator that provides SSE notifications for execution store changes.
Attributes:
Whether the operator is builtin.
The
OperatorConfigfor the operator.The unique identifier of the operator:
plugin_name/operator_name.Methods:
add_secrets(secrets)Adds secrets to the operator.
execute(ctx)Executes the operator.
method_to_uri(method_name)Converts a method name to a URI.
resolve_delegation(ctx)Returns the resolved forced delegation flag.
Returns the resolved execution options.
resolve_input(ctx)Returns the resolved input property.
resolve_output(ctx)Returns the resolved output property.
resolve_placement(ctx)Returns the resolved placement of the operator.
resolve_run_name(ctx)Returns the resolved run name of the operator.
resolve_type(ctx, type)Returns the resolved input or output property.
to_json()Returns a JSON representation of the operator.
- property subscription_config#
- IS_SSE_OPERATOR = True#
- add_secrets(secrets)#
Adds secrets to the operator.
- Parameters:
secrets – a list of secrets
- property builtin#
Whether the operator is builtin.
- property config#
The
OperatorConfigfor the operator.
- async execute(ctx: ExecutionContext)#
Executes the operator.
Subclasses must implement this method.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
JSON serializable data, or None
- method_to_uri(method_name)#
Converts a method name to a URI.
- Parameters:
method_name – the method name
- Returns:
a URI
- property name#
- resolve_delegation(ctx)#
Returns the resolved forced delegation flag.
Subclasses can implement this method to decide if delegated execution should be forced for the given operation.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
whether the operation should be delegated (True), run immediately (False), or None to defer to
resolve_execution_options()to specify the available options
- resolve_execution_options(ctx)#
Returns the resolved execution options.
Subclasses can implement this method to define the execution options available for the operation.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
a
fiftyone.operators.executor.ExecutionOptionsinstance
- resolve_input(ctx)#
Returns the resolved input property.
Subclasses can implement this method to define the inputs to the operator. This method should never be called directly. Instead use
resolve_type().By default, this method is called once when the operator is created. If the operator is dynamic, this method is called each time the input changes.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
a
fiftyone.operators.types.Property, or None
- resolve_output(ctx)#
Returns the resolved output property.
Subclasses can implement this method to define the outputs of the operator.
By default, this method is called once when the operator is created. If the operator is dynamic, this method is called after the operator is executed.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
a
fiftyone.operators.types.Property, or None
- resolve_placement(ctx)#
Returns the resolved placement of the operator.
Subclasses can implement this method to define the placement of the operator.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
a
fiftyone.operators.types.Placement, or None
- resolve_run_name(ctx)#
Returns the resolved run name of the operator.
Subclasses can implement this method to define the run name of the operator.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContext- Returns:
a string, or None
- resolve_type(ctx, type)#
Returns the resolved input or output property.
- Parameters:
ctx – the
fiftyone.operators.executor.ExecutionContexttype – the type of property to resolve, either
"inputs"or"outputs"
- Returns:
a
fiftyone.operators.types.Property, or None
- to_json()#
Returns a JSON representation of the operator.
- Returns:
a JSON dict
- property uri#
The unique identifier of the operator:
plugin_name/operator_name.