CreateMessageRequest.fromJson constructor

CreateMessageRequest.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory CreateMessageRequest.fromJson(Map<String, dynamic> json) {
  final List<dynamic> messagesList = json['messages'] as List<dynamic>? ?? [];
  final messages =
      messagesList
          .map((message) => Message.fromJson(message as Map<String, dynamic>))
          .toList();

  final List<dynamic>? stopSequencesList =
      json['stopSequences'] as List<dynamic>?;
  final stopSequences =
      stopSequencesList?.map((sequence) => sequence as String).toList();

  return CreateMessageRequest(
    messages: messages,
    modelPreferences:
        json['modelPreferences'] != null
            ? ModelPreferences.fromJson(
              json['modelPreferences'] as Map<String, dynamic>,
            )
            : null,
    systemPrompt: json['systemPrompt'] as String?,
    includeContext: json['includeContext'] as String?,
    maxTokens: json['maxTokens'] as int?,
    temperature:
        json['temperature'] != null
            ? (json['temperature'] as num).toDouble()
            : null,
    stopSequences: stopSequences,
    metadata:
        json['metadata'] != null
            ? (json['metadata'] as Map<dynamic, dynamic>)
                .cast<String, dynamic>()
            : null,
  );
}