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);

?>

References

  1. Large Language Models Understand and Can be Enhanced by Emotional Stimuli