Files
spam-classification/program.json

48 lines
2.9 KiB
JSON

{
"traces": [],
"train": [],
"demos": [],
"signature": {
"instructions": "You are given an email with two fields: subject and body.\n\nTask: classify the email as spam or not spam.\n\nOutput format (strict):\n- Return exactly two fields in this order:\n 1) is_spam: a single boolean value exactly \"True\" or \"False\"\n 2) completed: always output the literal marker \"[[ ## completed ## ]]\"\n- Do not output any other keys/fields/markers or any free-form text.\n\nClassification guidance:\n- Mark is_spam = False for legitimate, expected, or informational emails, including:\n - Customer support replies and service communications (e.g., \u201cthank you for contacting\u2026\u201d, helpdesk/contact info, apologies, case handling).\n - Feedback/survey requests from a company that look like standard customer communications (often include mailing address and preference/unsubscribe wording).\n - Transaction/payment notifications that appear to be genuine (e.g., real PayPal-style receipts/notifications that include the recipient\u2019s full name and normal PayPal anti-phishing footer language). These are informational and not spam unless clear evidence indicates otherwise.\n\n- Mark is_spam = True when the email is unsolicited and/or shows signs of spam/phishing/scams, such as:\n - Requests for passwords, verification codes, banking/card details, or other sensitive personal information.\n - Urgent threats, \u201caccount locked\u201d pressure tactics, or instructions to click suspicious links/open attachments.\n - Obvious impersonation, mismatched branding, or other strong indicators of fraud.\n\nImportant: Do not assume a payment/transaction email is spam just because it mentions money or includes a \u201cGet details\u201d call-to-action. If it resembles a standard legitimate PayPal notification (including full name and typical PayPal fraud-prevention footer), classify it as not spam.\n\nNo explanation is required; only produce the required fields in the required format.",
"fields": [
{
"prefix": "Subject:",
"description": "${subject}"
},
{
"prefix": "Body:",
"description": "${body}"
},
{
"prefix": "Reasoning:",
"description": "Your reasoning for your answer. Inlude any uncertainties about your answer or ambiguity in the task."
},
{
"prefix": "Is Spam:",
"description": "Whether the message is spam or not spam."
}
]
},
"lm": {
"model": "openrouter/openai/gpt-oss-120b",
"model_type": "chat",
"cache": true,
"num_retries": 3,
"finetuning_model": null,
"launch_kwargs": {},
"train_kwargs": {},
"temperature": null,
"max_tokens": null,
"base_url": "https://openrouter.ai/api/v1",
"allowed_openai_params": [
"reasoning_effort"
]
},
"metadata": {
"dependency_versions": {
"python": "3.11",
"dspy": "3.1.3",
"cloudpickle": "3.1"
}
}
}