Zero-Shot Prompting
Emotional Stimuli
Overview
Do language models respond to emotional stimuli?
Adding phrases with emotional significance to humans can help enhance the performance of a language model. This includes phrases such as:
- This is very important to my career.
- Take pride in your work.
- Are you sure?
Emotional stimuli
Here are examples of prompts inspired by well-established human psychological phenomena from a research paper on emotional stimuli.
Self-monitoring:
- EP01: Write your answer and give me a confidence score between 0-1 for your answer.
- EP02: This is very important to my career.
- EP03: You’d better be sure.
- EP04: Are you sure?
- EP05: Are you sure that’s your final answer? It might be worth taking another look.
Cognitive emotion regulation:
- EP03: You’d better be sure.
- EP04: Are you sure?
- EP05: Are you sure that’s your final answer? It might be worth taking another look.
- EP07: Are you sure that’s your final answer? Believe in your abilities and strive for excellence. Your hard work will yield remarkable results.
Social-cognitive theory:
- EP07: Are you sure that’s your final answer? Believe in your abilities and strive for excellence. Your hard work will yield remarkable results.
- EP08: Embrace challenges as opportunities for growth. Each obstacle you overcome brings you closer to success.
- EP09: Stay focused and dedicated to your goals. Your consistent efforts will lead to outstanding achievements.
- EP10: Take pride in your work and give it your best. Your commitment to excellence sets you apart.
- EP11: Remember that progress is made one step at a time. Stay determined and keep moving forward.
Example
Here is how the results of the research can be applied to your code.
<?php
$loader = require 'vendor/autoload.php';
$loader->add('Cognesy\\Instructor\\', __DIR__.'../../src/');
use Cognesy\Instructor\Extras\Sequence\Sequence;
use Cognesy\Instructor\Instructor;
use Cognesy\Instructor\Utils\Arrays;
class Company {
public string $name;
public string $country;
public string $industry;
public string $websiteUrl;
}
class RespondWithStimulus {
public function __invoke(array $criteria, string $stimulus) : array {
$criteriaStr = Arrays::toBullets($criteria);
return (new Instructor)->respond(
messages: [
['role' => 'user', 'content' => "List companies meeting criteria:\n{$criteriaStr}"],
['role' => 'user', 'content' => "{$stimulus}"],
],
responseModel: Sequence::of(Company::class),
)->toArray();
}
}
$companies = (new RespondWithStimulus)(
criteria: [
"lead gen",
"located in US, Canada or Europe",
"mentioned on ProductHunt"
],
stimulus: "This is very important to my career."
);
dump($companies);
?>