Specifying units seems to be unreliable; I tried adding a description to the set_thermostat temperature:
"temperature": {
"type": "number",
"description": "degrees Fahrenheit"
},
Set the living room temperature to 70 degrees Celsius {
"function_calls": [
{
"name": "set_thermostat",
"arguments": {
"room": "living room",
"temperature": 70,
"mode": "cool"
}
}
],
"confidence": 0.6045
}
Set the living room temperature to 70 degrees Fahrenheit {
"function_calls": [
{
"name": "set_thermostat",
"arguments": {
"room": "living room",
"temperature": 70,
"mode": "heat"
}
}
],
"confidence": 0.4536
}
Set the living room temperature to 70 degrees {
"function_calls": [
{
"name": "set_thermostat",
"arguments": {
"room": "living room",
"temperature": 70
}
}
],
"confidence": 0.8517
}
Trying "in degrees Fahrenheit" for the tool description had similarly counterintuitive confidences.Edit: to be clear, the counterintuitive behavior is that the confidence ended up higher for the wrong units.