Skip to content

Urgency Analysis

openaivec.task.customer_support.urgency_analysis

Customer inquiry urgency-analysis task definition.

Classes

UrgencyAnalysis

Bases: BaseModel

Urgency analysis output.

Functions

urgency_analysis

urgency_analysis(
    urgency_levels: Mapping[str, str] | None = None,
    response_times: Mapping[str, str] | None = None,
    customer_tiers: Mapping[str, str] | None = None,
    escalation_rules: Mapping[str, str] | None = None,
    urgency_keywords: Mapping[str, list[str]] | None = None,
    business_context: str = "general customer support",
    business_hours: str = "24/7 support",
    sla_rules: Mapping[str, str] | None = None,
) -> PreparedTask[UrgencyAnalysis]

Create an urgency analysis task.

Source code in src/openaivec/task/customer_support/urgency_analysis.py
def urgency_analysis(
    urgency_levels: Mapping[str, str] | None = None,
    response_times: Mapping[str, str] | None = None,
    customer_tiers: Mapping[str, str] | None = None,
    escalation_rules: Mapping[str, str] | None = None,
    urgency_keywords: Mapping[str, list[str]] | None = None,
    business_context: str = "general customer support",
    business_hours: str = "24/7 support",
    sla_rules: Mapping[str, str] | None = None,
) -> PreparedTask[UrgencyAnalysis]:
    """Create an urgency analysis task."""
    resolved_urgency_levels = dict(urgency_levels or _default_urgency_levels())
    resolved_response_times = dict(response_times or _default_response_times())
    resolved_customer_tiers = dict(customer_tiers or _default_customer_tiers())
    resolved_escalation_rules = dict(escalation_rules or _default_escalation_rules())
    resolved_urgency_keywords = dict(urgency_keywords or _default_urgency_keywords())
    resolved_sla_rules = dict(sla_rules or _default_sla_rules())
    return PreparedTask(
        instructions=_build_instructions(
            urgency_levels=resolved_urgency_levels,
            response_times=resolved_response_times,
            customer_tiers=resolved_customer_tiers,
            escalation_rules=resolved_escalation_rules,
            urgency_keywords=resolved_urgency_keywords,
            business_context=business_context,
            business_hours=business_hours,
            sla_rules=resolved_sla_rules,
        ),
        response_format=UrgencyAnalysis,
    )