diff --git a/src/main/java/de/extio/lmdatasetprep/LmDatasetPreparerApplication.java b/src/main/java/de/extio/lmdatasetprep/LmDatasetPreparerApplication.java index 8fd3266..290f918 100755 --- a/src/main/java/de/extio/lmdatasetprep/LmDatasetPreparerApplication.java +++ b/src/main/java/de/extio/lmdatasetprep/LmDatasetPreparerApplication.java @@ -1,5 +1,6 @@ package de.extio.lmdatasetprep; +import java.util.Arrays; import java.util.function.Consumer; import org.slf4j.Logger; @@ -13,6 +14,8 @@ import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.context.annotation.ComponentScan; +import de.extio.lmdatasetprep.preparer.DatasetTool; + @SpringBootApplication @EnableCaching @ComponentScan(basePackages = { "de.extio.lmdatasetprep", "de.extio.lmlib" }) @@ -31,12 +34,14 @@ public class LmDatasetPreparerApplication implements CommandLineRunner, Applicat public void run(final String... args) throws Exception { if (args.length == 0) { LOGGER.error("Commandline argument is missing: Provide the tool name as argument"); + this.logAvailableTools(); return; } final var bean = applicationContext.getBean(args[0]); - if (!(bean instanceof Consumer)) { + if (!(bean instanceof Consumer) || !(bean instanceof DatasetTool)) { LOGGER.error("Invalid bean {}", args[0]); + this.logAvailableTools(); return; } @@ -49,6 +54,10 @@ public class LmDatasetPreparerApplication implements CommandLineRunner, Applicat } } + private void logAvailableTools() { + LOGGER.error("Available tools: {}", Arrays.toString(applicationContext.getBeanNamesForType(DatasetTool.class))); + } + @Override public void setApplicationContext(final ApplicationContext appContext) throws BeansException { applicationContext = appContext; diff --git a/src/main/java/de/extio/lmdatasetprep/preparer/DatasetTool.java b/src/main/java/de/extio/lmdatasetprep/preparer/DatasetTool.java new file mode 100644 index 0000000..2798ea2 --- /dev/null +++ b/src/main/java/de/extio/lmdatasetprep/preparer/DatasetTool.java @@ -0,0 +1,6 @@ +package de.extio.lmdatasetprep.preparer; + + +public interface DatasetTool { + +} diff --git a/src/main/java/de/extio/lmdatasetprep/preparer/MergeJsonl.java b/src/main/java/de/extio/lmdatasetprep/preparer/MergeJsonl.java index 7e3dd71..d3decc4 100644 --- a/src/main/java/de/extio/lmdatasetprep/preparer/MergeJsonl.java +++ b/src/main/java/de/extio/lmdatasetprep/preparer/MergeJsonl.java @@ -15,7 +15,7 @@ import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @Component -public class MergeJsonl implements Consumer { +public class MergeJsonl implements Consumer, DatasetTool { private static final byte[] NEWLINE = "\n".getBytes(StandardCharsets.UTF_8); diff --git a/src/main/java/de/extio/lmdatasetprep/preparer/Rewrite.java b/src/main/java/de/extio/lmdatasetprep/preparer/Rewrite.java index 70f35e2..a4189a7 100644 --- a/src/main/java/de/extio/lmdatasetprep/preparer/Rewrite.java +++ b/src/main/java/de/extio/lmdatasetprep/preparer/Rewrite.java @@ -19,7 +19,7 @@ import de.extio.lmlib.client.ClientService; import de.extio.lmlib.profile.ModelCategory; @Component -public class Rewrite implements Consumer { +public class Rewrite implements Consumer, DatasetTool { private static final Logger LOGGER = LoggerFactory.getLogger(Rewrite.class); diff --git a/src/main/java/de/extio/lmdatasetprep/preparer/Text2Jsonl.java b/src/main/java/de/extio/lmdatasetprep/preparer/Text2Jsonl.java index cf88e36..951a9bf 100644 --- a/src/main/java/de/extio/lmdatasetprep/preparer/Text2Jsonl.java +++ b/src/main/java/de/extio/lmdatasetprep/preparer/Text2Jsonl.java @@ -16,7 +16,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @Component -public class Text2Jsonl implements Consumer { +public class Text2Jsonl implements Consumer, DatasetTool { private static final Logger LOGGER = LoggerFactory.getLogger(Text2Jsonl.class); diff --git a/src/main/java/de/extio/lmdatasetprep/preparer/Text2Jsonl2HistoryInstructCompletion.java b/src/main/java/de/extio/lmdatasetprep/preparer/Text2Jsonl2HistoryInstructCompletion.java index 23deaea..4363634 100644 --- a/src/main/java/de/extio/lmdatasetprep/preparer/Text2Jsonl2HistoryInstructCompletion.java +++ b/src/main/java/de/extio/lmdatasetprep/preparer/Text2Jsonl2HistoryInstructCompletion.java @@ -13,7 +13,7 @@ import org.springframework.stereotype.Component; import com.fasterxml.jackson.databind.ObjectMapper; @Component -public class Text2Jsonl2HistoryInstructCompletion extends AbstractContextualPrompts { +public class Text2Jsonl2HistoryInstructCompletion extends AbstractContextualPrompts implements DatasetTool { private static final Logger LOGGER = LoggerFactory.getLogger(Text2Jsonl2HistoryInstructCompletion.class); diff --git a/src/main/java/de/extio/lmdatasetprep/preparer/Text2Jsonl2WithContextualPrompts.java b/src/main/java/de/extio/lmdatasetprep/preparer/Text2Jsonl2WithContextualPrompts.java index 1a001a1..dfaa3da 100644 --- a/src/main/java/de/extio/lmdatasetprep/preparer/Text2Jsonl2WithContextualPrompts.java +++ b/src/main/java/de/extio/lmdatasetprep/preparer/Text2Jsonl2WithContextualPrompts.java @@ -13,7 +13,7 @@ import org.springframework.stereotype.Component; import com.fasterxml.jackson.databind.ObjectMapper; @Component -public class Text2Jsonl2WithContextualPrompts extends AbstractContextualPrompts { +public class Text2Jsonl2WithContextualPrompts extends AbstractContextualPrompts implements DatasetTool { private static final Logger LOGGER = LoggerFactory.getLogger(Text2Jsonl2WithContextualPrompts.class); diff --git a/src/main/java/de/extio/lmdatasetprep/preparer/Translate.java b/src/main/java/de/extio/lmdatasetprep/preparer/Translate.java index 85a1100..741c16b 100644 --- a/src/main/java/de/extio/lmdatasetprep/preparer/Translate.java +++ b/src/main/java/de/extio/lmdatasetprep/preparer/Translate.java @@ -17,7 +17,7 @@ import de.extio.lmlib.client.ClientService; import de.extio.lmlib.profile.ModelCategory; @Component -public class Translate implements Consumer { +public class Translate implements Consumer, DatasetTool { private static final Logger LOGGER = LoggerFactory.getLogger(Translate.class);