Whereas constructing my very own LLM-based utility, I discovered many immediate engineering guides, however few equal guides for figuring out the temperature setting.
In fact, temperature is an easy numerical worth whereas prompts can get mindblowingly complicated, so it could really feel trivial as a product determination. Nonetheless, choosing the proper temperature can dramatically change the character of your outputs, and anybody constructing a production-quality LLM utility ought to select temperature values with intention.
On this publish, weโll discover what temperature is and the mathematics behind it, potential product implications, and the way to decide on the precise temperature on your LLM utility and consider it. On the finish, I hope that you justโll have a transparent plan of action to seek out the precise temperature for each LLM use case.
What’s temperature?
Temperature is a quantity that controls the randomness of an LLMโs outputs. Most APIs restrict the worth to be from 0 to 1 or some related vary to maintain the outputs in semantically coherent bounds.
From OpenAIโs documentation:
โLarger values like 0.8 will make the output extra random, whereas decrease values like 0.2 will make it extra targeted and deterministic.โ
Intuitively, itโs like a dial that may alter how โexplorativeโ or โconservativeโ the mannequin is when it spits out a solution.
What do these temperature values imply?
Personally, I discover the mathematics behind the temperature area very fascinating, so Iโll dive into it. However in case youโre already accustomed to the innards of LLMs otherwise youโre not concerned with them,ย be at liberty to skip this part.
You in all probability know that an LLM generates textual content by predicting the following token after a given sequence of tokens. In its prediction course of, it assigns chances to all doable tokens that would come subsequent. For instance, if the sequence handed to the LLM is โThe giraffe ran over to theโฆโ, it would assign excessive chances to phrases like โtreeโ or โfenceโ and decrease chances to phrases like โcondoโ or โe bookโ.
However letโs again up a bit. How do these chances come to be?
These chances often come from uncooked scores, often known asย logits, which are the outcomes of many, many neural community calculations and different Machine Studying strategies. These logits are gold; they include all the dear details about what tokens might be chosen subsequent. However the issue with these logits is that they donโt match the definition of a chance: they are often any quantity, optimistic or destructive, like 2, or -3.65, or 20. Theyโre not essentially between 0 and 1, and so they donโt essentially all add as much as 1 like a pleasant chance distribution.
So, to make these logits usable, we have to use a perform to rework them right into a clear chance distribution. The perform sometimes used right here is known as theย softmax, and itโs primarily a sublime equation that does two necessary issues:
- It turns all of the logits into optimistic numbers.
- It scales the logits in order that they add as much as 1.

The softmax perform works by taking every logit, elevatingย eย (round 2.718) to the facility of that logit, after which dividing by the sum of all these exponentials. So the best logit will nonetheless get the best numerator, which implies it will get the best chance. However different tokens, even with destructive logit values, will nonetheless get an opportunity.
Now right hereโs the place Temperature is available in:ย temperature modifies the logits earlier than making use of softmax.ย The components for softmax with temperature is:

