import "dart:convert"; class Embedding { final int fileID; final Model model; final List embedding; int? updationTime; Embedding({ required this.fileID, required this.model, required this.embedding, this.updationTime, }); static List decodeEmbedding(String embedding) { return List.from(jsonDecode(embedding) as List); } static String encodeEmbedding(List embedding) { return jsonEncode(embedding); } } enum Model { onnxClip, ggmlClip, } extension ModelExtension on Model { String get name => serialize(this); } String serialize(Model model) { switch (model) { case Model.onnxClip: return 'onnx-clip'; case Model.ggmlClip: return 'ggml-clip'; default: throw Exception('$model is not a valid Model'); } } Model deserialize(String model) { switch (model) { case 'onnx-clip': return Model.onnxClip; case 'ggml-clip': return Model.ggmlClip; default: throw Exception('$model is not a valid Model'); } }