This worked great about an hour ago. But now when I try to run with strict set to true and additionalProperties set to false, the functions don’t work anymore.
Heading back to the dashboard it looks like my functions have strict set back to false.
This worked great about an hour ago. But now when I try to run with strict set to true and additionalProperties set to false, the functions don’t work anymore.
Heading back to the dashboard it looks like my functions have strict set back to false.
I am also seeing this, everytime I save as true, and go back into the editor it has been reverted to false.
We are noticing this as well!
Wonderful. Then I’m not going crazy!!
The weirdest thing is I just went to check the runs, and the functions are listed there with the “additionalProperties” keys, but the “strict”: true keys have been stripped from every function (even though they show up in the dashboard).
Getting the same error, hopefully they fix it soon.
We’re also getting FORBIDDEN on a previously-working assistant.
The development team is aware of this, please be patient!
Update: The FORBIDDEN issue was due to an extra / in the path, it worked before the announcement and suddenly stopped so I suspect they “fixed” it, which raised the issue on our end. False alarm.
Still seeing the “strict”: true reversion, thanks @grandell1234 for the update hope this is resolved soon!
This issue is now fixed! The strict
setting will stay persisted. Please let us know if you are still seeing the bug.
Hi! Thanks for this. I’m not sure if it is being effective.
We just did some calls using functions and it seems that it isn’t “strictly” returning. I have a schema with 4 top level properties (of type string), and it is now only returning 2.
I started noticing this behaviour at the start of the week, until now it has been extremely good at returning the exact schema (without the ability to set strict). I had found earlier in the week that if I tweak the schema, sometimes it starts returning all data again. I tried this trick again today and it didn’t seem to have an effect.
I thought it might be something to do with the new parsing you have, and turning strict on would fix it, but that seems not to be the case! I could do several calls that ask for 1 thing only I guess, but that would be less than ideal.
Note: I wrote this post a few hours ago and deleted it because I thought that we were putting “strict” in the wrong location, but it turns out that seems to be an issue with the guide vs the API docs - see this forum post here I made asking you to correct the guide
Is any one else noticing this behaviour, or am I using function calls incorrectly? We have been trying a whole range of things just to get our old function calling working again - but will next attempt using the new structured output and see if that has an effect. I would still expect function calls to work though
Edit:
Just to prove I am not crazy, here is the data of an anonymsed call we are doing to openai:
{
"request": {
"call": "client.chat.completions.create",
"data": {
"model": "gpt-4o",
"tools": [
{
"type": "function",
"function": {
"name": "summary",
"strict": true,
"parameters": {
"type": "object",
"required": [
"x1",
"x2",
"x3",
"x4"
],
"properties": {
"x1": {
"type": "string",
"description": "aaa"
},
"x2": {
"type": "string",
"description": "bbb"
},
"x3": {
"type": "string",
"description": "ccc"
},
"x4": {
"type": "string",
"description": "dddd"
}
},
"additionalProperties": false
},
"description": "foo"
}
}
],
"messages": [
{
"role": "user",
"content": "bar"
}
],
"max_tokens": 4096,
"temperature": 0.7,
"tool_choice": "required"
},
"vendor": "openai"
},
"task_id": 454
}
I get back this response:
{
"x1": "yyy",
"x2": "zzz"
}
It does say strict = true so it should in theory send a full json that matches the schema I would have thought!
Update: If I change the model to 4o-mini it seems to work, but 4o and 4-turbo both seem to fail
@ishaans While you’re looking at the Assistants V2 UI, I found another bug: