This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git
The following commit(s) were added to refs/heads/main by this push: new 1ee2a9ea358 Regen 1ee2a9ea358 is described below commit 1ee2a9ea3587d76d6445e77ad4e4083adb1aad65 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Wed Jan 8 16:20:59 2025 +0100 Regen --- .../springboot/catalog/components/qdrant.json | 20 +++++++++------- .../camel-qdrant-starter/src/main/docs/qdrant.json | 13 +++++++++++ .../springboot/QdrantComponentConfiguration.java | 27 ++++++++++++++++++++++ .../springboot/QdrantComponentConverter.java | 2 ++ 4 files changed, 54 insertions(+), 8 deletions(-) diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/qdrant.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/qdrant.json index cabcc134085..7d288199f1e 100644 --- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/qdrant.json +++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/qdrant.json @@ -28,10 +28,12 @@ "configuration": { "index": 1, "kind": "property", "displayName": "Configuration", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.qdrant.QdrantConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "The configuration;" }, "host": { "index": 2, "kind": "property", "displayName": "Host", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": "localhost", "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "The host to connect to." }, "lazyStartProducer": { "index": 3, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "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 producer may otherwise fail [...] - "port": { "index": 4, "kind": "property", "displayName": "Port", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 6334, "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "The port to connect to." }, - "timeout": { "index": 5, "kind": "property", "displayName": "Timeout", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "java.time.Duration", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "Sets a default timeout for all requests" }, - "tls": { "index": 6, "kind": "property", "displayName": "Tls", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "Whether the client uses Transport Layer Security (TLS) to secure communications" }, - "autowiredEnabled": { "index": 7, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching t [...] + "maxResults": { "index": 4, "kind": "property", "displayName": "Max Results", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 3, "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "Max results for similarity search" }, + "port": { "index": 5, "kind": "property", "displayName": "Port", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 6334, "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "The port to connect to." }, + "timeout": { "index": 6, "kind": "property", "displayName": "Timeout", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "java.time.Duration", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "Sets a default timeout for all requests" }, + "tls": { "index": 7, "kind": "property", "displayName": "Tls", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "Whether the client uses Transport Layer Security (TLS) to secure communications" }, + "autowiredEnabled": { "index": 8, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching t [...] + "filter": { "index": 9, "kind": "property", "displayName": "Filter", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "io.qdrant.client.grpc.Points.Filter", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "Filter of type io.qdrant.client.grpc.Points.Points.Filter for similarity se [...] }, "headers": { "CamelQdrantAction": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "enum": [ "CREATE_COLLECTION", "DELETE_COLLECTION", "UPSERT", "RETRIEVE", "DELETE", "COLLECTION_INFO" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The action to be performed.", "constantName": "org.apache.camel.component.qdrant.Qdrant$Headers#ACTION" }, @@ -49,9 +51,11 @@ "collection": { "index": 0, "kind": "path", "displayName": "Collection", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The collection Name" }, "apiKey": { "index": 1, "kind": "parameter", "displayName": "Api Key", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "Sets the API key to use for authentication" }, "host": { "index": 2, "kind": "parameter", "displayName": "Host", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": "localhost", "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "The host to connect to." }, - "port": { "index": 3, "kind": "parameter", "displayName": "Port", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 6334, "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "The port to connect to." }, - "timeout": { "index": 4, "kind": "parameter", "displayName": "Timeout", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "java.time.Duration", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "Sets a default timeout for all requests" }, - "tls": { "index": 5, "kind": "parameter", "displayName": "Tls", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "Whether the client uses Transport Layer Security (TLS) to secure communications" }, - "lazyStartProducer": { "index": 6, "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 [...] + "maxResults": { "index": 3, "kind": "parameter", "displayName": "Max Results", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 3, "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "Max results for similarity search" }, + "port": { "index": 4, "kind": "parameter", "displayName": "Port", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 6334, "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "The port to connect to." }, + "timeout": { "index": 5, "kind": "parameter", "displayName": "Timeout", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "java.time.Duration", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "Sets a default timeout for all requests" }, + "tls": { "index": 6, "kind": "parameter", "displayName": "Tls", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "Whether the client uses Transport Layer Security (TLS) to secure communications" }, + "lazyStartProducer": { "index": 7, "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 [...] + "filter": { "index": 8, "kind": "parameter", "displayName": "Filter", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "io.qdrant.client.grpc.Points.Filter", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.qdrant.QdrantConfiguration", "configurationField": "configuration", "description": "Filter of type io.qdrant.client.grpc.Points.Points.Filter for similarity s [...] } } diff --git a/components-starter/camel-qdrant-starter/src/main/docs/qdrant.json b/components-starter/camel-qdrant-starter/src/main/docs/qdrant.json index dbaf7c98f30..b889408e26d 100644 --- a/components-starter/camel-qdrant-starter/src/main/docs/qdrant.json +++ b/components-starter/camel-qdrant-starter/src/main/docs/qdrant.json @@ -43,6 +43,12 @@ "description": "Whether to enable auto configuration of the qdrant component. This is enabled by default.", "sourceType": "org.apache.camel.component.qdrant.springboot.QdrantComponentConfiguration" }, + { + "name": "camel.component.qdrant.filter", + "type": "io.qdrant.client.grpc.Points$Filter", + "description": "Filter of type io.qdrant.client.grpc.Points.Points.Filter for similarity search. This is for advanced usage. The option is a io.qdrant.client.grpc.Points.Filter type.", + "sourceType": "org.apache.camel.component.qdrant.springboot.QdrantComponentConfiguration" + }, { "name": "camel.component.qdrant.host", "type": "java.lang.String", @@ -57,6 +63,13 @@ "sourceType": "org.apache.camel.component.qdrant.springboot.QdrantComponentConfiguration", "defaultValue": false }, + { + "name": "camel.component.qdrant.max-results", + "type": "java.lang.Integer", + "description": "Max results for similarity search", + "sourceType": "org.apache.camel.component.qdrant.springboot.QdrantComponentConfiguration", + "defaultValue": 3 + }, { "name": "camel.component.qdrant.port", "type": "java.lang.Integer", diff --git a/components-starter/camel-qdrant-starter/src/main/java/org/apache/camel/component/qdrant/springboot/QdrantComponentConfiguration.java b/components-starter/camel-qdrant-starter/src/main/java/org/apache/camel/component/qdrant/springboot/QdrantComponentConfiguration.java index a4cc20b4c0a..a78f0cb15a7 100644 --- a/components-starter/camel-qdrant-starter/src/main/java/org/apache/camel/component/qdrant/springboot/QdrantComponentConfiguration.java +++ b/components-starter/camel-qdrant-starter/src/main/java/org/apache/camel/component/qdrant/springboot/QdrantComponentConfiguration.java @@ -17,6 +17,7 @@ package org.apache.camel.component.qdrant.springboot; import java.time.Duration; +import io.qdrant.client.grpc.Points.Filter; import org.apache.camel.component.qdrant.QdrantConfiguration; import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon; import org.springframework.boot.context.properties.ConfigurationProperties; @@ -60,6 +61,10 @@ public class QdrantComponentConfiguration * and prolong the total processing time of the processing. */ private Boolean lazyStartProducer = false; + /** + * Max results for similarity search + */ + private Integer maxResults = 3; /** * The port to connect to. */ @@ -82,6 +87,12 @@ public class QdrantComponentConfiguration * etc. */ private Boolean autowiredEnabled = true; + /** + * Filter of type io.qdrant.client.grpc.Points.Points.Filter for similarity + * search. This is for advanced usage. The option is a + * io.qdrant.client.grpc.Points.Filter type. + */ + private Filter filter; public String getApiKey() { return apiKey; @@ -115,6 +126,14 @@ public class QdrantComponentConfiguration this.lazyStartProducer = lazyStartProducer; } + public Integer getMaxResults() { + return maxResults; + } + + public void setMaxResults(Integer maxResults) { + this.maxResults = maxResults; + } + public Integer getPort() { return port; } @@ -146,4 +165,12 @@ public class QdrantComponentConfiguration public void setAutowiredEnabled(Boolean autowiredEnabled) { this.autowiredEnabled = autowiredEnabled; } + + public Filter getFilter() { + return filter; + } + + public void setFilter(Filter filter) { + this.filter = filter; + } } \ No newline at end of file diff --git a/components-starter/camel-qdrant-starter/src/main/java/org/apache/camel/component/qdrant/springboot/QdrantComponentConverter.java b/components-starter/camel-qdrant-starter/src/main/java/org/apache/camel/component/qdrant/springboot/QdrantComponentConverter.java index 699348b2355..83926eabc4f 100644 --- a/components-starter/camel-qdrant-starter/src/main/java/org/apache/camel/component/qdrant/springboot/QdrantComponentConverter.java +++ b/components-starter/camel-qdrant-starter/src/main/java/org/apache/camel/component/qdrant/springboot/QdrantComponentConverter.java @@ -40,6 +40,7 @@ public class QdrantComponentConverter implements GenericConverter { public Set<ConvertiblePair> getConvertibleTypes() { Set<ConvertiblePair> answer = new LinkedHashSet<>(); answer.add(new ConvertiblePair(String.class, org.apache.camel.component.qdrant.QdrantConfiguration.class)); + answer.add(new ConvertiblePair(String.class, io.qdrant.client.grpc.Points.Filter.class)); return answer; } @@ -57,6 +58,7 @@ public class QdrantComponentConverter implements GenericConverter { ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1); switch (targetType.getName()) { case "org.apache.camel.component.qdrant.QdrantConfiguration": return applicationContext.getBean(ref, org.apache.camel.component.qdrant.QdrantConfiguration.class); + case "io.qdrant.client.grpc.Points.Filter": return applicationContext.getBean(ref, io.qdrant.client.grpc.Points.Filter.class); } return null; }