ToolChoiceSerializer
Custom serializer for ToolChoice that handles both string and object formats.
According to the OpenAI specification, tool_choice can be:
A simple string ("auto" or "none")
An object with type "function" and a function field
This serializer automatically converts between these formats.