Skip to content

generate_dq_rule_candidates_with_fabric_ai

Public callable

Append AI-suggested DQ rule candidates to a profiling DataFrame.

Use this after profiling and before rule approval to accelerate candidate generation while keeping deterministic enforcement separate.

Parameters:

Name Type Description Default
profile_df Any

Fabric PySpark DataFrame with an .ai.generate_response extension. Expected row columns include column_name, data_type, null_count, distinct_count, and row_count for prompt placeholders.

required
business_context str

Static context embedded in prompt text.

''
dataset_name str | None

Static dataset name embedded in prompt text.

None
output_col str

Output column for generated JSON text.

"ai_dq_rule_candidate"
error_col str

Error column written by AI Functions.

"ai_dq_rule_error"
response_format str

Fabric AI response format.

"json_object"
concurrency int

Fabric AI row-level concurrency setting.

20

Returns:

Type Description
Any

Enriched DataFrame containing AI suggestion output columns.

Notes

This helper executes AI generation only and does not enforce deterministic quality rules.

Source code in src/fabricops_kit/ai.py
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
def generate_dq_rule_candidates_with_fabric_ai(profile_df, business_context="", dataset_name=None, output_col="ai_dq_rule_candidate", error_col="ai_dq_rule_error", response_format="json_object", concurrency=20, config: FrameworkConfig | None = None):
    """Append AI-suggested DQ rule candidates to a profiling DataFrame.

    Use this after profiling and before rule approval to accelerate candidate
    generation while keeping deterministic enforcement separate.


    Parameters
    ----------
    profile_df : Any
        Fabric PySpark DataFrame with an ``.ai.generate_response`` extension.
        Expected row columns include ``column_name``, ``data_type``, ``null_count``,
        ``distinct_count``, and ``row_count`` for prompt placeholders.
    business_context : str, optional
        Static context embedded in prompt text.
    dataset_name : str | None, optional
        Static dataset name embedded in prompt text.
    output_col : str, default="ai_dq_rule_candidate"
        Output column for generated JSON text.
    error_col : str, default="ai_dq_rule_error"
        Error column written by AI Functions.
    response_format : str, default="json_object"
        Fabric AI response format.
    concurrency : int, default=20
        Fabric AI row-level concurrency setting.

    Returns
    -------
    Any
        Enriched DataFrame containing AI suggestion output columns.

    Notes
    -----
    This helper executes AI generation only and does not enforce deterministic
    quality rules.
    """
    _require_fabric_ai_dataframe(profile_df, "generate_dq_rule_candidates_with_fabric_ai")
    prompt = build_dq_rule_candidate_prompt(business_context=business_context, dataset_name=dataset_name, config=config)
    return profile_df.ai.generate_response(prompt=prompt, is_prompt_template=True, output_col=output_col, error_col=error_col, response_format=response_format, concurrency=concurrency)