Jean-Marc Le Roux cac411b56a
Fix broken $ref instances in tool JSON schemas (#4201)
When the tool expects complex inputs that require nested models, pydantic will generate a JSON Schema that will include references to other schemas using the `$ref` keyword (cf https://json-schema.org/understanding-json-schema/structuring#dollarref).

But the `$ref` keyword is not supported by OpenAI.

This fix:

1. Resolves the references and inlines the corresponding schemas.
2. Removes the then useless root `$defs` field of the JSON schema to save tokens.

Co-authored-by: Jean-Marc Le Roux <contact@jmlx.io>
Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>
2024-11-15 13:40:46 -05:00
..
2024-09-23 20:10:57 +00:00
2024-09-23 20:10:57 +00:00