When the temperature isย low, dividing the logits by T makes the values bigger/extra unfold out. Then the exponentiation would make the best worth a lot bigger than the others, making the chance distribution extra uneven. The mannequin would have a better likelihood of selecting probably the most possible token, leading to aย extra deterministicย output.
When the temperature isย excessive,ย dividing the logits by T makes all of the values smaller/nearer collectively, spreading out the chance distribution extra evenly. This implies the mannequin is extra prone to decide much less possible tokens, growingย randomness.
How to decide on temperature
In fact, one of the simplest ways to decide on a temperature is to mess around with it. I imagine any temperature, like several immediate, must be substantiated with instance runs and evaluated in opposition to different prospects. Weโll talk about that within the subsequent part.
However earlier than we dive into that, I need to spotlight thatย temperature is a vital product determination, one that may considerably affect person conduct. It might appear relatively simple to decide on: decrease for extra accuracy-based functions, increased for extra artistic functions. However there are tradeoffs in each instructions with downstream penalties for person belief and utilization patterns. Listed here are some subtleties that come to thoughts:
- Low temperatures could make the product really feel authoritative. Extra deterministic outputs can create the phantasm of experience and foster person belief. Nevertheless, this will additionally result in gullible customers. If responses are all the time assured, customers may cease critically evaluating the AIโs outputs and simply blindly belief them, even when theyโre mistaken.
- Low temperatures can cut back determination fatigue. In the event you see one sturdy reply as an alternative of many choices, youโre extra prone to take motion with out overthinking. This may result in simpler onboarding or decrease cognitive load whereas utilizing the product. Inversely, excessive temperatures might create extra determination fatigue and result in churn.
- Excessive temperatures can encourage person engagement. The unpredictability of excessive temperatures can maintain customers curious (like variable rewards), resulting in longer classes or elevated interactions. Inversely, low temperatures may create stagnant person experiences that bore customers.
- Temperature can have an effect on the way in which customers refine their prompts.ย When solutions are sudden with excessive temperatures, customers is perhaps pushed toย make clearย their prompts. However with low temperatures, customers could also be compelled toย add extra element or broaden onย their prompts as a way to get new solutions.
These are broad generalizations, and naturally there are numerous extra nuances with each particular utility. However in most functions, the temperature is usually a highly effective variable to regulate in A/B testing, one thing to think about alongside your prompts.
Evaluating completely different temperatures
As builders, weโre used to unit testing: defining a set of inputs, operating these inputs via a perform, and getting a set of anticipated outputs. We sleep soundly at evening once we make sure that our code is doing what we anticipate it to do and that our logic is satisfying some clear-cut constraints.
Theย promptfooย bundle enables you to carry out the LLM-prompt equal of unit testing, however thereโs some further nuance. As a result of LLM outputs are non-deterministic and infrequently designed to do extra artistic duties than strictly logical ones, it may be exhausting to outline what an โanticipated outputโ seems like.
Defining your โanticipated outputโ
The only analysis tactic is to have aย humanย price how good they suppose some output is, in line with some rubric. For outputs the place youโre searching for a sure โvibeโ you couldโt specific in phrases, this can in all probability be the simplest technique.
One other easy analysis tactic is to make use ofย deterministic metricsย โ these are issues like โdoes the output include a sure string?โ or โis the output legitimate json?โ or โdoes the output fulfill this javascript expression?โ. In case your anticipated output could be expressed in these methods,ย promptfoo has your again.
A extra fascinating, AI-age analysis tactic is to make use ofย LLM-graded checks. These primarily use LLMs to judge your LLM-generated outputs, and could be fairly efficient if used correctly. Promptfoo presents these model-graded metrics in a number of varieties. The entire checklist isย right here, and it accommodates assertions from โis the output related to the unique question?โ to โexamine the completely different take a look at circumstances and inform me which one is finest!โ to โthe place does this output rank on this rubric I outlined?โ.
Instance
Letโs say Iโm making a consumer-facing utility that comes up with artistic present concepts and I need to empirically decide what temperature I ought to use with my primary immediate.
I would need to consider metrics like relevance, originality, and feasibility inside a sure price range and ensure that Iโm selecting the correct temperature to optimize these components. If Iโm evaluating GPT 4o-miniโs efficiency with temperatures of 0 vs. 1, my take a look at file may begin like this:
suppliers:
ย - id: openai:gpt-4o-mini
ย ย ย label: openai-gpt-4o-mini-lowtemp
ย ย ย config:
ย ย ย ย ย temperature: 0
ย - id: openai:gpt-4o-mini
ย ย ย label: openai-gpt-4o-mini-hightemp
ย ย ย config:
ย ย ย ย ย temperature: 1
prompts:
ย - "Provide you with a one-sentence artistic present thought for an individual who's {{persona}}. It ought to price beneath {{price range}}."assessments:
ย - description: "Mary - attainable, beneath price range, unique"
ย ย ย vars:
ย ย ย ย ย persona: "a 40 yr previous lady who loves pure wine and performs pickleball"
ย ย ย ย ย price range: "$100"
ย ย ย assert:
ย ย ย ย ย - kind: g-eval
ย ย ย ย ย ย ย worth:
ย ย ย ย ย ย ย ย ย - "Test if the present is well attainable and cheap"
ย ย ย ย ย ย ย ย ย - "Test if the present is probably going beneath $100"
ย ย ย ย ย ย ย ย ย - "Test if the present can be thought-about unique by the typical American grownup"
ย - description: "Sean - reply relevance"
ย ย ย vars:
ย ย ย ย ย persona: "a 25 yr previous man who rock climbs, goes to raves, and lives in Hayes Valley"
ย ย ย ย ย price range: "$50"
ย ย ย assert:
ย ย ย ย ย - kind: answer-relevance
ย ย ย ย ย ย ย threshold: 0.7
Iโll in all probability need to run the take a look at circumstances repeatedly to check the consequences of temperature modifications throughout a number of same-input runs. In that case, I’d use the repeat param like:
promptfoo eval --repeat 3
Conclusion
Temperature is an easy numerical parameter, however donโt be deceived by its simplicity: it may possibly have far-reaching implications for any LLM utility.
Tuning it excellent is essential to getting the conduct you need โ too low, and your mannequin performs it too protected; too excessive, and it begins spouting unpredictable responses. With instruments like promptfoo, you possibly can systematically take a look at completely different settings and discover your Goldilocks zone โ not too chilly, not too scorching, however excellent. ๏ธ
















