syntax = "proto3";

message Text {
    string text = 1;
}

message Embedding {
    string embedding = 1;
}

message TrainingConfig {
    string training_data_filename = 1;
    string validation_data_filename = 2;
    string test_data_filename = 3;
    repeated Embedding embeddings = 4;
    int32 epochs = 5;
    float learning_rate = 6;
    int32 batch_size = 7;
    string model_filename = 8;
}

message TrainingStatus {
    string status_text = 1;
}

service FlairModel {
    rpc startTraining(TrainingConfig) returns(TrainingStatus);
    rpc extract_entities_from_text(Text) returns (Text);
}

