[ Edit, Add ] edited and updated docs of fine-tune model directory files code

This commit is contained in:
Anas Fikhi
2023-11-22 03:33:24 +01:00
parent fb0cad3234
commit d551c12ae5
5 changed files with 74 additions and 32 deletions

View File

@ -14,16 +14,16 @@ export 'stream/fine_tun_event.dart';
/// {@endtemplate}
@immutable
final class OpenAIFineTuneModel {
/// The ID of the fine-tuning job.
/// The [id]entifier of the fine-tuning job.
final String id;
/// The model used for fine-tuning.
/// The [model] used for fine-tuning.
final String model;
/// The date the fine-tuning job was created.
/// The date the fine-tuning job was [created].
final DateTime createdAt;
/// The events generated by the fine-tuning job.
/// The [events] generated by the fine-tuning job.
final List<OpenAIFineTuneEventModel>? events;
/// The fine-tuned model.
@ -32,7 +32,7 @@ final class OpenAIFineTuneModel {
/// The hyperparameters used for fine-tuning.
final OpenAIFineTuneHyperParamsModel? hyperparams;
/// The ID of the organization that owns the fine-tuning job.
/// The [id]entifier of the organization that owns the fine-tuning job.
final String? organizationId;
/// The result files generated by the fine-tuning job.
@ -47,9 +47,46 @@ final class OpenAIFineTuneModel {
/// The training files used for fine-tuning.
final List<OpenAIFineTuneTrainingFilesModel?> trainingFiles;
/// The date the fine-tuning job was last updated.
/// The date the fine-tuning job was last [updated].
final DateTime? updatedAt;
/// Weither the fine-tuning job have at least one event in [events].
bool get haveEvents => events != null;
/// Weither the fine-tuning job have a fine-tuned model.
bool get haveFineTunedModel => fineTunedModel != null;
/// Weither the fine-tuning job have hyperparameters.
bool get haveHyperparams => hyperparams != null;
/// Weither the fine-tuning job have a organization [id].
bool get haveOrganizationId => organizationId != null;
/// Weither the fine-tuning job have at least one validation file in [validationFiles].
bool get haveValidationFiles => validationFiles != null;
/// Weither the fine-tuning job have at least one training file in [trainingFiles].
bool get haveTrainingFiles => trainingFiles.isNotEmpty;
/// Weither the fine-tuning job have a last update date.
bool get haveUpdatedAt => updatedAt != null;
@override
int get hashCode {
return id.hashCode ^
model.hashCode ^
createdAt.hashCode ^
events.hashCode ^
fineTunedModel.hashCode ^
hyperparams.hashCode ^
organizationId.hashCode ^
resultFiles.hashCode ^
status.hashCode ^
validationFiles.hashCode ^
trainingFiles.hashCode ^
updatedAt.hashCode;
}
/// {@macro openai_fine_tune_model}
const OpenAIFineTuneModel({
required this.id,
@ -114,20 +151,4 @@ final class OpenAIFineTuneModel {
listEquals(other.trainingFiles, trainingFiles) &&
other.updatedAt == updatedAt;
}
@override
int get hashCode {
return id.hashCode ^
model.hashCode ^
createdAt.hashCode ^
events.hashCode ^
fineTunedModel.hashCode ^
hyperparams.hashCode ^
organizationId.hashCode ^
resultFiles.hashCode ^
status.hashCode ^
validationFiles.hashCode ^
trainingFiles.hashCode ^
updatedAt.hashCode;
}
}

View File

@ -5,13 +5,13 @@ import 'package:meta/meta.dart';
/// {@endtemplate}
@immutable
final class OpenAIFineTuneEventStreamModel {
/// The level of the event.
/// The [level] of the event.
final String level;
/// The message of the event.
/// The [message] of the event.
final String message;
/// The time the event was created.
/// The time the event was [created].
final DateTime createdAt;
@override

View File

@ -5,15 +5,21 @@ import 'package:meta/meta.dart';
/// {@endtemplate}
@immutable
final class OpenAIFineTuneEventModel {
/// The date the event was created.
/// The date the event was [created].
final DateTime createdAt;
/// The level of the event.
/// The [level] of the event.
final String? level;
/// The message of the event.
/// The [message] of the event.
final String? message;
/// Weither the event have a level.
bool get haveLevel => level != null;
/// Weither the event have a message.
bool get haveMessage => message != null;
@override
int get hashCode => createdAt.hashCode ^ level.hashCode ^ message.hashCode;

View File

@ -17,6 +17,18 @@ final class OpenAIFineTuneHyperParamsModel {
/// The prompt loss weight used for fine-tuning.
final double? promptLossWeight;
/// Weither the hyper-parameters have a batch size.
bool get haveBatchSize => batchSize != null;
/// Weither the hyper-parameters have a learning rate multiplier.
bool get haveLearningRateMultiplier => learningRateMultiplier != null;
/// Weither the hyper-parameters have a number of epochs.
bool get haveNEpochs => nEpochs != null;
/// Weither the hyper-parameters have a prompt loss weight.
bool get havePromptLossWeight => promptLossWeight != null;
@override
int get hashCode {
return batchSize.hashCode ^

View File

@ -5,21 +5,24 @@ import 'package:meta/meta.dart';
/// {@endtemplate}
@immutable
final class OpenAIFineTuneTrainingFilesModel {
/// The id of the file.
/// The [id]entifier of the file.
final String id;
/// The number of bytes in the file.
/// The size of the file in [bytes].
final int bytes;
/// The time the file was created.
/// The time the file was [created].
final DateTime createdAt;
/// The name of the file.
final String filename;
/// The purpose of the file.
/// The [purpose] of the file.
final String? purpose;
/// Weither the file have a purpose.
bool get havePurpose => purpose != null;
@override
int get hashCode {
return id.hashCode ^