# Example Pipeline Configuration - YAML Format
# This file demonstrates loading pipeline configuration from YAML

name: "support_ticket_classification_pipeline"
version: "1.0"

dataset:
  source_type: "csv"
  source_path: "support_tickets.csv"
  input_columns:
    - "ticket_description"
  output_columns:
    - "category"
  delimiter: ","
  encoding: "utf-8"

prompt:
  template: "Classify this customer support ticket: {ticket_description}\n\nCategory:"
  system_message: "You are a customer support classification expert. Categorize tickets into: Technical, Billing, Account, Shipping, or General."
  few_shot_examples:
    - input: "My payment was declined but I was still charged"
      output: "Billing"
    - input: "Cannot login to my account after password reset"
      output: "Account"
    - input: "Package tracking shows delivered but I never received it"
      output: "Shipping"

llm:
  provider: "groq"
  model: "openai/gpt-oss-120b"
  temperature: 0.0
  max_tokens: 50
  input_cost_per_1k_tokens: "0.00005"
  output_cost_per_1k_tokens: "0.00008"

processing:
  batch_size: 100
  concurrency: 5
  checkpoint_interval: 500
  max_retries: 3
  retry_delay: 1.0
  error_policy: "skip"
  rate_limit_rpm: 60
  max_budget: "10.00"
  checkpoint_dir: ".checkpoints"

output:
  destination_type: "csv"
  destination_path: "classified_tickets.csv"
  merge_strategy: "replace"
  atomic_write: true

metadata:
  project: "support_ticket_automation"
  owner: "support_team"
  created_at: "2025-01-15"
