I believe that when you set the strict schema, there is some more rigorous validation, including on the depth of your schema, and number of nesting levels. They actually specify this restriction of 100 object properties here.
My suggestion would be to try and refactor the schema (e.g. can you use enums for one object instead of defining multiple objects). Another approach is to sub-divide it into smaller sub-schemas, and do a call for each one - more expensive and slower of course.
So strict = false means that lot of validation checks are not done, one of them being the depth/nesting limit. Other checks are also not done. Setting strict = true basically means that you are conforming exactly to OpenAI’s interpretation of the JSON schema spec.
I’ll look into dividing the 413 into 5 separate function calls, run them parallel.
File Search only allows for text response formats, that could be another route, but I image the same schema limit issue.
What the goal of the assistant is to pull specific info from a long pdf and put them into a +40 tab excel file (strict template). Maybe there’s another workaround for that, sending through the Excel template along with the pdf and having the assistant fill out the template?
Setting "strict": true implies that a schema artifact, scoped at the organization level, is constructed and cached based on the parsing of the response_format parameter on specific models. This schema artifact enforces a structured pattern on the logit generation process, which is then applied to the token sampling algorithm for future use. This prevents the output of sequences that do not comply with the schema. This feature has implications beyond just the language provided to the AI, including practical infrastructure considerations related to size and performance. Therefore, you will encounter particular new input schema level rejections during preprocessing, based on length, nesting, or other restrictions that have been placed.
I would go with the former - I have never seen it conform well to a spreadsheet or doc template. So defining 4-5 schemas that provide specific information, sending those along with the data/PDF should give you what you need.