This is an automated email from the ASF dual-hosted git repository. aradzinski pushed a commit to branch NLPCRAFT-344 in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git
commit ad7fea7cbb242993da3ee0cae2e5436c4f097c82 Author: Aaron Radzinski <[email protected]> AuthorDate: Fri Jun 25 15:57:09 2021 -0700 WIP. --- .../scala/org/apache/nlpcraft/model/tools/cmdline/NCCli.scala | 9 ++++++++- .../org/apache/nlpcraft/model/tools/cmdline/NCCliBase.scala | 1 + .../apache/nlpcraft/model/tools/cmdline/NCCliCommands.scala | 10 +++++----- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCli.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCli.scala index 2676651..e7893db 100644 --- a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCli.scala +++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCli.scala @@ -1719,7 +1719,14 @@ object NCCli extends NCCliBase { private [cmdline] def cmdAsk(cmd: Command, args: Seq[Argument], repl: Boolean): Unit = state.accessToken match { case Some(acsTok) => - val mdlId = getParam(cmd, args, "mdlId") + val mdlId = getParamOpt(cmd, args, "mdlId") match { + case Some(id) => id + case None => + if (state.probes.size == 1 && state.probes.head.models.length == 1) + state.probes.head.models.head.id + else + throw MissingOptionalParameter(cmd, "mdlId") + } val txt = getParam(cmd, args, "txt") val data = getParamOrNull(cmd, args, "data") val enableLog = getFlagParam(cmd, args, "enableLog", dflt = false) diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCliBase.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCliBase.scala index 9a19e3e..bde8ddd 100644 --- a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCliBase.scala +++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCliBase.scala @@ -141,6 +141,7 @@ class NCCliBase extends App { case class TooManyArguments(cmd: Command) extends ISE(s"Too many arguments, ${help(cmd)}") case class NotEnoughArguments(cmd: Command) extends ISE(s"Not enough arguments, ${help(cmd)}") case class MissingParameter(cmd: Command, paramId: String) extends ISE( s"Missing mandatory parameter $C${"'" + cmd.params.find(_.id == paramId).get.names.head + "'"}$RST, ${help(cmd)}") + case class MissingOptionalParameter(cmd: Command, paramId: String) extends ISE( s"Missing optional but required in this context parameter $C${"'" + cmd.params.find(_.id == paramId).get.names.head + "'"}$RST, ${help(cmd)}") case class MissingMandatoryJsonParameters(cmd: Command, missingParams: Seq[RestSpecParameter], path: String) extends ISE(s"Missing mandatory JSON parameters (${missingParams.map(s => y(s.name)).mkString(",")}) for $C${"'" + cmd.name + s" --path=$path'"}$RST, ${help(cmd)}") case class InvalidParameter(cmd: Command, paramId: String) extends ISE(s"Invalid parameter $C${"'" + cmd.params.find(_.id == paramId).get.names.head + "'"}$RST, ${help(cmd)}") case class InvalidJsonParameter(cmd: Command, param: String) extends ISE(s"Invalid JSON parameter $C${"'" + param + "'"}$RST, ${help(cmd)}") diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCliCommands.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCliCommands.scala index 8235e5b..d78f8ab 100644 --- a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCliCommands.scala +++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCliCommands.scala @@ -299,9 +299,9 @@ private [cmdline] object NCCliCommands { value = Some("model.id"), optional = true, desc = - s"ID of the data model to send the request to. Note that this is optional ONLY if the connected " + - s"probe has only one model deployed - which will be used by default. If the probe has more " + - s"than one model deployed - this parameter is mandatory." + + s"ID of the data model to send the request to. Note that this is optional ONLY if there is only one " + + s"connected probe and it has only one model deployed - which will be used by default. In all other " + + s"cases - this parameter is mandatory." + s"In REPL mode, hit ${rv(" Tab ")} to see auto-suggestion for possible model IDs." ), Parameter( @@ -563,8 +563,8 @@ private [cmdline] object NCCliCommands { desc = s"ID of the model to run synonym suggestion on. " + s"In REPL mode, hit ${rv(" Tab ")} to see auto-suggestion for possible model IDs. Note that " + - s"this is optional ONLY if the connected probe has only one model deployed - which will be " + - s"used by default. If the probe has more than one model deployed - this parameter is mandatory." + s"this is optional ONLY if there is only one connected probe and it has only one model deployed - which will be " + + s"used by default. In all other cases - this parameter is mandatory." ), Parameter( id = "minScore",
