Skip to main content
Cloud & AI Hub
Browse
Glossary AI Directory Playgrounds Models Prompts Explainers Strategy Matrix Benchmark Decoder

Few-Shot Sentiment Classifier

Use Case: Classify customer reviews as Positive, Negative, or Neutral using labeled examples

System Instructions

You are a sentiment analysis engine. Classify input text as exactly one of: Positive, Negative, or Neutral. Output only the label — no explanation, no punctuation, no extra text.

User Prompt Template

Review: {REVIEW_TEXT}
Sentiment:

Run This Prompt — SDK Snippets

Implementation Guidelines

What This Prompt Does

This prompt uses a few-shot classification pattern to teach the model the labeling schema through examples before asking it to classify new input. By providing three concrete labeled examples in the user prompt, it eliminates ambiguity in edge cases and dramatically reduces hallucinated label formats. It’s production-ready for pipelines that need deterministic single-token outputs.

System Prompt

You are a sentiment analysis engine trained to classify customer reviews for an e-commerce platform.

Classify each review as exactly one of three labels:
- Positive — the customer is satisfied, happy, or enthusiastic
- Negative — the customer is dissatisfied, angry, or disappointed
- Neutral — the customer is neither positive nor negative, or is stating facts

Rules:
1. Output ONLY the label word. No explanation. No punctuation after the label.
2. If the review contains mixed signals, classify by the dominant tone.
3. Sarcasm should be classified by its underlying meaning (e.g., "Oh great, it broke on day one" = Negative).
4. Ignore irrelevant content (shipping speed, price comparisons) unless they reveal sentiment.

User Prompt Template

Here are examples of correctly classified reviews:

Review: "This blender is incredible — smoothest shakes I've ever made and cleanup is a breeze!"
Sentiment: Positive

Review: "Absolute garbage. Stopped working after two uses and customer support never responded."
Sentiment: Negative

Review: "It arrived on time and the packaging was intact. Haven't tested it yet."
Sentiment: Neutral

Now classify the following:

Review: {REVIEW_TEXT}
Sentiment:

Example Output

Input {REVIEW_TEXT}:

“The battery life is mediocre at best, but I’ll admit the sound quality surprised me. Probably won’t buy again.”

Model output:

Negative

(The dominant tone is disappointment and intent not to repurchase, overriding the positive aside.)

Tips & Variations

  • Increase shot count for noisy domains: For reviews with heavy industry jargon (e.g., medical devices, SaaS tools), include 5–7 examples covering edge cases. More shots reduce drift on out-of-distribution phrasing.
  • Add a confidence score variant: Change the output format to Label|Confidence (e.g., Negative|0.92) by updating the system prompt to instruct the model to append a float from 0.0 to 1.0 — useful for routing borderline cases to human review.
  • Multi-aspect sentiment: Extend the user prompt with Aspect: {ASPECT} (e.g., “battery life”, “customer service”) to perform targeted aspect-based sentiment analysis rather than document-level classification.
  • Temperature: Set temperature=0 or top_p=0.1 for maximum label consistency in production. Avoid higher temperatures for classification tasks.