Tag

#streaming

1 articles

AI & Agents11 min read

ローカルLLMとクラウドLLMを同じ土俵に載せる — プロバイダ抽象化とブートストラップ設計

プライバシー重視のユーザーはローカルLLM(Ollama)を、品質重視のユーザーはクラウドを選びます。Marianのチャット基盤は provider パラメータ1つでOllama・OpenAI互換サーバー・Geminiを切り替え、NDJSONとSSEという異なるストリーミング形式を共通のチャンク列へ正規化します。さらに「Ollama未インストール」から「モデル取得済み」までを導く決定的ステートマシンのブートストラップウィザード(I/Oゼロの純粋関数)を実装しました。その設計を解説します。