openai_compat library
OpenAI 互換 Chat Completions API のリクエスト構築・レスポンス解析ヘルパー。
import 'package:ai_box/openai_compat.dart'; して使う。
OpenAI 互換の各プロバイダーパッケージ
(chatgpt_box / deepseek_box / grok_box / minimax_box / openrouter_box)が
共有する実装で、アプリから直接使う想定ではない。
画像・音声・ファイル・ツール呼び出し・構造化出力を raw JSON として 組み立てる(freezed のコード生成に依存しない)。
Functions
-
buildOpenAiBody(
LLMCompletionRequest request, {required String maxTokensKey}) → Map< String, dynamic> - LLMCompletionRequest を OpenAI 互換のリクエストボディに変換する。
-
openAiChunksFromEvents(
Stream< Map< events, {String? provider}) → Stream<String, dynamic> >LLMStreamChunk> -
OpenAI 互換のストリーミングイベント(
chat.completion.chunk)列を LLMStreamChunk 列へ変換する。 -
parseOpenAiResponse(
Map< String, dynamic> data) → LLMCompletionResponse - OpenAI 互換のレスポンスボディを LLMCompletionResponse に変換する。
-
postOpenAiJson(
{required String url, required String apiKey, required String provider, required Map< String, dynamic> body, Map<String, String> extraHeaders = const {}}) → Future<Map< String, dynamic> > - OpenAI 互換 API に POST し、JSON ボディを返す。失敗時は LLMException。
-
streamOpenAiCompletions(
{required String url, required String apiKey, required String provider, required LLMCompletionRequest request, required String maxTokensKey, bool includeUsage = false, Map< String, String> extraHeaders = const {}}) → Stream<LLMStreamChunk> -
OpenAI 互換 API へ
stream: trueで POST し、LLMStreamChunk を流す。