diff --git a/src/lexocraft/llm/text_completion_training.cpp b/src/lexocraft/llm/text_completion_training.cpp new file mode 100644 index 0000000..e69de29 diff --git a/src/lexocraft/llm/text_completion_training.hpp b/src/lexocraft/llm/text_completion_training.hpp index 05c485e..a426b48 100644 --- a/src/lexocraft/llm/text_completion_training.hpp +++ b/src/lexocraft/llm/text_completion_training.hpp @@ -2,21 +2,31 @@ #define LEXOCRAFT_TEXT_COMPLETION_TRAINING_HPP #include +#include #include #include namespace lc { - class TextCompletionTraining { + class TextCompletionTrainer { public: - enum class Modifier { - EphemeralMemory = 0b0001, - ContextBuilder = 0b0010, - word_vector_improviser = 0b0100, + struct TrainingModification { + std::optional ephemeral_memory_diff; + std::optional context_builder_diff; + std::optional word_vector_improviser_diff; + + float original_cost {}; + float improved_cost {}; }; std::optional text_completer; + + TrainingModification + train_neural_network(const std::vector& training_data_sections); + TrainingModification train_neural_network(const std::string& training_data); + + TextCompleter& apply_training_modification(const TrainingModification& modification); }; } // namespace lc