Filter Operation¶
The Filter operator evaluates an NL condition on each item in a column.
Core Implementation¶
nirvana.ops.filter.FilterOperation(user_instruction: str = '', input_columns: list[str] = [], context: list[dict] | str | None = None, model: str | None = None, tool: Callable | BaseTool | None = None, strategy: Literal['plain', 'fewshot', 'self-refine'] = 'plain', limit: int | None = None, rate_limit: int = 16, assertions: list[Callable] | None = [])
¶
Bases: BaseOperation
Filter operator: Uses an LLM to evaluate a natural language predicate on a column
Source code in nirvana/ops/filter.py
Attributes¶
strategy_options = ['plain', 'fewshot', 'self_refine']
class-attribute
instance-attribute
¶
prompter = FilterPrompter()
instance-attribute
¶
input_columns = input_columns
instance-attribute
¶
dependencies: list[str]
property
¶
generated_fields: list[str]
property
¶
op_kwargs: dict
property
¶
Functions¶
execute(input_data: pd.DataFrame, **kwargs)
async
¶
Source code in nirvana/ops/filter.py
Output Class¶
nirvana.ops.filter.FilterOpOutputs(cost: float = 0.0, output: Iterable[bool] = None)
dataclass
¶
Function Wrapper¶
nirvana.ops.filter
¶
filter_wrapper(input_data: DataFrame, user_instruction: str = None, input_columns: list[str] = None, func: Callable = None, context: list[dict] | str | None = None, model: str | None = None, strategy: Literal['plain', 'fewshot', 'self-refine'] = 'plain', limit: int | None = None, rate_limit: int = 16, assertions: list[Callable] | None = [], **kwargs)
A function wrapper for filter operation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
input_data
|
DataFrame
|
Input dataframe |
required |
user_instruction
|
str
|
User instruction. Defaults to None. |
None
|
input_columns
|
list[str]
|
Input columns. Defaults to None. |
None
|
func
|
Callable
|
User function. Defaults to None. |
None
|
context
|
list[dict] | str
|
Context. Defaults to None. |
None
|
model
|
str
|
Model. Defaults to None. |
None
|
strategy
|
Literal['plain', 'fewshot', 'self-refine']
|
Strategy. Defaults to "plain". |
'plain'
|
limit
|
int
|
Maximum number of outputs to produce before stopping. |
None
|
rate_limit
|
int
|
Rate limit. Defaults to 16. |
16
|
assertions
|
list[Callable]
|
Assertions. Defaults to []. |
[]
|
**kwargs
|
Additional keyword arguments for OpenAI Clent. |
{}
|