When using a function call on the gpt-3.5-turbo-0613 model I get an incorrect response format in the arguments property of the function. I recently added a “maxItems” property to the JSONSchema used to limit the amount of objects in the array which could be causing the issue but according to the docs this should be no issue.
I’ve also used the gpt-3.5-turbo-0125 model and here it seems that sometimes the function isn’t even used and a response is inserted into the content property of the message. Other times the array is way longer than 5 items.
Here is my request:
{
"messages": [
{
"role": "user",
"content": "Instruction ..."
}
],
"tool_choice": "auto",
"model": "gpt-3.5-turbo-0613",
"tools": [
{
"function": {
"name": "Get",
"description": "Get something",
"parameters": {
"type": "object",
"properties": {
"actions": {
"maxItems": 5,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"input": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"a",
"b",
"c"
]
}
},
"required": [
"id",
"type",
"input"
]
}
}
}
}
},
"type": "function"
}
]
}
The response from the 0125 model with too many items :
{
"created": 1708946219,
"usage": {
"completion_tokens": 1296,
"prompt_tokens": 6972,
"total_tokens": 8268
},
"model": "gpt-3.5-turbo-0125",
"id": "chatcmpl-xxxx",
"choices": [
{
"finish_reason": "stop",
"index": 0,
"message": {
"role": "assistant",
"tool_calls": [
{
"function": {
"name": "Get",
"arguments": "{\"actions\":[{\"id\":\"0.0.0\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.0.1\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.0.8\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.0.9\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.0.10\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.0.11\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.0.12\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.0.13\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.0.14\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.0.15\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.0.16\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.0.17\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.0.18\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.0.19\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.0.20\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.0.21\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.0.22\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.0.23\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.0.0\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0.0.1\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0.1.0\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0.0.1.1\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0.0.1.2\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0.0.1.3\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0.0.2.0\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0.0.2.1\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0.0.2.2\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0.0.2.3\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0.0.3.0\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0.0.3.1\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0.0.3.2\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0.0.3.3\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0.0.4.0\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0.0.4.1\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0.0.4.2\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0.0.4.3\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0.0.5.0\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0.0.5.1\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0.0.5.2\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0.0.5.3\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0.0.6.0\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0.0.6.1\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0.0.6.2\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0.0.6.3\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0.0.7.0\",\"input\":\"a\",\"type\":\"a\"},{\"id\":\"0.1.0.0.4.0.0."
},
"id": "call_xxx",
"type": "function"
}
],
"content": null
},
"logprobs": null
}
],
"system_fingerprint": "xx",
"object": "chat.completion"
}
Is anybody experiencing the same issue? Any help is greatly appreciated.