You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ts...@apache.org on 2024/07/19 07:56:24 UTC
(camel) branch main updated: camel-djl - Add query parameter showProgress for controlling progress display
This is an automated email from the ASF dual-hosted git repository.
tsato pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new fbbfce720f2 camel-djl - Add query parameter showProgress for controlling progress display
fbbfce720f2 is described below
commit fbbfce720f291a4d0a09bcdbeab1f3d83c3adfbd
Author: Tadayoshi Sato <sa...@gmail.com>
AuthorDate: Fri Jul 19 16:20:36 2024 +0900
camel-djl - Add query parameter showProgress for controlling progress display
---
.../org/apache/camel/catalog/components/djl.json | 5 +-
.../camel/component/djl/DJLEndpointConfigurer.java | 6 ++
.../camel/component/djl/DJLEndpointUriFactory.java | 3 +-
.../org/apache/camel/component/djl/djl.json | 5 +-
.../apache/camel/component/djl/DJLEndpoint.java | 14 ++-
.../apache/camel/component/djl/DJLProducer.java | 6 +-
.../component/djl/model/AbstractPredictor.java | 10 ++
.../djl/model/ModelPredictorProducer.java | 101 +++++++++++----------
.../djl/model/audio/CustomAudioPredictor.java | 8 +-
.../djl/model/audio/ZooAudioPredictor.java | 16 +++-
.../djl/model/cv/AbstractCvZooPredictor.java | 5 +
.../component/djl/model/cv/CustomCvPredictor.java | 8 +-
.../model/cv/CustomImageGenerationPredictor.java | 8 +-
.../model/cv/ZooActionRecognitionPredictor.java | 18 ++--
.../model/cv/ZooImageClassificationPredictor.java | 18 ++--
.../djl/model/cv/ZooImageEnhancementPredictor.java | 18 ++--
.../djl/model/cv/ZooImageGenerationPredictor.java | 18 ++--
.../model/cv/ZooInstanceSegmentationPredictor.java | 18 ++--
.../djl/model/cv/ZooObjectDetectionPredictor.java | 17 +++-
.../djl/model/cv/ZooPoseEstimationPredictor.java | 17 +++-
.../model/cv/ZooSemanticSegmentationPredictor.java | 18 ++--
.../djl/model/cv/ZooWordRecognitionPredictor.java | 18 ++--
.../djl/model/nlp/AbstractNlpZooPredictor.java | 5 +
.../djl/model/nlp/CustomNlpPredictor.java | 8 +-
.../model/nlp/CustomQuestionAnswerPredictor.java | 8 +-
.../model/nlp/CustomWordEmbeddingPredictor.java | 5 +-
.../djl/model/nlp/ZooFillMaskPredictor.java | 16 +++-
.../model/nlp/ZooMachineTranslationPredictor.java | 18 ++--
.../djl/model/nlp/ZooMultipleChoicePredictor.java | 18 ++--
.../djl/model/nlp/ZooQuestionAnswerPredictor.java | 17 +++-
.../model/nlp/ZooSentimentAnalysisPredictor.java | 18 ++--
.../model/nlp/ZooTextClassificationPredictor.java | 18 ++--
.../djl/model/nlp/ZooTextEmbeddingPredictor.java | 18 ++--
.../djl/model/nlp/ZooTextGenerationPredictor.java | 18 ++--
.../model/nlp/ZooTokenClassificationPredictor.java | 18 ++--
.../djl/model/nlp/ZooWordEmbeddingPredictor.java | 18 ++--
.../djl/model/tabular/CustomTabularPredictor.java | 8 +-
.../tabular/ZooLinearRegressionPredictor.java | 5 +-
.../tabular/ZooSoftmaxRegressionPredictor.java | 5 +-
.../timeseries/CustomForecastingPredictor.java | 8 +-
.../model/timeseries/ZooForecastingPredictor.java | 15 ++-
.../component/djl/CvImageClassificationTest.java | 2 +-
.../djl/model/ModelPredictorProducerTest.java | 82 ++++++++++-------
.../endpoint/dsl/DJLEndpointBuilderFactory.java | 32 +++++++
.../apache/camel/kotlin/components/DjlUriDsl.kt | 14 +++
45 files changed, 490 insertions(+), 239 deletions(-)
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/djl.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/djl.json
index fa3488ad131..cc6c624650b 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/djl.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/djl.json
@@ -33,7 +33,8 @@
"application": { "index": 0, "kind": "path", "displayName": "Application", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Application name" },
"artifactId": { "index": 1, "kind": "parameter", "displayName": "Artifact Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Model Artifact" },
"model": { "index": 2, "kind": "parameter", "displayName": "Model", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Model" },
- "translator": { "index": 3, "kind": "parameter", "displayName": "Translator", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Translator" },
- "lazyStartProducer": { "index": 4, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produc [...]
+ "showProgress": { "index": 3, "kind": "parameter", "displayName": "Show Progress", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Show progress while loading zoo models. This parameter takes effect only with zoo models" },
+ "translator": { "index": 4, "kind": "parameter", "displayName": "Translator", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Translator" },
+ "lazyStartProducer": { "index": 5, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produc [...]
}
}
diff --git a/components/camel-ai/camel-djl/src/generated/java/org/apache/camel/component/djl/DJLEndpointConfigurer.java b/components/camel-ai/camel-djl/src/generated/java/org/apache/camel/component/djl/DJLEndpointConfigurer.java
index 37227ac0024..b6c2e92d257 100644
--- a/components/camel-ai/camel-djl/src/generated/java/org/apache/camel/component/djl/DJLEndpointConfigurer.java
+++ b/components/camel-ai/camel-djl/src/generated/java/org/apache/camel/component/djl/DJLEndpointConfigurer.java
@@ -28,6 +28,8 @@ public class DJLEndpointConfigurer extends PropertyConfigurerSupport implements
case "lazystartproducer":
case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
case "model": target.setModel(property(camelContext, java.lang.String.class, value)); return true;
+ case "showprogress":
+ case "showProgress": target.setShowProgress(property(camelContext, boolean.class, value)); return true;
case "translator": target.setTranslator(property(camelContext, java.lang.String.class, value)); return true;
default: return false;
}
@@ -41,6 +43,8 @@ public class DJLEndpointConfigurer extends PropertyConfigurerSupport implements
case "lazystartproducer":
case "lazyStartProducer": return boolean.class;
case "model": return java.lang.String.class;
+ case "showprogress":
+ case "showProgress": return boolean.class;
case "translator": return java.lang.String.class;
default: return null;
}
@@ -55,6 +59,8 @@ public class DJLEndpointConfigurer extends PropertyConfigurerSupport implements
case "lazystartproducer":
case "lazyStartProducer": return target.isLazyStartProducer();
case "model": return target.getModel();
+ case "showprogress":
+ case "showProgress": return target.isShowProgress();
case "translator": return target.getTranslator();
default: return null;
}
diff --git a/components/camel-ai/camel-djl/src/generated/java/org/apache/camel/component/djl/DJLEndpointUriFactory.java b/components/camel-ai/camel-djl/src/generated/java/org/apache/camel/component/djl/DJLEndpointUriFactory.java
index 1a595362a0c..88913e35131 100644
--- a/components/camel-ai/camel-djl/src/generated/java/org/apache/camel/component/djl/DJLEndpointUriFactory.java
+++ b/components/camel-ai/camel-djl/src/generated/java/org/apache/camel/component/djl/DJLEndpointUriFactory.java
@@ -23,11 +23,12 @@ public class DJLEndpointUriFactory extends org.apache.camel.support.component.En
private static final Set<String> SECRET_PROPERTY_NAMES;
private static final Set<String> MULTI_VALUE_PREFIXES;
static {
- Set<String> props = new HashSet<>(5);
+ Set<String> props = new HashSet<>(6);
props.add("application");
props.add("artifactId");
props.add("lazyStartProducer");
props.add("model");
+ props.add("showProgress");
props.add("translator");
PROPERTY_NAMES = Collections.unmodifiableSet(props);
SECRET_PROPERTY_NAMES = Collections.emptySet();
diff --git a/components/camel-ai/camel-djl/src/generated/resources/META-INF/org/apache/camel/component/djl/djl.json b/components/camel-ai/camel-djl/src/generated/resources/META-INF/org/apache/camel/component/djl/djl.json
index fa3488ad131..cc6c624650b 100644
--- a/components/camel-ai/camel-djl/src/generated/resources/META-INF/org/apache/camel/component/djl/djl.json
+++ b/components/camel-ai/camel-djl/src/generated/resources/META-INF/org/apache/camel/component/djl/djl.json
@@ -33,7 +33,8 @@
"application": { "index": 0, "kind": "path", "displayName": "Application", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Application name" },
"artifactId": { "index": 1, "kind": "parameter", "displayName": "Artifact Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Model Artifact" },
"model": { "index": 2, "kind": "parameter", "displayName": "Model", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Model" },
- "translator": { "index": 3, "kind": "parameter", "displayName": "Translator", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Translator" },
- "lazyStartProducer": { "index": 4, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produc [...]
+ "showProgress": { "index": 3, "kind": "parameter", "displayName": "Show Progress", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Show progress while loading zoo models. This parameter takes effect only with zoo models" },
+ "translator": { "index": 4, "kind": "parameter", "displayName": "Translator", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Translator" },
+ "lazyStartProducer": { "index": 5, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produc [...]
}
}
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/DJLEndpoint.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/DJLEndpoint.java
index 4f20b84579c..04487a883de 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/DJLEndpoint.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/DJLEndpoint.java
@@ -36,12 +36,16 @@ public class DJLEndpoint extends DefaultEndpoint {
@UriPath
@Metadata(required = true, description = "Application name")
private String application;
+
@UriParam(description = "Model Artifact")
private String artifactId;
@UriParam(description = "Model")
private String model;
@UriParam(description = "Translator")
private String translator;
+ @UriParam(description = "Show progress while loading zoo models. This parameter takes effect only with zoo models",
+ defaultValue = "false")
+ private boolean showProgress;
public DJLEndpoint(String uri, DJLComponent component, String application) {
super(uri, component);
@@ -57,7 +61,7 @@ public class DJLEndpoint extends DefaultEndpoint {
return new DJLProducer(this);
}
- public Consumer createConsumer(Processor processor) throws Exception {
+ public Consumer createConsumer(Processor processor) {
throw new UnsupportedOperationException("Consumer not supported");
}
@@ -92,4 +96,12 @@ public class DJLEndpoint extends DefaultEndpoint {
public void setTranslator(String translator) {
this.translator = translator;
}
+
+ public boolean isShowProgress() {
+ return showProgress;
+ }
+
+ public void setShowProgress(boolean showProgress) {
+ this.showProgress = showProgress;
+ }
}
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/DJLProducer.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/DJLProducer.java
index 584c6af394d..d82c57fac13 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/DJLProducer.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/DJLProducer.java
@@ -27,11 +27,9 @@ public class DJLProducer extends DefaultProducer {
public DJLProducer(DJLEndpoint endpoint) throws Exception {
super(endpoint);
if (endpoint.getArtifactId() != null) {
- this.predictor = ModelPredictorProducer.getZooPredictor(
- endpoint.getApplication(), endpoint.getArtifactId());
+ this.predictor = ModelPredictorProducer.getZooPredictor(endpoint);
} else {
- this.predictor = ModelPredictorProducer.getCustomPredictor(
- endpoint.getApplication(), endpoint.getModel(), endpoint.getTranslator());
+ this.predictor = ModelPredictorProducer.getCustomPredictor(endpoint);
}
}
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/AbstractPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/AbstractPredictor.java
index 87bc1d30bcc..ab3c489feb2 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/AbstractPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/AbstractPredictor.java
@@ -17,11 +17,21 @@
package org.apache.camel.component.djl.model;
import org.apache.camel.Exchange;
+import org.apache.camel.component.djl.DJLEndpoint;
public abstract class AbstractPredictor {
protected static final String FAILED_TO_TRANSFORM_MESSAGE = "Couldn't transform input into a BufferedImage";
+ private final DJLEndpoint endpoint;
+
+ public AbstractPredictor(DJLEndpoint endpoint) {
+ this.endpoint = endpoint;
+ }
+
public abstract void process(Exchange exchange) throws Exception;
+ protected DJLEndpoint getEndpoint() {
+ return endpoint;
+ }
}
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/ModelPredictorProducer.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/ModelPredictorProducer.java
index bf52aaefabf..3cf86bbcf71 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/ModelPredictorProducer.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/ModelPredictorProducer.java
@@ -28,6 +28,7 @@ import ai.djl.modality.cv.output.Joints;
import ai.djl.ndarray.NDArray;
import ai.djl.repository.zoo.ModelNotFoundException;
import org.apache.camel.RuntimeCamelException;
+import org.apache.camel.component.djl.DJLEndpoint;
import org.apache.camel.component.djl.model.audio.CustomAudioPredictor;
import org.apache.camel.component.djl.model.audio.ZooAudioPredictor;
import org.apache.camel.component.djl.model.cv.CustomCvPredictor;
@@ -89,132 +90,136 @@ public final class ModelPredictorProducer {
// No-op; won't be called
}
- public static AbstractPredictor getZooPredictor(String applicationPath, String artifactId)
+ public static AbstractPredictor getZooPredictor(DJLEndpoint endpoint)
throws ModelNotFoundException, MalformedModelException, IOException {
+ String applicationPath = endpoint.getApplication();
+
// CV
if (IMAGE_CLASSIFICATION.getPath().equals(applicationPath)) {
- return new ZooImageClassificationPredictor(artifactId);
+ return new ZooImageClassificationPredictor(endpoint);
} else if (OBJECT_DETECTION.getPath().equals(applicationPath)) {
- return new ZooObjectDetectionPredictor(artifactId);
+ return new ZooObjectDetectionPredictor(endpoint);
} else if (SEMANTIC_SEGMENTATION.getPath().equals(applicationPath)) {
- return new ZooSemanticSegmentationPredictor(artifactId);
+ return new ZooSemanticSegmentationPredictor(endpoint);
} else if (INSTANCE_SEGMENTATION.getPath().equals(applicationPath)) {
- return new ZooInstanceSegmentationPredictor(artifactId);
+ return new ZooInstanceSegmentationPredictor(endpoint);
} else if (POSE_ESTIMATION.getPath().equals(applicationPath)) {
- return new ZooPoseEstimationPredictor(artifactId);
+ return new ZooPoseEstimationPredictor(endpoint);
} else if (ACTION_RECOGNITION.getPath().equals(applicationPath)) {
- return new ZooActionRecognitionPredictor(artifactId);
+ return new ZooActionRecognitionPredictor(endpoint);
} else if (WORD_RECOGNITION.getPath().equals(applicationPath)) {
- return new ZooWordRecognitionPredictor(artifactId);
+ return new ZooWordRecognitionPredictor(endpoint);
} else if (IMAGE_GENERATION.getPath().equals(applicationPath)) {
- return new ZooImageGenerationPredictor(artifactId);
+ return new ZooImageGenerationPredictor(endpoint);
} else if (IMAGE_ENHANCEMENT.getPath().equals(applicationPath)) {
- return new ZooImageEnhancementPredictor(artifactId);
+ return new ZooImageEnhancementPredictor(endpoint);
}
// NLP
if (FILL_MASK.getPath().equals(applicationPath)) {
- return new ZooFillMaskPredictor(artifactId);
+ return new ZooFillMaskPredictor(endpoint);
} else if (QUESTION_ANSWER.getPath().equals(applicationPath)) {
- return new ZooQuestionAnswerPredictor(artifactId);
+ return new ZooQuestionAnswerPredictor(endpoint);
} else if (TEXT_CLASSIFICATION.getPath().equals(applicationPath)) {
- return new ZooTextClassificationPredictor(artifactId);
+ return new ZooTextClassificationPredictor(endpoint);
} else if (SENTIMENT_ANALYSIS.getPath().equals(applicationPath)) {
- return new ZooSentimentAnalysisPredictor(artifactId);
+ return new ZooSentimentAnalysisPredictor(endpoint);
} else if (TOKEN_CLASSIFICATION.getPath().equals(applicationPath)) {
- return new ZooTokenClassificationPredictor(artifactId);
+ return new ZooTokenClassificationPredictor(endpoint);
} else if (WORD_EMBEDDING.getPath().equals(applicationPath)) {
- return new ZooWordEmbeddingPredictor(artifactId);
+ return new ZooWordEmbeddingPredictor(endpoint);
} else if (TEXT_GENERATION.getPath().equals(applicationPath)) {
- return new ZooTextGenerationPredictor(artifactId);
+ return new ZooTextGenerationPredictor(endpoint);
} else if (MACHINE_TRANSLATION.getPath().equals(applicationPath)) {
- return new ZooMachineTranslationPredictor(artifactId);
+ return new ZooMachineTranslationPredictor(endpoint);
} else if (MULTIPLE_CHOICE.getPath().equals(applicationPath)) {
- return new ZooMultipleChoicePredictor(artifactId);
+ return new ZooMultipleChoicePredictor(endpoint);
} else if (TEXT_EMBEDDING.getPath().equals(applicationPath)) {
- return new ZooTextEmbeddingPredictor(artifactId);
+ return new ZooTextEmbeddingPredictor(endpoint);
}
// Tabular
if (LINEAR_REGRESSION.getPath().equals(applicationPath)) {
- return new ZooLinearRegressionPredictor(artifactId);
+ return new ZooLinearRegressionPredictor(endpoint);
} else if (SOFTMAX_REGRESSION.getPath().equals(applicationPath)) {
- return new ZooSoftmaxRegressionPredictor(artifactId);
+ return new ZooSoftmaxRegressionPredictor(endpoint);
}
// Audio
if (Application.Audio.ANY.getPath().equals(applicationPath)) {
- return new ZooAudioPredictor(artifactId);
+ return new ZooAudioPredictor(endpoint);
}
// Time Series
if (FORECASTING.getPath().equals(applicationPath)) {
- return new ZooForecastingPredictor(artifactId);
+ return new ZooForecastingPredictor(endpoint);
}
throw new RuntimeCamelException("Application not supported: " + applicationPath);
}
- public static AbstractPredictor getCustomPredictor(String applicationPath, String model, String translator) {
+ public static AbstractPredictor getCustomPredictor(DJLEndpoint endpoint) {
+ String applicationPath = endpoint.getApplication();
+
// CV
if (applicationPath.equals(IMAGE_CLASSIFICATION.getPath())) {
- return new CustomCvPredictor<Classifications>(model, translator);
+ return new CustomCvPredictor<Classifications>(endpoint);
} else if (applicationPath.equals(OBJECT_DETECTION.getPath())) {
- return new CustomCvPredictor<DetectedObjects>(model, translator);
+ return new CustomCvPredictor<DetectedObjects>(endpoint);
} else if (SEMANTIC_SEGMENTATION.getPath().equals(applicationPath)) {
- return new CustomCvPredictor<CategoryMask>(model, translator);
+ return new CustomCvPredictor<CategoryMask>(endpoint);
} else if (INSTANCE_SEGMENTATION.getPath().equals(applicationPath)) {
- return new CustomCvPredictor<DetectedObjects>(model, translator);
+ return new CustomCvPredictor<DetectedObjects>(endpoint);
} else if (POSE_ESTIMATION.getPath().equals(applicationPath)) {
- return new CustomCvPredictor<Joints>(model, translator);
+ return new CustomCvPredictor<Joints>(endpoint);
} else if (ACTION_RECOGNITION.getPath().equals(applicationPath)) {
- return new CustomCvPredictor<Classifications>(model, translator);
+ return new CustomCvPredictor<Classifications>(endpoint);
} else if (WORD_RECOGNITION.getPath().equals(applicationPath)) {
- return new CustomCvPredictor<String>(model, translator);
+ return new CustomCvPredictor<String>(endpoint);
} else if (IMAGE_GENERATION.getPath().equals(applicationPath)) {
- return new CustomImageGenerationPredictor(model, translator);
+ return new CustomImageGenerationPredictor(endpoint);
} else if (IMAGE_ENHANCEMENT.getPath().equals(applicationPath)) {
- return new CustomCvPredictor<Image>(model, translator);
+ return new CustomCvPredictor<Image>(endpoint);
}
// NLP
if (FILL_MASK.getPath().equals(applicationPath)) {
- return new CustomNlpPredictor<String[]>(model, translator);
+ return new CustomNlpPredictor<String[]>(endpoint);
} else if (QUESTION_ANSWER.getPath().equals(applicationPath)) {
- return new CustomQuestionAnswerPredictor(model, translator);
+ return new CustomQuestionAnswerPredictor(endpoint);
} else if (TEXT_CLASSIFICATION.getPath().equals(applicationPath)) {
- return new CustomNlpPredictor<Classifications>(model, translator);
+ return new CustomNlpPredictor<Classifications>(endpoint);
} else if (SENTIMENT_ANALYSIS.getPath().equals(applicationPath)) {
- return new CustomNlpPredictor<Classifications>(model, translator);
+ return new CustomNlpPredictor<Classifications>(endpoint);
} else if (TOKEN_CLASSIFICATION.getPath().equals(applicationPath)) {
- return new CustomNlpPredictor<Classifications>(model, translator);
+ return new CustomNlpPredictor<Classifications>(endpoint);
} else if (WORD_EMBEDDING.getPath().equals(applicationPath)) {
- return new CustomWordEmbeddingPredictor(model, translator);
+ return new CustomWordEmbeddingPredictor(endpoint);
} else if (TEXT_GENERATION.getPath().equals(applicationPath)) {
- return new CustomNlpPredictor<String>(model, translator);
+ return new CustomNlpPredictor<String>(endpoint);
} else if (MACHINE_TRANSLATION.getPath().equals(applicationPath)) {
- return new CustomNlpPredictor<String>(model, translator);
+ return new CustomNlpPredictor<String>(endpoint);
} else if (MULTIPLE_CHOICE.getPath().equals(applicationPath)) {
- return new CustomNlpPredictor<String>(model, translator);
+ return new CustomNlpPredictor<String>(endpoint);
} else if (TEXT_EMBEDDING.getPath().equals(applicationPath)) {
- return new CustomNlpPredictor<NDArray>(model, translator);
+ return new CustomNlpPredictor<NDArray>(endpoint);
}
// Tabular
if (LINEAR_REGRESSION.getPath().equals(applicationPath)) {
- return new CustomTabularPredictor(model, translator);
+ return new CustomTabularPredictor(endpoint);
} else if (SOFTMAX_REGRESSION.getPath().equals(applicationPath)) {
- return new CustomTabularPredictor(model, translator);
+ return new CustomTabularPredictor(endpoint);
}
// Audio
if (Application.Audio.ANY.getPath().equals(applicationPath)) {
- return new CustomAudioPredictor(model, translator);
+ return new CustomAudioPredictor(endpoint);
}
// Time Series
if (FORECASTING.getPath().equals(applicationPath)) {
- return new CustomForecastingPredictor(model, translator);
+ return new CustomForecastingPredictor(endpoint);
}
throw new RuntimeCamelException("Application not supported: " + applicationPath);
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/audio/CustomAudioPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/audio/CustomAudioPredictor.java
index a2f390e8815..3b2bb48dd1f 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/audio/CustomAudioPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/audio/CustomAudioPredictor.java
@@ -31,6 +31,7 @@ import ai.djl.translate.Translator;
import org.apache.camel.Exchange;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.component.djl.DJLConstants;
+import org.apache.camel.component.djl.DJLEndpoint;
import org.apache.camel.component.djl.model.AbstractPredictor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -42,9 +43,10 @@ public class CustomAudioPredictor extends AbstractPredictor {
protected final String modelName;
protected final String translatorName;
- public CustomAudioPredictor(String modelName, String translatorName) {
- this.modelName = modelName;
- this.translatorName = translatorName;
+ public CustomAudioPredictor(DJLEndpoint endpoint) {
+ super(endpoint);
+ this.modelName = endpoint.getModel();
+ this.translatorName = endpoint.getTranslator();
}
@Override
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/audio/ZooAudioPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/audio/ZooAudioPredictor.java
index 3bd18a049e6..e8750976383 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/audio/ZooAudioPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/audio/ZooAudioPredictor.java
@@ -36,6 +36,7 @@ import ai.djl.translate.TranslateException;
import org.apache.camel.Exchange;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.component.djl.DJLConstants;
+import org.apache.camel.component.djl.DJLEndpoint;
import org.apache.camel.component.djl.model.AbstractPredictor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -46,13 +47,18 @@ public class ZooAudioPredictor extends AbstractPredictor {
private final ZooModel<Audio, String> model;
- public ZooAudioPredictor(String artifactId) throws ModelNotFoundException, MalformedModelException, IOException {
- Criteria<Audio, String> criteria = Criteria.builder()
+ public ZooAudioPredictor(DJLEndpoint endpoint) throws ModelNotFoundException, MalformedModelException, IOException {
+ super(endpoint);
+
+ Criteria.Builder<Audio, String> builder = Criteria.builder()
.optApplication(Application.Audio.ANY)
.setTypes(Audio.class, String.class)
- .optArtifactId(artifactId)
- .optProgress(new ProgressBar())
- .build();
+ .optArtifactId(endpoint.getArtifactId());
+ if (endpoint.isShowProgress()) {
+ builder.optProgress(new ProgressBar());
+ }
+
+ Criteria<Audio, String> criteria = builder.build();
this.model = ModelZoo.loadModel(criteria);
}
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/AbstractCvZooPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/AbstractCvZooPredictor.java
index 12a1aad8915..737183d7692 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/AbstractCvZooPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/AbstractCvZooPredictor.java
@@ -30,6 +30,7 @@ import ai.djl.translate.TranslateException;
import org.apache.camel.Exchange;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.component.djl.DJLConstants;
+import org.apache.camel.component.djl.DJLEndpoint;
import org.apache.camel.component.djl.model.AbstractPredictor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -40,6 +41,10 @@ public abstract class AbstractCvZooPredictor<T> extends AbstractPredictor {
protected ZooModel<Image, T> model;
+ public AbstractCvZooPredictor(DJLEndpoint endpoint) {
+ super(endpoint);
+ }
+
@Override
public void process(Exchange exchange) {
Object body = exchange.getIn().getBody();
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/CustomCvPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/CustomCvPredictor.java
index 56c3d9a54b0..3f4905798af 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/CustomCvPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/CustomCvPredictor.java
@@ -31,6 +31,7 @@ import ai.djl.translate.Translator;
import org.apache.camel.Exchange;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.component.djl.DJLConstants;
+import org.apache.camel.component.djl.DJLEndpoint;
import org.apache.camel.component.djl.model.AbstractPredictor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -42,9 +43,10 @@ public class CustomCvPredictor<T> extends AbstractPredictor {
protected final String modelName;
protected final String translatorName;
- public CustomCvPredictor(String modelName, String translatorName) {
- this.modelName = modelName;
- this.translatorName = translatorName;
+ public CustomCvPredictor(DJLEndpoint endpoint) {
+ super(endpoint);
+ this.modelName = endpoint.getModel();
+ this.translatorName = endpoint.getTranslator();
}
@Override
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/CustomImageGenerationPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/CustomImageGenerationPredictor.java
index 8bfa1dbcd5e..a2f5197503d 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/CustomImageGenerationPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/CustomImageGenerationPredictor.java
@@ -24,6 +24,7 @@ import ai.djl.translate.Translator;
import org.apache.camel.Exchange;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.component.djl.DJLConstants;
+import org.apache.camel.component.djl.DJLEndpoint;
import org.apache.camel.component.djl.model.AbstractPredictor;
public class CustomImageGenerationPredictor extends AbstractPredictor {
@@ -31,9 +32,10 @@ public class CustomImageGenerationPredictor extends AbstractPredictor {
private final String modelName;
private final String translatorName;
- public CustomImageGenerationPredictor(String modelName, String translatorName) {
- this.modelName = modelName;
- this.translatorName = translatorName;
+ public CustomImageGenerationPredictor(DJLEndpoint endpoint) {
+ super(endpoint);
+ this.modelName = endpoint.getModel();
+ this.translatorName = endpoint.getTranslator();
}
@Override
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooActionRecognitionPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooActionRecognitionPredictor.java
index 6965ff4ba85..88d021cfb5b 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooActionRecognitionPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooActionRecognitionPredictor.java
@@ -26,16 +26,22 @@ import ai.djl.repository.zoo.Criteria;
import ai.djl.repository.zoo.ModelNotFoundException;
import ai.djl.repository.zoo.ModelZoo;
import ai.djl.training.util.ProgressBar;
+import org.apache.camel.component.djl.DJLEndpoint;
public class ZooActionRecognitionPredictor extends AbstractCvZooPredictor<Classifications> {
- public ZooActionRecognitionPredictor(String artifactId) throws ModelNotFoundException, MalformedModelException,
- IOException {
- Criteria<Image, Classifications> criteria = Criteria.builder()
+ public ZooActionRecognitionPredictor(DJLEndpoint endpoint) throws ModelNotFoundException, MalformedModelException,
+ IOException {
+ super(endpoint);
+
+ Criteria.Builder<Image, Classifications> builder = Criteria.builder()
.optApplication(Application.CV.ACTION_RECOGNITION)
.setTypes(Image.class, Classifications.class)
- .optArtifactId(artifactId)
- .optProgress(new ProgressBar())
- .build();
+ .optArtifactId(endpoint.getArtifactId());
+ if (endpoint.isShowProgress()) {
+ builder.optProgress(new ProgressBar());
+ }
+
+ Criteria<Image, Classifications> criteria = builder.build();
this.model = ModelZoo.loadModel(criteria);
}
}
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooImageClassificationPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooImageClassificationPredictor.java
index f4555950dba..0e1f387ff7c 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooImageClassificationPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooImageClassificationPredictor.java
@@ -26,17 +26,23 @@ import ai.djl.repository.zoo.Criteria;
import ai.djl.repository.zoo.ModelNotFoundException;
import ai.djl.repository.zoo.ModelZoo;
import ai.djl.training.util.ProgressBar;
+import org.apache.camel.component.djl.DJLEndpoint;
public class ZooImageClassificationPredictor extends AbstractCvZooPredictor<Classifications> {
- public ZooImageClassificationPredictor(String artifactId) throws ModelNotFoundException, MalformedModelException,
- IOException {
- Criteria<Image, Classifications> criteria = Criteria.builder()
+ public ZooImageClassificationPredictor(DJLEndpoint endpoint) throws ModelNotFoundException, MalformedModelException,
+ IOException {
+ super(endpoint);
+
+ Criteria.Builder<Image, Classifications> builder = Criteria.builder()
.optApplication(Application.CV.IMAGE_CLASSIFICATION)
.setTypes(Image.class, Classifications.class)
- .optArtifactId(artifactId)
- .optProgress(new ProgressBar())
- .build();
+ .optArtifactId(endpoint.getArtifactId());
+ if (endpoint.isShowProgress()) {
+ builder.optProgress(new ProgressBar());
+ }
+
+ Criteria<Image, Classifications> criteria = builder.build();
this.model = ModelZoo.loadModel(criteria);
}
}
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooImageEnhancementPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooImageEnhancementPredictor.java
index 8b4fdc98abe..05ecd581810 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooImageEnhancementPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooImageEnhancementPredictor.java
@@ -25,17 +25,23 @@ import ai.djl.repository.zoo.Criteria;
import ai.djl.repository.zoo.ModelNotFoundException;
import ai.djl.repository.zoo.ModelZoo;
import ai.djl.training.util.ProgressBar;
+import org.apache.camel.component.djl.DJLEndpoint;
public class ZooImageEnhancementPredictor extends AbstractCvZooPredictor<Image> {
- public ZooImageEnhancementPredictor(String artifactId) throws ModelNotFoundException, MalformedModelException,
- IOException {
- Criteria<Image, Image> criteria = Criteria.builder()
+ public ZooImageEnhancementPredictor(DJLEndpoint endpoint) throws ModelNotFoundException, MalformedModelException,
+ IOException {
+ super(endpoint);
+
+ Criteria.Builder<Image, Image> builder = Criteria.builder()
.optApplication(Application.CV.IMAGE_ENHANCEMENT)
.setTypes(Image.class, Image.class)
- .optArtifactId(artifactId)
- .optProgress(new ProgressBar())
- .build();
+ .optArtifactId(endpoint.getArtifactId());
+ if (endpoint.isShowProgress()) {
+ builder.optProgress(new ProgressBar());
+ }
+
+ Criteria<Image, Image> criteria = builder.build();
this.model = ModelZoo.loadModel(criteria);
}
}
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooImageGenerationPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooImageGenerationPredictor.java
index 7e3a77e84cc..9101e7fd22b 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooImageGenerationPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooImageGenerationPredictor.java
@@ -31,20 +31,26 @@ import ai.djl.translate.TranslateException;
import org.apache.camel.Exchange;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.component.djl.DJLConstants;
+import org.apache.camel.component.djl.DJLEndpoint;
import org.apache.camel.component.djl.model.AbstractPredictor;
public class ZooImageGenerationPredictor extends AbstractPredictor {
protected ZooModel<int[], Image[]> model;
- public ZooImageGenerationPredictor(String artifactId) throws ModelNotFoundException, MalformedModelException,
- IOException {
- Criteria<int[], Image[]> criteria = Criteria.builder()
+ public ZooImageGenerationPredictor(DJLEndpoint endpoint) throws ModelNotFoundException, MalformedModelException,
+ IOException {
+ super(endpoint);
+
+ Criteria.Builder<int[], Image[]> builder = Criteria.builder()
.optApplication(Application.CV.IMAGE_GENERATION)
.setTypes(int[].class, Image[].class)
- .optArtifactId(artifactId)
- .optProgress(new ProgressBar())
- .build();
+ .optArtifactId(endpoint.getArtifactId());
+ if (endpoint.isShowProgress()) {
+ builder.optProgress(new ProgressBar());
+ }
+
+ Criteria<int[], Image[]> criteria = builder.build();
this.model = ModelZoo.loadModel(criteria);
}
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooInstanceSegmentationPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooInstanceSegmentationPredictor.java
index 9741b1e7dda..dbb11b3e502 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooInstanceSegmentationPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooInstanceSegmentationPredictor.java
@@ -26,17 +26,23 @@ import ai.djl.repository.zoo.Criteria;
import ai.djl.repository.zoo.ModelNotFoundException;
import ai.djl.repository.zoo.ModelZoo;
import ai.djl.training.util.ProgressBar;
+import org.apache.camel.component.djl.DJLEndpoint;
public class ZooInstanceSegmentationPredictor extends AbstractCvZooPredictor<DetectedObjects> {
- public ZooInstanceSegmentationPredictor(String artifactId) throws ModelNotFoundException, MalformedModelException,
- IOException {
- Criteria<Image, DetectedObjects> criteria = Criteria.builder()
+ public ZooInstanceSegmentationPredictor(DJLEndpoint endpoint) throws ModelNotFoundException, MalformedModelException,
+ IOException {
+ super(endpoint);
+
+ Criteria.Builder<Image, DetectedObjects> builder = Criteria.builder()
.optApplication(Application.CV.INSTANCE_SEGMENTATION)
.setTypes(Image.class, DetectedObjects.class)
- .optArtifactId(artifactId)
- .optProgress(new ProgressBar())
- .build();
+ .optArtifactId(endpoint.getArtifactId());
+ if (endpoint.isShowProgress()) {
+ builder.optProgress(new ProgressBar());
+ }
+
+ Criteria<Image, DetectedObjects> criteria = builder.build();
this.model = ModelZoo.loadModel(criteria);
}
}
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooObjectDetectionPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooObjectDetectionPredictor.java
index 7e918a7cb50..ab24c407fd1 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooObjectDetectionPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooObjectDetectionPredictor.java
@@ -26,16 +26,23 @@ import ai.djl.repository.zoo.Criteria;
import ai.djl.repository.zoo.ModelNotFoundException;
import ai.djl.repository.zoo.ModelZoo;
import ai.djl.training.util.ProgressBar;
+import org.apache.camel.component.djl.DJLEndpoint;
public class ZooObjectDetectionPredictor extends AbstractCvZooPredictor<DetectedObjects> {
- public ZooObjectDetectionPredictor(String artifactId) throws ModelNotFoundException, MalformedModelException, IOException {
- Criteria<Image, DetectedObjects> criteria = Criteria.builder()
+ public ZooObjectDetectionPredictor(DJLEndpoint endpoint) throws ModelNotFoundException, MalformedModelException,
+ IOException {
+ super(endpoint);
+
+ Criteria.Builder<Image, DetectedObjects> builder = Criteria.builder()
.optApplication(Application.CV.OBJECT_DETECTION)
.setTypes(Image.class, DetectedObjects.class)
- .optArtifactId(artifactId)
- .optProgress(new ProgressBar())
- .build();
+ .optArtifactId(endpoint.getArtifactId());
+ if (endpoint.isShowProgress()) {
+ builder.optProgress(new ProgressBar());
+ }
+
+ Criteria<Image, DetectedObjects> criteria = builder.build();
this.model = ModelZoo.loadModel(criteria);
}
}
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooPoseEstimationPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooPoseEstimationPredictor.java
index 3edf7659957..5e2794f63af 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooPoseEstimationPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooPoseEstimationPredictor.java
@@ -26,15 +26,22 @@ import ai.djl.repository.zoo.Criteria;
import ai.djl.repository.zoo.ModelNotFoundException;
import ai.djl.repository.zoo.ModelZoo;
import ai.djl.training.util.ProgressBar;
+import org.apache.camel.component.djl.DJLEndpoint;
public class ZooPoseEstimationPredictor extends AbstractCvZooPredictor<Joints> {
- public ZooPoseEstimationPredictor(String artifactId) throws ModelNotFoundException, MalformedModelException, IOException {
- Criteria<Image, Joints> criteria = Criteria.builder()
+ public ZooPoseEstimationPredictor(DJLEndpoint endpoint) throws ModelNotFoundException, MalformedModelException,
+ IOException {
+ super(endpoint);
+
+ Criteria.Builder<Image, Joints> builder = Criteria.builder()
.optApplication(Application.CV.POSE_ESTIMATION)
.setTypes(Image.class, Joints.class)
- .optArtifactId(artifactId)
- .optProgress(new ProgressBar())
- .build();
+ .optArtifactId(endpoint.getArtifactId());
+ if (endpoint.isShowProgress()) {
+ builder.optProgress(new ProgressBar());
+ }
+
+ Criteria<Image, Joints> criteria = builder.build();
this.model = ModelZoo.loadModel(criteria);
}
}
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooSemanticSegmentationPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooSemanticSegmentationPredictor.java
index d1d8143d103..7c4fa5c8ac4 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooSemanticSegmentationPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooSemanticSegmentationPredictor.java
@@ -26,17 +26,23 @@ import ai.djl.repository.zoo.Criteria;
import ai.djl.repository.zoo.ModelNotFoundException;
import ai.djl.repository.zoo.ModelZoo;
import ai.djl.training.util.ProgressBar;
+import org.apache.camel.component.djl.DJLEndpoint;
public class ZooSemanticSegmentationPredictor extends AbstractCvZooPredictor<CategoryMask> {
- public ZooSemanticSegmentationPredictor(String artifactId) throws ModelNotFoundException, MalformedModelException,
- IOException {
- Criteria<Image, CategoryMask> criteria = Criteria.builder()
+ public ZooSemanticSegmentationPredictor(DJLEndpoint endpoint) throws ModelNotFoundException, MalformedModelException,
+ IOException {
+ super(endpoint);
+
+ Criteria.Builder<Image, CategoryMask> builder = Criteria.builder()
.optApplication(Application.CV.SEMANTIC_SEGMENTATION)
.setTypes(Image.class, CategoryMask.class)
- .optArtifactId(artifactId)
- .optProgress(new ProgressBar())
- .build();
+ .optArtifactId(endpoint.getArtifactId());
+ if (endpoint.isShowProgress()) {
+ builder.optProgress(new ProgressBar());
+ }
+
+ Criteria<Image, CategoryMask> criteria = builder.build();
this.model = ModelZoo.loadModel(criteria);
}
}
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooWordRecognitionPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooWordRecognitionPredictor.java
index 682e9336898..67df9996368 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooWordRecognitionPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/cv/ZooWordRecognitionPredictor.java
@@ -25,17 +25,23 @@ import ai.djl.repository.zoo.Criteria;
import ai.djl.repository.zoo.ModelNotFoundException;
import ai.djl.repository.zoo.ModelZoo;
import ai.djl.training.util.ProgressBar;
+import org.apache.camel.component.djl.DJLEndpoint;
public class ZooWordRecognitionPredictor extends AbstractCvZooPredictor<String> {
- public ZooWordRecognitionPredictor(String artifactId) throws ModelNotFoundException, MalformedModelException,
- IOException {
- Criteria<Image, String> criteria = Criteria.builder()
+ public ZooWordRecognitionPredictor(DJLEndpoint endpoint) throws ModelNotFoundException, MalformedModelException,
+ IOException {
+ super(endpoint);
+
+ Criteria.Builder<Image, String> builder = Criteria.builder()
.optApplication(Application.CV.WORD_RECOGNITION)
.setTypes(Image.class, String.class)
- .optArtifactId(artifactId)
- .optProgress(new ProgressBar())
- .build();
+ .optArtifactId(endpoint.getArtifactId());
+ if (endpoint.isShowProgress()) {
+ builder.optProgress(new ProgressBar());
+ }
+
+ Criteria<Image, String> criteria = builder.build();
this.model = ModelZoo.loadModel(criteria);
}
}
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/AbstractNlpZooPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/AbstractNlpZooPredictor.java
index bed368f64dd..9feeae72ca9 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/AbstractNlpZooPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/AbstractNlpZooPredictor.java
@@ -22,12 +22,17 @@ import ai.djl.translate.TranslateException;
import org.apache.camel.Exchange;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.component.djl.DJLConstants;
+import org.apache.camel.component.djl.DJLEndpoint;
import org.apache.camel.component.djl.model.AbstractPredictor;
public abstract class AbstractNlpZooPredictor<T> extends AbstractPredictor {
protected ZooModel<String, T> model;
+ public AbstractNlpZooPredictor(DJLEndpoint endpoint) {
+ super(endpoint);
+ }
+
@Override
public void process(Exchange exchange) {
if (exchange.getIn().getBody() instanceof String) {
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomNlpPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomNlpPredictor.java
index 54157ab53b4..dfe3a0a9c0e 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomNlpPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomNlpPredictor.java
@@ -23,6 +23,7 @@ import ai.djl.translate.Translator;
import org.apache.camel.Exchange;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.component.djl.DJLConstants;
+import org.apache.camel.component.djl.DJLEndpoint;
import org.apache.camel.component.djl.model.AbstractPredictor;
public class CustomNlpPredictor<T> extends AbstractPredictor {
@@ -30,9 +31,10 @@ public class CustomNlpPredictor<T> extends AbstractPredictor {
protected final String modelName;
protected final String translatorName;
- public CustomNlpPredictor(String modelName, String translatorName) {
- this.modelName = modelName;
- this.translatorName = translatorName;
+ public CustomNlpPredictor(DJLEndpoint endpoint) {
+ super(endpoint);
+ this.modelName = endpoint.getModel();
+ this.translatorName = endpoint.getTranslator();
}
@Override
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomQuestionAnswerPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomQuestionAnswerPredictor.java
index ab162c69567..e54d172fa28 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomQuestionAnswerPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomQuestionAnswerPredictor.java
@@ -24,6 +24,7 @@ import ai.djl.translate.Translator;
import org.apache.camel.Exchange;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.component.djl.DJLConstants;
+import org.apache.camel.component.djl.DJLEndpoint;
import org.apache.camel.component.djl.model.AbstractPredictor;
public class CustomQuestionAnswerPredictor extends AbstractPredictor {
@@ -31,9 +32,10 @@ public class CustomQuestionAnswerPredictor extends AbstractPredictor {
private final String modelName;
private final String translatorName;
- public CustomQuestionAnswerPredictor(String modelName, String translatorName) {
- this.modelName = modelName;
- this.translatorName = translatorName;
+ public CustomQuestionAnswerPredictor(DJLEndpoint endpoint) {
+ super(endpoint);
+ this.modelName = endpoint.getModel();
+ this.translatorName = endpoint.getTranslator();
}
@Override
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomWordEmbeddingPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomWordEmbeddingPredictor.java
index a9df3b4e062..3a83c14a141 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomWordEmbeddingPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/CustomWordEmbeddingPredictor.java
@@ -18,11 +18,12 @@ package org.apache.camel.component.djl.model.nlp;
import ai.djl.ndarray.NDList;
import org.apache.camel.Exchange;
+import org.apache.camel.component.djl.DJLEndpoint;
public class CustomWordEmbeddingPredictor extends CustomNlpPredictor<NDList> {
- public CustomWordEmbeddingPredictor(String modelName, String translatorName) {
- super(modelName, translatorName);
+ public CustomWordEmbeddingPredictor(DJLEndpoint endpoint) {
+ super(endpoint);
}
@Override
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooFillMaskPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooFillMaskPredictor.java
index 4bc85b0d997..691553b0b69 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooFillMaskPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooFillMaskPredictor.java
@@ -24,16 +24,22 @@ import ai.djl.repository.zoo.Criteria;
import ai.djl.repository.zoo.ModelNotFoundException;
import ai.djl.repository.zoo.ModelZoo;
import ai.djl.training.util.ProgressBar;
+import org.apache.camel.component.djl.DJLEndpoint;
public class ZooFillMaskPredictor extends AbstractNlpZooPredictor<String[]> {
- public ZooFillMaskPredictor(String artifactId) throws ModelNotFoundException, MalformedModelException, IOException {
- Criteria<String, String[]> criteria = Criteria.builder()
+ public ZooFillMaskPredictor(DJLEndpoint endpoint) throws ModelNotFoundException, MalformedModelException, IOException {
+ super(endpoint);
+
+ Criteria.Builder<String, String[]> builder = Criteria.builder()
.optApplication(Application.NLP.FILL_MASK)
.setTypes(String.class, String[].class)
- .optArtifactId(artifactId)
- .optProgress(new ProgressBar())
- .build();
+ .optArtifactId(endpoint.getArtifactId());
+ if (endpoint.isShowProgress()) {
+ builder.optProgress(new ProgressBar());
+ }
+
+ Criteria<String, String[]> criteria = builder.build();
this.model = ModelZoo.loadModel(criteria);
}
}
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooMachineTranslationPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooMachineTranslationPredictor.java
index e6df6fb109e..666dde0d66a 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooMachineTranslationPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooMachineTranslationPredictor.java
@@ -24,17 +24,23 @@ import ai.djl.repository.zoo.Criteria;
import ai.djl.repository.zoo.ModelNotFoundException;
import ai.djl.repository.zoo.ModelZoo;
import ai.djl.training.util.ProgressBar;
+import org.apache.camel.component.djl.DJLEndpoint;
public class ZooMachineTranslationPredictor extends AbstractNlpZooPredictor<String> {
- public ZooMachineTranslationPredictor(String artifactId) throws ModelNotFoundException, MalformedModelException,
- IOException {
- Criteria<String, String> criteria = Criteria.builder()
+ public ZooMachineTranslationPredictor(DJLEndpoint endpoint) throws ModelNotFoundException, MalformedModelException,
+ IOException {
+ super(endpoint);
+
+ Criteria.Builder<String, String> builder = Criteria.builder()
.optApplication(Application.NLP.MACHINE_TRANSLATION)
.setTypes(String.class, String.class)
- .optArtifactId(artifactId)
- .optProgress(new ProgressBar())
- .build();
+ .optArtifactId(endpoint.getArtifactId());
+ if (endpoint.isShowProgress()) {
+ builder.optProgress(new ProgressBar());
+ }
+
+ Criteria<String, String> criteria = builder.build();
this.model = ModelZoo.loadModel(criteria);
}
}
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooMultipleChoicePredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooMultipleChoicePredictor.java
index 324b4be0192..f10240d97b7 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooMultipleChoicePredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooMultipleChoicePredictor.java
@@ -24,17 +24,23 @@ import ai.djl.repository.zoo.Criteria;
import ai.djl.repository.zoo.ModelNotFoundException;
import ai.djl.repository.zoo.ModelZoo;
import ai.djl.training.util.ProgressBar;
+import org.apache.camel.component.djl.DJLEndpoint;
public class ZooMultipleChoicePredictor extends AbstractNlpZooPredictor<String> {
- public ZooMultipleChoicePredictor(String artifactId) throws ModelNotFoundException, MalformedModelException,
- IOException {
- Criteria<String, String> criteria = Criteria.builder()
+ public ZooMultipleChoicePredictor(DJLEndpoint endpoint) throws ModelNotFoundException, MalformedModelException,
+ IOException {
+ super(endpoint);
+
+ Criteria.Builder<String, String> builder = Criteria.builder()
.optApplication(Application.NLP.MULTIPLE_CHOICE)
.setTypes(String.class, String.class)
- .optArtifactId(artifactId)
- .optProgress(new ProgressBar())
- .build();
+ .optArtifactId(endpoint.getArtifactId());
+ if (endpoint.isShowProgress()) {
+ builder.optProgress(new ProgressBar());
+ }
+
+ Criteria<String, String> criteria = builder.build();
this.model = ModelZoo.loadModel(criteria);
}
}
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooQuestionAnswerPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooQuestionAnswerPredictor.java
index a64e5c579b8..259d2916496 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooQuestionAnswerPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooQuestionAnswerPredictor.java
@@ -31,19 +31,26 @@ import ai.djl.translate.TranslateException;
import org.apache.camel.Exchange;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.component.djl.DJLConstants;
+import org.apache.camel.component.djl.DJLEndpoint;
import org.apache.camel.component.djl.model.AbstractPredictor;
public class ZooQuestionAnswerPredictor extends AbstractPredictor {
private final ZooModel<QAInput, String> model;
- public ZooQuestionAnswerPredictor(String artifactId) throws ModelNotFoundException, MalformedModelException, IOException {
- Criteria<QAInput, String> criteria = Criteria.builder()
+ public ZooQuestionAnswerPredictor(DJLEndpoint endpoint) throws ModelNotFoundException, MalformedModelException,
+ IOException {
+ super(endpoint);
+
+ Criteria.Builder<QAInput, String> builder = Criteria.builder()
.optApplication(Application.NLP.QUESTION_ANSWER)
.setTypes(QAInput.class, String.class)
- .optArtifactId(artifactId)
- .optProgress(new ProgressBar())
- .build();
+ .optArtifactId(endpoint.getArtifactId());
+ if (endpoint.isShowProgress()) {
+ builder.optProgress(new ProgressBar());
+ }
+
+ Criteria<QAInput, String> criteria = builder.build();
this.model = ModelZoo.loadModel(criteria);
}
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooSentimentAnalysisPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooSentimentAnalysisPredictor.java
index e43032730b4..9e5f35fd7e3 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooSentimentAnalysisPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooSentimentAnalysisPredictor.java
@@ -25,17 +25,23 @@ import ai.djl.repository.zoo.Criteria;
import ai.djl.repository.zoo.ModelNotFoundException;
import ai.djl.repository.zoo.ModelZoo;
import ai.djl.training.util.ProgressBar;
+import org.apache.camel.component.djl.DJLEndpoint;
public class ZooSentimentAnalysisPredictor extends AbstractNlpZooPredictor<Classifications> {
- public ZooSentimentAnalysisPredictor(String artifactId) throws ModelNotFoundException, MalformedModelException,
- IOException {
- Criteria<String, Classifications> criteria = Criteria.builder()
+ public ZooSentimentAnalysisPredictor(DJLEndpoint endpoint) throws ModelNotFoundException, MalformedModelException,
+ IOException {
+ super(endpoint);
+
+ Criteria.Builder<String, Classifications> builder = Criteria.builder()
.optApplication(Application.NLP.SENTIMENT_ANALYSIS)
.setTypes(String.class, Classifications.class)
- .optArtifactId(artifactId)
- .optProgress(new ProgressBar())
- .build();
+ .optArtifactId(endpoint.getArtifactId());
+ if (endpoint.isShowProgress()) {
+ builder.optProgress(new ProgressBar());
+ }
+
+ Criteria<String, Classifications> criteria = builder.build();
this.model = ModelZoo.loadModel(criteria);
}
}
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooTextClassificationPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooTextClassificationPredictor.java
index 98aca9d19aa..5b1f68ca50c 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooTextClassificationPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooTextClassificationPredictor.java
@@ -25,17 +25,23 @@ import ai.djl.repository.zoo.Criteria;
import ai.djl.repository.zoo.ModelNotFoundException;
import ai.djl.repository.zoo.ModelZoo;
import ai.djl.training.util.ProgressBar;
+import org.apache.camel.component.djl.DJLEndpoint;
public class ZooTextClassificationPredictor extends AbstractNlpZooPredictor<Classifications> {
- public ZooTextClassificationPredictor(String artifactId) throws ModelNotFoundException, MalformedModelException,
- IOException {
- Criteria<String, Classifications> criteria = Criteria.builder()
+ public ZooTextClassificationPredictor(DJLEndpoint endpoint) throws ModelNotFoundException, MalformedModelException,
+ IOException {
+ super(endpoint);
+
+ Criteria.Builder<String, Classifications> builder = Criteria.builder()
.optApplication(Application.NLP.TEXT_CLASSIFICATION)
.setTypes(String.class, Classifications.class)
- .optArtifactId(artifactId)
- .optProgress(new ProgressBar())
- .build();
+ .optArtifactId(endpoint.getArtifactId());
+ if (endpoint.isShowProgress()) {
+ builder.optProgress(new ProgressBar());
+ }
+
+ Criteria<String, Classifications> criteria = builder.build();
this.model = ModelZoo.loadModel(criteria);
}
}
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooTextEmbeddingPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooTextEmbeddingPredictor.java
index 8369bb3ade1..7db40ff9ac4 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooTextEmbeddingPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooTextEmbeddingPredictor.java
@@ -25,17 +25,23 @@ import ai.djl.repository.zoo.Criteria;
import ai.djl.repository.zoo.ModelNotFoundException;
import ai.djl.repository.zoo.ModelZoo;
import ai.djl.training.util.ProgressBar;
+import org.apache.camel.component.djl.DJLEndpoint;
public class ZooTextEmbeddingPredictor extends AbstractNlpZooPredictor<NDArray> {
- public ZooTextEmbeddingPredictor(String artifactId) throws ModelNotFoundException, MalformedModelException,
- IOException {
- Criteria<String, NDArray> criteria = Criteria.builder()
+ public ZooTextEmbeddingPredictor(DJLEndpoint endpoint) throws ModelNotFoundException, MalformedModelException,
+ IOException {
+ super(endpoint);
+
+ Criteria.Builder<String, NDArray> builder = Criteria.builder()
.optApplication(Application.NLP.TEXT_EMBEDDING)
.setTypes(String.class, NDArray.class)
- .optArtifactId(artifactId)
- .optProgress(new ProgressBar())
- .build();
+ .optArtifactId(endpoint.getArtifactId());
+ if (endpoint.isShowProgress()) {
+ builder.optProgress(new ProgressBar());
+ }
+
+ Criteria<String, NDArray> criteria = builder.build();
this.model = ModelZoo.loadModel(criteria);
}
}
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooTextGenerationPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooTextGenerationPredictor.java
index 47574950357..868f14e11b0 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooTextGenerationPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooTextGenerationPredictor.java
@@ -24,17 +24,23 @@ import ai.djl.repository.zoo.Criteria;
import ai.djl.repository.zoo.ModelNotFoundException;
import ai.djl.repository.zoo.ModelZoo;
import ai.djl.training.util.ProgressBar;
+import org.apache.camel.component.djl.DJLEndpoint;
public class ZooTextGenerationPredictor extends AbstractNlpZooPredictor<String> {
- public ZooTextGenerationPredictor(String artifactId) throws ModelNotFoundException, MalformedModelException,
- IOException {
- Criteria<String, String> criteria = Criteria.builder()
+ public ZooTextGenerationPredictor(DJLEndpoint endpoint) throws ModelNotFoundException, MalformedModelException,
+ IOException {
+ super(endpoint);
+
+ Criteria.Builder<String, String> builder = Criteria.builder()
.optApplication(Application.NLP.TEXT_GENERATION)
.setTypes(String.class, String.class)
- .optArtifactId(artifactId)
- .optProgress(new ProgressBar())
- .build();
+ .optArtifactId(endpoint.getArtifactId());
+ if (endpoint.isShowProgress()) {
+ builder.optProgress(new ProgressBar());
+ }
+
+ Criteria<String, String> criteria = builder.build();
this.model = ModelZoo.loadModel(criteria);
}
}
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooTokenClassificationPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooTokenClassificationPredictor.java
index 0084645d33a..a416b9e39a7 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooTokenClassificationPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooTokenClassificationPredictor.java
@@ -25,17 +25,23 @@ import ai.djl.repository.zoo.Criteria;
import ai.djl.repository.zoo.ModelNotFoundException;
import ai.djl.repository.zoo.ModelZoo;
import ai.djl.training.util.ProgressBar;
+import org.apache.camel.component.djl.DJLEndpoint;
public class ZooTokenClassificationPredictor extends AbstractNlpZooPredictor<Classifications> {
- public ZooTokenClassificationPredictor(String artifactId) throws ModelNotFoundException, MalformedModelException,
- IOException {
- Criteria<String, Classifications> criteria = Criteria.builder()
+ public ZooTokenClassificationPredictor(DJLEndpoint endpoint) throws ModelNotFoundException, MalformedModelException,
+ IOException {
+ super(endpoint);
+
+ Criteria.Builder<String, Classifications> builder = Criteria.builder()
.optApplication(Application.NLP.TOKEN_CLASSIFICATION)
.setTypes(String.class, Classifications.class)
- .optArtifactId(artifactId)
- .optProgress(new ProgressBar())
- .build();
+ .optArtifactId(endpoint.getArtifactId());
+ if (endpoint.isShowProgress()) {
+ builder.optProgress(new ProgressBar());
+ }
+
+ Criteria<String, Classifications> criteria = builder.build();
this.model = ModelZoo.loadModel(criteria);
}
}
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooWordEmbeddingPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooWordEmbeddingPredictor.java
index 88326bd4a32..01bd1c03886 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooWordEmbeddingPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/nlp/ZooWordEmbeddingPredictor.java
@@ -26,17 +26,23 @@ import ai.djl.repository.zoo.ModelNotFoundException;
import ai.djl.repository.zoo.ModelZoo;
import ai.djl.training.util.ProgressBar;
import org.apache.camel.Exchange;
+import org.apache.camel.component.djl.DJLEndpoint;
public class ZooWordEmbeddingPredictor extends AbstractNlpZooPredictor<NDList> {
- public ZooWordEmbeddingPredictor(String artifactId) throws ModelNotFoundException, MalformedModelException,
- IOException {
- Criteria<String, NDList> criteria = Criteria.builder()
+ public ZooWordEmbeddingPredictor(DJLEndpoint endpoint) throws ModelNotFoundException, MalformedModelException,
+ IOException {
+ super(endpoint);
+
+ Criteria.Builder<String, NDList> builder = Criteria.builder()
.optApplication(Application.NLP.WORD_EMBEDDING)
.setTypes(String.class, NDList.class)
- .optArtifactId(artifactId)
- .optProgress(new ProgressBar())
- .build();
+ .optArtifactId(endpoint.getArtifactId());
+ if (endpoint.isShowProgress()) {
+ builder.optProgress(new ProgressBar());
+ }
+
+ Criteria<String, NDList> criteria = builder.build();
this.model = ModelZoo.loadModel(criteria);
}
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/tabular/CustomTabularPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/tabular/CustomTabularPredictor.java
index c958a715663..1c999c5c52b 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/tabular/CustomTabularPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/tabular/CustomTabularPredictor.java
@@ -23,6 +23,7 @@ import ai.djl.translate.Translator;
import org.apache.camel.Exchange;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.component.djl.DJLConstants;
+import org.apache.camel.component.djl.DJLEndpoint;
import org.apache.camel.component.djl.model.AbstractPredictor;
public class CustomTabularPredictor extends AbstractPredictor {
@@ -30,9 +31,10 @@ public class CustomTabularPredictor extends AbstractPredictor {
protected final String modelName;
protected final String translatorName;
- public CustomTabularPredictor(String modelName, String translatorName) {
- this.modelName = modelName;
- this.translatorName = translatorName;
+ public CustomTabularPredictor(DJLEndpoint endpoint) {
+ super(endpoint);
+ this.modelName = endpoint.getModel();
+ this.translatorName = endpoint.getTranslator();
}
@Override
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/tabular/ZooLinearRegressionPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/tabular/ZooLinearRegressionPredictor.java
index 7b7f023ddb6..43961f8a28b 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/tabular/ZooLinearRegressionPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/tabular/ZooLinearRegressionPredictor.java
@@ -17,11 +17,12 @@
package org.apache.camel.component.djl.model.tabular;
import org.apache.camel.Exchange;
+import org.apache.camel.component.djl.DJLEndpoint;
import org.apache.camel.component.djl.model.AbstractPredictor;
public class ZooLinearRegressionPredictor extends AbstractPredictor {
- public ZooLinearRegressionPredictor(String artifactId) {
- super();
+ public ZooLinearRegressionPredictor(DJLEndpoint endpoint) {
+ super(endpoint);
}
@Override
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/tabular/ZooSoftmaxRegressionPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/tabular/ZooSoftmaxRegressionPredictor.java
index 1e51de5409e..ee2f684e5c5 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/tabular/ZooSoftmaxRegressionPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/tabular/ZooSoftmaxRegressionPredictor.java
@@ -17,11 +17,12 @@
package org.apache.camel.component.djl.model.tabular;
import org.apache.camel.Exchange;
+import org.apache.camel.component.djl.DJLEndpoint;
import org.apache.camel.component.djl.model.AbstractPredictor;
public class ZooSoftmaxRegressionPredictor extends AbstractPredictor {
- public ZooSoftmaxRegressionPredictor(String artifactId) {
- super();
+ public ZooSoftmaxRegressionPredictor(DJLEndpoint endpoint) {
+ super(endpoint);
}
@Override
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/CustomForecastingPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/CustomForecastingPredictor.java
index d54f7e2a74f..34c2ab36b4f 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/CustomForecastingPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/CustomForecastingPredictor.java
@@ -25,6 +25,7 @@ import ai.djl.translate.Translator;
import org.apache.camel.Exchange;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.component.djl.DJLConstants;
+import org.apache.camel.component.djl.DJLEndpoint;
import org.apache.camel.component.djl.model.AbstractPredictor;
public class CustomForecastingPredictor extends AbstractPredictor {
@@ -32,9 +33,10 @@ public class CustomForecastingPredictor extends AbstractPredictor {
protected final String modelName;
protected final String translatorName;
- public CustomForecastingPredictor(String modelName, String translatorName) {
- this.modelName = modelName;
- this.translatorName = translatorName;
+ public CustomForecastingPredictor(DJLEndpoint endpoint) {
+ super(endpoint);
+ this.modelName = endpoint.getModel();
+ this.translatorName = endpoint.getTranslator();
}
@Override
diff --git a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/ZooForecastingPredictor.java b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/ZooForecastingPredictor.java
index d563f3fd946..c79fa3f0a9d 100644
--- a/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/ZooForecastingPredictor.java
+++ b/components/camel-ai/camel-djl/src/main/java/org/apache/camel/component/djl/model/timeseries/ZooForecastingPredictor.java
@@ -32,18 +32,25 @@ import ai.djl.translate.TranslateException;
import org.apache.camel.Exchange;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.component.djl.DJLConstants;
+import org.apache.camel.component.djl.DJLEndpoint;
import org.apache.camel.component.djl.model.AbstractPredictor;
public class ZooForecastingPredictor extends AbstractPredictor {
private final ZooModel<TimeSeriesData, Forecast> model;
- public ZooForecastingPredictor(String artifactId) throws ModelNotFoundException, MalformedModelException, IOException {
- Criteria<TimeSeriesData, Forecast> criteria = Criteria.builder()
+ public ZooForecastingPredictor(DJLEndpoint endpoint) throws ModelNotFoundException, MalformedModelException, IOException {
+ super(endpoint);
+
+ Criteria.Builder<TimeSeriesData, Forecast> builder = Criteria.builder()
.optApplication(Application.TimeSeries.FORECASTING)
.setTypes(TimeSeriesData.class, Forecast.class)
- .optArtifactId(artifactId)
- .optProgress(new ProgressBar())
+ .optArtifactId(endpoint.getArtifactId());
+ if (endpoint.isShowProgress()) {
+ builder.optProgress(new ProgressBar());
+ }
+
+ Criteria<TimeSeriesData, Forecast> criteria = builder
.build();
this.model = ModelZoo.loadModel(criteria);
}
diff --git a/components/camel-ai/camel-djl/src/test/java/org/apache/camel/component/djl/CvImageClassificationTest.java b/components/camel-ai/camel-djl/src/test/java/org/apache/camel/component/djl/CvImageClassificationTest.java
index a567a520a6c..5d04bfc6302 100644
--- a/components/camel-ai/camel-djl/src/test/java/org/apache/camel/component/djl/CvImageClassificationTest.java
+++ b/components/camel-ai/camel-djl/src/test/java/org/apache/camel/component/djl/CvImageClassificationTest.java
@@ -43,7 +43,7 @@ public class CvImageClassificationTest extends CamelTestSupport {
public void configure() {
from("file:src/test/resources/data/mnist?recursive=true&noop=true")
.convertBodyTo(byte[].class)
- .to("djl:cv/image_classification?artifactId=ai.djl.zoo:mlp:0.0.3")
+ .to("djl:cv/image_classification?artifactId=ai.djl.zoo:mlp:0.0.3&showProgress=true")
.log("${header.CamelFileName} = ${body.best.className}")
.to("mock:result");
}
diff --git a/components/camel-ai/camel-djl/src/test/java/org/apache/camel/component/djl/model/ModelPredictorProducerTest.java b/components/camel-ai/camel-djl/src/test/java/org/apache/camel/component/djl/model/ModelPredictorProducerTest.java
index 136a66ba5f0..05f40e04f9e 100644
--- a/components/camel-ai/camel-djl/src/test/java/org/apache/camel/component/djl/model/ModelPredictorProducerTest.java
+++ b/components/camel-ai/camel-djl/src/test/java/org/apache/camel/component/djl/model/ModelPredictorProducerTest.java
@@ -20,6 +20,7 @@ import java.io.IOException;
import ai.djl.MalformedModelException;
import ai.djl.repository.zoo.ModelNotFoundException;
+import org.apache.camel.component.djl.DJLEndpoint;
import org.apache.camel.component.djl.model.audio.CustomAudioPredictor;
import org.apache.camel.component.djl.model.cv.CustomCvPredictor;
import org.apache.camel.component.djl.model.cv.CustomImageGenerationPredictor;
@@ -58,32 +59,32 @@ class ModelPredictorProducerTest {
void testGetZooPredictor() throws ModelNotFoundException, MalformedModelException, IOException {
// CV
assertInstanceOf(ZooImageClassificationPredictor.class,
- getZooPredictor("cv/image_classification", "ai.djl.zoo:mlp:0.0.3"));
+ getZooPredictor(zooEndpoint("cv/image_classification", "ai.djl.zoo:mlp:0.0.3")));
assertInstanceOf(ZooObjectDetectionPredictor.class,
- getZooPredictor("cv/object_detection", "ai.djl.zoo:ssd:0.0.2"));
+ getZooPredictor(zooEndpoint("cv/object_detection", "ai.djl.zoo:ssd:0.0.2")));
assertInstanceOf(ZooSemanticSegmentationPredictor.class,
- getZooPredictor("cv/semantic_segmentation", "ai.djl.pytorch:deeplabv3:0.0.1"));
+ getZooPredictor(zooEndpoint("cv/semantic_segmentation", "ai.djl.pytorch:deeplabv3:0.0.1")));
assertInstanceOf(ZooInstanceSegmentationPredictor.class,
- getZooPredictor("cv/instance_segmentation", "ai.djl.mxnet:mask_rcnn:0.0.1"));
+ getZooPredictor(zooEndpoint("cv/instance_segmentation", "ai.djl.mxnet:mask_rcnn:0.0.1")));
assertInstanceOf(ZooPoseEstimationPredictor.class,
- getZooPredictor("cv/pose_estimation", "ai.djl.mxnet:simple_pose:0.0.1"));
+ getZooPredictor(zooEndpoint("cv/pose_estimation", "ai.djl.mxnet:simple_pose:0.0.1")));
assertInstanceOf(ZooActionRecognitionPredictor.class,
- getZooPredictor("cv/action_recognition", "ai.djl.mxnet:action_recognition:0.0.1"));
+ getZooPredictor(zooEndpoint("cv/action_recognition", "ai.djl.mxnet:action_recognition:0.0.1")));
// No builtin zoo model available for "cv/word_recognition"
assertInstanceOf(ZooImageGenerationPredictor.class,
- getZooPredictor("cv/image_generation", "ai.djl.pytorch:biggan-deep:0.0.1"));
+ getZooPredictor(zooEndpoint("cv/image_generation", "ai.djl.pytorch:biggan-deep:0.0.1")));
// No builtin zoo model available for "cv/image_enhancement"
// NLP
// No builtin zoo model available for "nlp/fill_mask"
assertInstanceOf(ZooQuestionAnswerPredictor.class,
- getZooPredictor("nlp/question_answer", "ai.djl.pytorch:bertqa:0.0.1"));
+ getZooPredictor(zooEndpoint("nlp/question_answer", "ai.djl.pytorch:bertqa:0.0.1")));
// No builtin zoo model available for "nlp/text_classification"
assertInstanceOf(ZooSentimentAnalysisPredictor.class,
- getZooPredictor("nlp/sentiment_analysis", "ai.djl.pytorch:distilbert:0.0.1"));
+ getZooPredictor(zooEndpoint("nlp/sentiment_analysis", "ai.djl.pytorch:distilbert:0.0.1")));
// No builtin zoo model available for "nlp/token_classification"
assertInstanceOf(ZooWordEmbeddingPredictor.class,
- getZooPredictor("nlp/word_embedding", "ai.djl.mxnet:glove:0.0.2"));
+ getZooPredictor(zooEndpoint("nlp/word_embedding", "ai.djl.mxnet:glove:0.0.2")));
// No builtin zoo model available for "nlp/text_generation"
// No builtin zoo model available for "nlp/machine_translation"
// No builtin zoo model available for "nlp/multiple_choice"
@@ -98,7 +99,7 @@ class ModelPredictorProducerTest {
// Time Series
assertInstanceOf(ZooForecastingPredictor.class,
- getZooPredictor("timeseries/forecasting", "ai.djl.pytorch:deepar:0.0.1"));
+ getZooPredictor(zooEndpoint("timeseries/forecasting", "ai.djl.pytorch:deepar:0.0.1")));
}
@Test
@@ -108,58 +109,71 @@ class ModelPredictorProducerTest {
// CV
assertInstanceOf(CustomCvPredictor.class,
- getCustomPredictor("cv/image_classification", modelName, translatorName));
+ getCustomPredictor(customEndpoint("cv/image_classification", modelName, translatorName)));
assertInstanceOf(CustomCvPredictor.class,
- getCustomPredictor("cv/object_detection", modelName, translatorName));
+ getCustomPredictor(customEndpoint("cv/object_detection", modelName, translatorName)));
assertInstanceOf(CustomCvPredictor.class,
- getCustomPredictor("cv/semantic_segmentation", modelName, translatorName));
+ getCustomPredictor(customEndpoint("cv/semantic_segmentation", modelName, translatorName)));
assertInstanceOf(CustomCvPredictor.class,
- getCustomPredictor("cv/instance_segmentation", modelName, translatorName));
+ getCustomPredictor(customEndpoint("cv/instance_segmentation", modelName, translatorName)));
assertInstanceOf(CustomCvPredictor.class,
- getCustomPredictor("cv/pose_estimation", modelName, translatorName));
+ getCustomPredictor(customEndpoint("cv/pose_estimation", modelName, translatorName)));
assertInstanceOf(CustomCvPredictor.class,
- getCustomPredictor("cv/action_recognition", modelName, translatorName));
+ getCustomPredictor(customEndpoint("cv/action_recognition", modelName, translatorName)));
assertInstanceOf(CustomCvPredictor.class,
- getCustomPredictor("cv/word_recognition", modelName, translatorName));
+ getCustomPredictor(customEndpoint("cv/word_recognition", modelName, translatorName)));
assertInstanceOf(CustomImageGenerationPredictor.class,
- getCustomPredictor("cv/image_generation", modelName, translatorName));
+ getCustomPredictor(customEndpoint("cv/image_generation", modelName, translatorName)));
assertInstanceOf(CustomCvPredictor.class,
- getCustomPredictor("cv/image_enhancement", modelName, translatorName));
+ getCustomPredictor(customEndpoint("cv/image_enhancement", modelName, translatorName)));
// NLP
assertInstanceOf(CustomNlpPredictor.class,
- getCustomPredictor("nlp/fill_mask", modelName, translatorName));
+ getCustomPredictor(customEndpoint("nlp/fill_mask", modelName, translatorName)));
assertInstanceOf(CustomQuestionAnswerPredictor.class,
- getCustomPredictor("nlp/question_answer", modelName, translatorName));
+ getCustomPredictor(customEndpoint("nlp/question_answer", modelName, translatorName)));
assertInstanceOf(CustomNlpPredictor.class,
- getCustomPredictor("nlp/text_classification", modelName, translatorName));
+ getCustomPredictor(customEndpoint("nlp/text_classification", modelName, translatorName)));
assertInstanceOf(CustomNlpPredictor.class,
- getCustomPredictor("nlp/sentiment_analysis", modelName, translatorName));
+ getCustomPredictor(customEndpoint("nlp/sentiment_analysis", modelName, translatorName)));
assertInstanceOf(CustomNlpPredictor.class,
- getCustomPredictor("nlp/token_classification", modelName, translatorName));
+ getCustomPredictor(customEndpoint("nlp/token_classification", modelName, translatorName)));
assertInstanceOf(CustomWordEmbeddingPredictor.class,
- getCustomPredictor("nlp/word_embedding", modelName, translatorName));
+ getCustomPredictor(customEndpoint("nlp/word_embedding", modelName, translatorName)));
assertInstanceOf(CustomNlpPredictor.class,
- getCustomPredictor("nlp/text_generation", modelName, translatorName));
+ getCustomPredictor(customEndpoint("nlp/text_generation", modelName, translatorName)));
assertInstanceOf(CustomNlpPredictor.class,
- getCustomPredictor("nlp/machine_translation", modelName, translatorName));
+ getCustomPredictor(customEndpoint("nlp/machine_translation", modelName, translatorName)));
assertInstanceOf(CustomNlpPredictor.class,
- getCustomPredictor("nlp/multiple_choice", modelName, translatorName));
+ getCustomPredictor(customEndpoint("nlp/multiple_choice", modelName, translatorName)));
assertInstanceOf(CustomNlpPredictor.class,
- getCustomPredictor("nlp/text_embedding", modelName, translatorName));
+ getCustomPredictor(customEndpoint("nlp/text_embedding", modelName, translatorName)));
// Tabular
assertInstanceOf(CustomTabularPredictor.class,
- getCustomPredictor("tabular/linear_regression", modelName, translatorName));
+ getCustomPredictor(customEndpoint("tabular/linear_regression", modelName, translatorName)));
assertInstanceOf(CustomTabularPredictor.class,
- getCustomPredictor("tabular/softmax_regression", modelName, translatorName));
+ getCustomPredictor(customEndpoint("tabular/softmax_regression", modelName, translatorName)));
// Audio
assertInstanceOf(CustomAudioPredictor.class,
- getCustomPredictor("audio", modelName, translatorName));
+ getCustomPredictor(customEndpoint("audio", modelName, translatorName)));
// Time Series
assertInstanceOf(CustomForecastingPredictor.class,
- getCustomPredictor("timeseries/forecasting", modelName, translatorName));
+ getCustomPredictor(customEndpoint("timeseries/forecasting", modelName, translatorName)));
+ }
+
+ private static DJLEndpoint zooEndpoint(String application, String artifactId) {
+ DJLEndpoint endpoint = new DJLEndpoint("djl:" + application, null, application);
+ endpoint.setArtifactId(artifactId);
+ return endpoint;
+ }
+
+ private static DJLEndpoint customEndpoint(String application, String model, String translator) {
+ DJLEndpoint endpoint = new DJLEndpoint("djl:" + application, null, application);
+ endpoint.setModel(model);
+ endpoint.setTranslator(translator);
+ return endpoint;
}
}
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/DJLEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/DJLEndpointBuilderFactory.java
index 032c1bee54a..b4351102a4f 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/DJLEndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/DJLEndpointBuilderFactory.java
@@ -73,6 +73,38 @@ public interface DJLEndpointBuilderFactory {
doSetProperty("model", model);
return this;
}
+ /**
+ * Show progress while loading zoo models. This parameter takes effect
+ * only with zoo models.
+ *
+ * The option is a: <code>boolean</code> type.
+ *
+ * Default: false
+ * Group: producer
+ *
+ * @param showProgress the value to set
+ * @return the dsl builder
+ */
+ default DJLEndpointBuilder showProgress(boolean showProgress) {
+ doSetProperty("showProgress", showProgress);
+ return this;
+ }
+ /**
+ * Show progress while loading zoo models. This parameter takes effect
+ * only with zoo models.
+ *
+ * The option will be converted to a <code>boolean</code> type.
+ *
+ * Default: false
+ * Group: producer
+ *
+ * @param showProgress the value to set
+ * @return the dsl builder
+ */
+ default DJLEndpointBuilder showProgress(String showProgress) {
+ doSetProperty("showProgress", showProgress);
+ return this;
+ }
/**
* Translator.
*
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/DjlUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/DjlUriDsl.kt
index 89fc6af85a9..269bac39fcb 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/DjlUriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/DjlUriDsl.kt
@@ -64,6 +64,20 @@ public class DjlUriDsl(
it.property("model", model)
}
+ /**
+ * Show progress while loading zoo models. This parameter takes effect only with zoo models
+ */
+ public fun showProgress(showProgress: String) {
+ it.property("showProgress", showProgress)
+ }
+
+ /**
+ * Show progress while loading zoo models. This parameter takes effect only with zoo models
+ */
+ public fun showProgress(showProgress: Boolean) {
+ it.property("showProgress", showProgress.toString())
+ }
+
/**
* Translator
*/