Azure OpenAIのStream機能を利用すると全ての回答生成の完了を待つことなく少しづつ結果を表示することができます。ChatGPTのような感じですね。 ただ、実際に使ってみると1文字ずつ表示されるのではなく、ある程度の文字の塊ごとに表示されるため、少し見栄えが良くないと感じました。 これを解消する方法を探していたところ、以下の記事を見つけました。 qiita.com 記事内ではJavaScriptを利用しているため、C#での実装方法について考えてみたいと思います。 環境 実装のポイント Queueクラス Timerクラス ソースコード 終わりに 環境 C# コンソールアプリ(.NET 8) Azure.AI.OpenAI 2.0.0 実装のポイント 今回の実装をするにあたり、ポイントとなるクラスは以下の通りです。 Queueクラス Streamで受け取った文字を一時的に格納して、