https://rahulkavale.github.io/posts/streaming-llm-responses-and-structure/
Balancing Act: Using Structured Output with Streaming in LLMs - Rahul Kavale