You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2024/03/15 11:41:43 UTC

(camel) 04/05: CAMEL-20485 - Create a Camel-Milvus component - Full regen

This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch milvus-component
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 5e5d2f9cfe084013730fc940aaa9905982eab561
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Fri Mar 15 12:25:49 2024 +0100

    CAMEL-20485 - Create a Camel-Milvus component - Full regen
    
    Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
 .../org/apache/camel/catalog/components.properties |   1 +
 .../catalog/components/langchain-embeddings.json   |   4 +-
 .../apache/camel/catalog/components/milvus.json    |  53 +++
 .../src/main/docs/milvus-component.adoc            |  10 +-
 .../camel/component/milvus/MilvusProducer.java     |   5 +-
 .../camel/component/milvus/MilvusTestSupport.java  |   5 +-
 .../camel/component/milvus/MilvusUpsertTest.java   |   3 -
 .../component/milvus/it/MilvusComponentIT.java     |  11 +-
 .../org/apache/camel/main/components.properties    |   1 +
 .../modules/ROOT/examples/json/milvus.json         |   1 +
 docs/components/modules/ROOT/nav.adoc              |   1 +
 .../modules/ROOT/pages/milvus-component.adoc       |   1 +
 .../component/ComponentsBuilderFactory.java        |  15 +-
 ...LangchainEmbeddingsComponentBuilderFactory.java |   4 +-
 ...ory.java => MilvusComponentBuilderFactory.java} | 120 +++++--
 .../src/generated/resources/metadata.json          |  27 +-
 .../builder/endpoint/EndpointBuilderFactory.java   |   1 +
 .../camel/builder/endpoint/EndpointBuilders.java   |   1 +
 .../builder/endpoint/StaticEndpointBuilders.java   |  47 ++-
 .../LangchainEmbeddingsEndpointBuilderFactory.java |   8 +-
 .../endpoint/dsl/MilvusEndpointBuilderFactory.java | 390 +++++++++++++++++++++
 .../camel-component-known-dependencies.properties  |   1 +
 .../kotlin/components/LangchainEmbeddingsUriDsl.kt |   2 +-
 ...angchainEmbeddingsUriDsl.kt => MilvusUriDsl.kt} |  62 +++-
 24 files changed, 689 insertions(+), 85 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
index 568d1cee709..3fd271c713c 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
@@ -216,6 +216,7 @@ mapstruct
 master
 metrics
 micrometer
+milvus
 mina
 minio
 mllp
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/langchain-embeddings.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/langchain-embeddings.json
index a064e3985a3..00a08f7f076 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/langchain-embeddings.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/langchain-embeddings.json
@@ -3,7 +3,7 @@
     "kind": "component",
     "name": "langchain-embeddings",
     "title": "Langchain4j Embeddings",
-    "description": "Langchain4j Embeddings",
+    "description": "Perform operations on the Qdrant Vector Database.",
     "deprecated": false,
     "firstVersion": "4.5.0",
     "label": "ai",
@@ -11,7 +11,7 @@
     "supportLevel": "Preview",
     "groupId": "org.apache.camel",
     "artifactId": "camel-langchain-embeddings",
-    "version": "4.5.0-SNAPSHOT",
+    "version": "4.4.0-SNAPSHOT",
     "scheme": "langchain-embeddings",
     "extendsScheme": "",
     "syntax": "langchain-embeddings:embeddingId",
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/milvus.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/milvus.json
new file mode 100644
index 00000000000..a27466d4406
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/milvus.json
@@ -0,0 +1,53 @@
+{
+  "component": {
+    "kind": "component",
+    "name": "milvus",
+    "title": "Milvus",
+    "description": "Perform operations on the Milvus Vector Database.",
+    "deprecated": false,
+    "firstVersion": "4.5.0",
+    "label": "database,ai",
+    "javaType": "org.apache.camel.component.milvus.MilvusComponent",
+    "supportLevel": "Preview",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-milvus",
+    "version": "4.5.0-SNAPSHOT",
+    "scheme": "milvus",
+    "extendsScheme": "",
+    "syntax": "milvus:collection",
+    "async": false,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": true,
+    "lenientProperties": false,
+    "remote": true
+  },
+  "componentProperties": {
+    "configuration": { "index": 0, "kind": "property", "displayName": "Configuration", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.milvus.MilvusConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "The configuration;" },
+    "host": { "index": 1, "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.milvus.MilvusConfiguration", "configurationField": "configuration", "description": "The host to connect to." },
+    "lazyStartProducer": { "index": 2, "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": 3, "kind": "property", "displayName": "Port", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 19530, "configurationClass": "org.apache.camel.component.milvus.MilvusConfiguration", "configurationField": "configuration", "description": "The port to connect to." },
+    "timeout": { "index": 4, "kind": "property", "displayName": "Timeout", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milvus.MilvusConfiguration", "configurationField": "configuration", "description": "Sets a default timeout for all requests" },
+    "token": { "index": 5, "kind": "property", "displayName": "Token", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.milvus.MilvusConfiguration", "configurationField": "configuration", "description": "Sets the API key to use for authentication" },
+    "autowiredEnabled": { "index": 6, "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 [...]
+  },
+  "headers": {
+    "CamelMilvusAction": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "enum": [ "UPSERT", "RETRIEVE", "DELETE" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The action to be performed.", "constantName": "org.apache.camel.component.milvus.Milvus$Headers#ACTION" },
+    "CamelMilvusPointsPayloadSelector": { "index": 1, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "io.qdrant.client.grpc.Points$WithPayloadSelector", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Payload Selector.", "constantName": "org.apache.camel.component.milvus.Milvus$Headers#PAYLOAD_SELECTOR" },
+    "CamelMilvusOperationID": { "index": 2, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Operation ID.", "constantName": "org.apache.camel.component.milvus.Milvus$Headers#OPERATION_ID" },
+    "CamelMilvusOperationStatus": { "index": 3, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Operation Status.", "constantName": "org.apache.camel.component.milvus.Milvus$Headers#OPERATION_STATUS" },
+    "CamelMilvusOperationStatusValue": { "index": 4, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Operation Status Value.", "constantName": "org.apache.camel.component.milvus.Milvus$Headers#OPERATION_STATUS_VALUE" },
+    "CamelMilvusReadConsistency": { "index": 5, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "io.qdrant.client.grpc.Points$ReadConsistency", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Read Consistency.", "constantName": "org.apache.camel.component.milvus.Milvus$Headers#READ_CONSISTENCY" },
+    "CamelMilvusWithPayload": { "index": 6, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": "true", "description": "Include Payload.", "constantName": "org.apache.camel.component.milvus.Milvus$Headers#INCLUDE_PAYLOAD" },
+    "CamelMilvusWithVectors": { "index": 7, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": "false", "description": "Include Vectors.", "constantName": "org.apache.camel.component.milvus.Milvus$Headers#INCLUDE_VECTORS" },
+    "CamelMilvusSize": { "index": 8, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of elements.", "constantName": "org.apache.camel.component.milvus.Milvus$Headers#SIZE" }
+  },
+  "properties": {
+    "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" },
+    "host": { "index": 1, "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.milvus.MilvusConfiguration", "configurationField": "configuration", "description": "The host to connect to." },
+    "port": { "index": 2, "kind": "parameter", "displayName": "Port", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 19530, "configurationClass": "org.apache.camel.component.milvus.MilvusConfiguration", "configurationField": "configuration", "description": "The port to connect to." },
+    "timeout": { "index": 3, "kind": "parameter", "displayName": "Timeout", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.milvus.MilvusConfiguration", "configurationField": "configuration", "description": "Sets a default timeout for all requests" },
+    "token": { "index": 4, "kind": "parameter", "displayName": "Token", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.milvus.MilvusConfiguration", "configurationField": "configuration", "description": "Sets the API key to use for authentication" },
+    "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-milvus/src/main/docs/milvus-component.adoc b/components/camel-milvus/src/main/docs/milvus-component.adoc
index 3cf3040b498..6cb4d2e2c5d 100644
--- a/components/camel-milvus/src/main/docs/milvus-component.adoc
+++ b/components/camel-milvus/src/main/docs/milvus-component.adoc
@@ -1,8 +1,8 @@
-= Qdrant Component
-:doctitle: Qdrant
-:shortname: qdrant
-:artifactid: camel-qdrant
-:description: Perform operations on the Qdrant Vector Database.
+= Milvus Component
+:doctitle: Milvus
+:shortname: milvus
+:artifactid: camel-milvus
+:description: Perform operations on the Milvus Vector Database.
 :since: 4.5
 :supportlevel: Preview
 :tabs-sync-option:
diff --git a/components/camel-milvus/src/main/java/org/apache/camel/component/milvus/MilvusProducer.java b/components/camel-milvus/src/main/java/org/apache/camel/component/milvus/MilvusProducer.java
index 8a3e2a8b78b..c6f23fcc687 100644
--- a/components/camel-milvus/src/main/java/org/apache/camel/component/milvus/MilvusProducer.java
+++ b/components/camel-milvus/src/main/java/org/apache/camel/component/milvus/MilvusProducer.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.component.milvus;
 
-import java.util.List;
 import java.util.concurrent.ExecutorService;
 
 import io.milvus.client.MilvusClient;
@@ -133,7 +132,6 @@ public class MilvusProducer extends DefaultProducer {
 
     }
 
-
     private void createIndex(Exchange exchange) throws Exception {
         final Message in = exchange.getMessage();
         final CreateIndexParam body = in.getMandatoryBody(CreateIndexParam.class);
@@ -149,7 +147,8 @@ public class MilvusProducer extends DefaultProducer {
         final Message in = exchange.getMessage();
         final SearchSimpleParam body = in.getMandatoryBody(SearchSimpleParam.class);
 
-        this.client.loadCollection(LoadCollectionParam.newBuilder().withCollectionName(getEndpoint().getCollection()).withSyncLoad(true).build());
+        this.client.loadCollection(
+                LoadCollectionParam.newBuilder().withCollectionName(getEndpoint().getCollection()).withSyncLoad(true).build());
         R<SearchResponse> result = this.client.search(body);
 
         handleResponseStatus(result);
diff --git a/components/camel-milvus/src/test/java/org/apache/camel/component/milvus/MilvusTestSupport.java b/components/camel-milvus/src/test/java/org/apache/camel/component/milvus/MilvusTestSupport.java
index 417354f8e1c..c2b59bc8d6a 100644
--- a/components/camel-milvus/src/test/java/org/apache/camel/component/milvus/MilvusTestSupport.java
+++ b/components/camel-milvus/src/test/java/org/apache/camel/component/milvus/MilvusTestSupport.java
@@ -16,6 +16,8 @@
  */
 package org.apache.camel.component.milvus;
 
+import java.net.URL;
+
 import org.apache.camel.CamelContext;
 import org.apache.camel.test.infra.milvus.services.MilvusService;
 import org.apache.camel.test.infra.milvus.services.MilvusServiceFactory;
@@ -23,9 +25,6 @@ import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.TestInstance;
 import org.junit.jupiter.api.extension.RegisterExtension;
 
-import java.net.MalformedURLException;
-import java.net.URL;
-
 @TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class MilvusTestSupport extends CamelTestSupport {
     @RegisterExtension
diff --git a/components/camel-milvus/src/test/java/org/apache/camel/component/milvus/MilvusUpsertTest.java b/components/camel-milvus/src/test/java/org/apache/camel/component/milvus/MilvusUpsertTest.java
index f16ee8b9798..50ab4b2a2ce 100644
--- a/components/camel-milvus/src/test/java/org/apache/camel/component/milvus/MilvusUpsertTest.java
+++ b/components/camel-milvus/src/test/java/org/apache/camel/component/milvus/MilvusUpsertTest.java
@@ -22,9 +22,6 @@ import org.apache.camel.NoSuchHeaderException;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Test;
 
-import java.util.List;
-import java.util.Map;
-
 import static org.assertj.core.api.Assertions.assertThat;
 
 public class MilvusUpsertTest extends MilvusTestSupport {
diff --git a/components/camel-milvus/src/test/java/org/apache/camel/component/milvus/it/MilvusComponentIT.java b/components/camel-milvus/src/test/java/org/apache/camel/component/milvus/it/MilvusComponentIT.java
index 95ee6b323e2..6220150f19c 100644
--- a/components/camel-milvus/src/test/java/org/apache/camel/component/milvus/it/MilvusComponentIT.java
+++ b/components/camel-milvus/src/test/java/org/apache/camel/component/milvus/it/MilvusComponentIT.java
@@ -16,6 +16,10 @@
  */
 package org.apache.camel.component.milvus.it;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
 import io.milvus.common.clientenum.ConsistencyLevelEnum;
 import io.milvus.grpc.DataType;
 import io.milvus.param.IndexType;
@@ -35,10 +39,6 @@ import org.apache.camel.component.milvus.MilvusTestSupport;
 import org.assertj.core.util.Lists;
 import org.junit.jupiter.api.*;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Random;
-
 import static org.assertj.core.api.Assertions.assertThat;
 
 @TestMethodOrder(MethodOrderer.OrderAnnotation.class)
@@ -106,7 +106,7 @@ public class MilvusComponentIT extends MilvusTestSupport {
         assertThat(result).isNotNull();
         assertThat(result.getException()).isNull();
 
-        CreateIndexParam createVectorIndexParam  = CreateIndexParam.newBuilder()
+        CreateIndexParam createVectorIndexParam = CreateIndexParam.newBuilder()
                 .withCollectionName("test")
                 .withFieldName("userFace")
                 .withIndexName("userFaceIndex")
@@ -153,7 +153,6 @@ public class MilvusComponentIT extends MilvusTestSupport {
         assertThat(result.getException()).isNull();
     }
 
-
     @Test
     @Order(4)
     public void upsert() {
diff --git a/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties b/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
index 568d1cee709..3fd271c713c 100644
--- a/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
+++ b/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
@@ -216,6 +216,7 @@ mapstruct
 master
 metrics
 micrometer
+milvus
 mina
 minio
 mllp
diff --git a/docs/components/modules/ROOT/examples/json/milvus.json b/docs/components/modules/ROOT/examples/json/milvus.json
new file mode 120000
index 00000000000..57556162721
--- /dev/null
+++ b/docs/components/modules/ROOT/examples/json/milvus.json
@@ -0,0 +1 @@
+../../../../../../components/camel-milvus/src/generated/resources/META-INF/org/apache/camel/component/milvus/milvus.json
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/nav.adoc b/docs/components/modules/ROOT/nav.adoc
index b48101fb036..09dfa3f13b0 100644
--- a/docs/components/modules/ROOT/nav.adoc
+++ b/docs/components/modules/ROOT/nav.adoc
@@ -223,6 +223,7 @@
 ** xref:master-component.adoc[Master]
 ** xref:metrics-component.adoc[Metrics]
 ** xref:micrometer-component.adoc[Micrometer]
+** xref:milvus-component.adoc[Milvus]
 ** xref:mina-component.adoc[Mina]
 ** xref:minio-component.adoc[Minio]
 ** xref:mllp-component.adoc[MLLP]
diff --git a/docs/components/modules/ROOT/pages/milvus-component.adoc b/docs/components/modules/ROOT/pages/milvus-component.adoc
new file mode 120000
index 00000000000..44c89744e65
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/milvus-component.adoc
@@ -0,0 +1 @@
+../../../../../components/camel-milvus/src/main/docs/milvus-component.adoc
\ No newline at end of file
diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
index 8ac627aacfb..167b16cdc17 100644
--- a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
+++ b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
@@ -2781,7 +2781,7 @@ public interface ComponentsBuilderFactory {
     }
     /**
      * Langchain4j Embeddings (camel-langchain-embeddings)
-     * Langchain4j Embeddings
+     * Perform operations on the Qdrant Vector Database.
      * 
      * Category: ai
      * Since: 4.5
@@ -2938,6 +2938,19 @@ public interface ComponentsBuilderFactory {
     static org.apache.camel.builder.component.dsl.MicrometerComponentBuilderFactory.MicrometerComponentBuilder micrometer() {
         return org.apache.camel.builder.component.dsl.MicrometerComponentBuilderFactory.micrometer();
     }
+    /**
+     * Milvus (camel-milvus)
+     * Perform operations on the Milvus Vector Database.
+     * 
+     * Category: database,ai
+     * Since: 4.5
+     * Maven coordinates: org.apache.camel:camel-milvus
+     * 
+     * @return the dsl builder
+     */
+    static org.apache.camel.builder.component.dsl.MilvusComponentBuilderFactory.MilvusComponentBuilder milvus() {
+        return org.apache.camel.builder.component.dsl.MilvusComponentBuilderFactory.milvus();
+    }
     /**
      * Mina (camel-mina)
      * Socket level networking using TCP or UDP with Apache Mina 2.x.
diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/LangchainEmbeddingsComponentBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/LangchainEmbeddingsComponentBuilderFactory.java
index 9ac552400b8..7e9152c0822 100644
--- a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/LangchainEmbeddingsComponentBuilderFactory.java
+++ b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/LangchainEmbeddingsComponentBuilderFactory.java
@@ -23,7 +23,7 @@ import org.apache.camel.builder.component.ComponentBuilder;
 import org.apache.camel.component.langchain.embeddings.LangchainEmbeddingsComponent;
 
 /**
- * Langchain4j Embeddings
+ * Perform operations on the Qdrant Vector Database.
  * 
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
@@ -32,7 +32,7 @@ public interface LangchainEmbeddingsComponentBuilderFactory {
 
     /**
      * Langchain4j Embeddings (camel-langchain-embeddings)
-     * Langchain4j Embeddings
+     * Perform operations on the Qdrant Vector Database.
      * 
      * Category: ai
      * Since: 4.5
diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/LangchainEmbeddingsComponentBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/MilvusComponentBuilderFactory.java
similarity index 51%
copy from dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/LangchainEmbeddingsComponentBuilderFactory.java
copy to dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/MilvusComponentBuilderFactory.java
index 9ac552400b8..0425f4ca636 100644
--- a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/LangchainEmbeddingsComponentBuilderFactory.java
+++ b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/MilvusComponentBuilderFactory.java
@@ -20,66 +20,65 @@ import javax.annotation.processing.Generated;
 import org.apache.camel.Component;
 import org.apache.camel.builder.component.AbstractComponentBuilder;
 import org.apache.camel.builder.component.ComponentBuilder;
-import org.apache.camel.component.langchain.embeddings.LangchainEmbeddingsComponent;
+import org.apache.camel.component.milvus.MilvusComponent;
 
 /**
- * Langchain4j Embeddings
+ * Perform operations on the Milvus Vector Database.
  * 
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.ComponentDslMojo")
-public interface LangchainEmbeddingsComponentBuilderFactory {
+public interface MilvusComponentBuilderFactory {
 
     /**
-     * Langchain4j Embeddings (camel-langchain-embeddings)
-     * Langchain4j Embeddings
+     * Milvus (camel-milvus)
+     * Perform operations on the Milvus Vector Database.
      * 
-     * Category: ai
+     * Category: database,ai
      * Since: 4.5
-     * Maven coordinates: org.apache.camel:camel-langchain-embeddings
+     * Maven coordinates: org.apache.camel:camel-milvus
      * 
      * @return the dsl builder
      */
-    static LangchainEmbeddingsComponentBuilder langchainEmbeddings() {
-        return new LangchainEmbeddingsComponentBuilderImpl();
+    static MilvusComponentBuilder milvus() {
+        return new MilvusComponentBuilderImpl();
     }
 
     /**
-     * Builder for the Langchain4j Embeddings component.
+     * Builder for the Milvus component.
      */
-    interface LangchainEmbeddingsComponentBuilder
+    interface MilvusComponentBuilder
             extends
-                ComponentBuilder<LangchainEmbeddingsComponent> {
+                ComponentBuilder<MilvusComponent> {
         /**
-         * The configuration.
+         * The configuration;.
          * 
          * The option is a:
-         * &lt;code&gt;org.apache.camel.component.langchain.embeddings.LangchainEmbeddingsConfiguration&lt;/code&gt; type.
+         * &lt;code&gt;org.apache.camel.component.milvus.MilvusConfiguration&lt;/code&gt; type.
          * 
          * Group: producer
          * 
          * @param configuration the value to set
          * @return the dsl builder
          */
-        default LangchainEmbeddingsComponentBuilder configuration(
-                org.apache.camel.component.langchain.embeddings.LangchainEmbeddingsConfiguration configuration) {
+        default MilvusComponentBuilder configuration(
+                org.apache.camel.component.milvus.MilvusConfiguration configuration) {
             doSetProperty("configuration", configuration);
             return this;
         }
         /**
-         * The EmbeddingModel engine to use.
+         * The host to connect to.
          * 
-         * The option is a:
-         * &lt;code&gt;dev.langchain4j.model.embedding.EmbeddingModel&lt;/code&gt; type.
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
          * 
+         * Default: localhost
          * Group: producer
          * 
-         * @param embeddingModel the value to set
+         * @param host the value to set
          * @return the dsl builder
          */
-        default LangchainEmbeddingsComponentBuilder embeddingModel(
-                dev.langchain4j.model.embedding.EmbeddingModel embeddingModel) {
-            doSetProperty("embeddingModel", embeddingModel);
+        default MilvusComponentBuilder host(java.lang.String host) {
+            doSetProperty("host", host);
             return this;
         }
         /**
@@ -101,11 +100,54 @@ public interface LangchainEmbeddingsComponentBuilderFactory {
          * @param lazyStartProducer the value to set
          * @return the dsl builder
          */
-        default LangchainEmbeddingsComponentBuilder lazyStartProducer(
+        default MilvusComponentBuilder lazyStartProducer(
                 boolean lazyStartProducer) {
             doSetProperty("lazyStartProducer", lazyStartProducer);
             return this;
         }
+        /**
+         * The port to connect to.
+         * 
+         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 19530
+         * Group: producer
+         * 
+         * @param port the value to set
+         * @return the dsl builder
+         */
+        default MilvusComponentBuilder port(int port) {
+            doSetProperty("port", port);
+            return this;
+        }
+        /**
+         * Sets a default timeout for all requests.
+         * 
+         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param timeout the value to set
+         * @return the dsl builder
+         */
+        default MilvusComponentBuilder timeout(long timeout) {
+            doSetProperty("timeout", timeout);
+            return this;
+        }
+        /**
+         * Sets the API key to use for authentication.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param token the value to set
+         * @return the dsl builder
+         */
+        default MilvusComponentBuilder token(java.lang.String token) {
+            doSetProperty("token", token);
+            return this;
+        }
         /**
          * Whether autowiring is enabled. This is used for automatic autowiring
          * options (the option must be marked as autowired) by looking up in the
@@ -122,26 +164,25 @@ public interface LangchainEmbeddingsComponentBuilderFactory {
          * @param autowiredEnabled the value to set
          * @return the dsl builder
          */
-        default LangchainEmbeddingsComponentBuilder autowiredEnabled(
-                boolean autowiredEnabled) {
+        default MilvusComponentBuilder autowiredEnabled(boolean autowiredEnabled) {
             doSetProperty("autowiredEnabled", autowiredEnabled);
             return this;
         }
     }
 
-    class LangchainEmbeddingsComponentBuilderImpl
+    class MilvusComponentBuilderImpl
             extends
-                AbstractComponentBuilder<LangchainEmbeddingsComponent>
+                AbstractComponentBuilder<MilvusComponent>
             implements
-                LangchainEmbeddingsComponentBuilder {
+                MilvusComponentBuilder {
         @Override
-        protected LangchainEmbeddingsComponent buildConcreteComponent() {
-            return new LangchainEmbeddingsComponent();
+        protected MilvusComponent buildConcreteComponent() {
+            return new MilvusComponent();
         }
-        private org.apache.camel.component.langchain.embeddings.LangchainEmbeddingsConfiguration getOrCreateConfiguration(
-                org.apache.camel.component.langchain.embeddings.LangchainEmbeddingsComponent component) {
+        private org.apache.camel.component.milvus.MilvusConfiguration getOrCreateConfiguration(
+                org.apache.camel.component.milvus.MilvusComponent component) {
             if (component.getConfiguration() == null) {
-                component.setConfiguration(new org.apache.camel.component.langchain.embeddings.LangchainEmbeddingsConfiguration());
+                component.setConfiguration(new org.apache.camel.component.milvus.MilvusConfiguration());
             }
             return component.getConfiguration();
         }
@@ -151,10 +192,13 @@ public interface LangchainEmbeddingsComponentBuilderFactory {
                 String name,
                 Object value) {
             switch (name) {
-            case "configuration": ((LangchainEmbeddingsComponent) component).setConfiguration((org.apache.camel.component.langchain.embeddings.LangchainEmbeddingsConfiguration) value); return true;
-            case "embeddingModel": getOrCreateConfiguration((LangchainEmbeddingsComponent) component).setEmbeddingModel((dev.langchain4j.model.embedding.EmbeddingModel) value); return true;
-            case "lazyStartProducer": ((LangchainEmbeddingsComponent) component).setLazyStartProducer((boolean) value); return true;
-            case "autowiredEnabled": ((LangchainEmbeddingsComponent) component).setAutowiredEnabled((boolean) value); return true;
+            case "configuration": ((MilvusComponent) component).setConfiguration((org.apache.camel.component.milvus.MilvusConfiguration) value); return true;
+            case "host": getOrCreateConfiguration((MilvusComponent) component).setHost((java.lang.String) value); return true;
+            case "lazyStartProducer": ((MilvusComponent) component).setLazyStartProducer((boolean) value); return true;
+            case "port": getOrCreateConfiguration((MilvusComponent) component).setPort((int) value); return true;
+            case "timeout": getOrCreateConfiguration((MilvusComponent) component).setTimeout((long) value); return true;
+            case "token": getOrCreateConfiguration((MilvusComponent) component).setToken((java.lang.String) value); return true;
+            case "autowiredEnabled": ((MilvusComponent) component).setAutowiredEnabled((boolean) value); return true;
             default: return false;
             }
         }
diff --git a/dsl/camel-componentdsl/src/generated/resources/metadata.json b/dsl/camel-componentdsl/src/generated/resources/metadata.json
index ac11caed7ad..9a632937ed2 100644
--- a/dsl/camel-componentdsl/src/generated/resources/metadata.json
+++ b/dsl/camel-componentdsl/src/generated/resources/metadata.json
@@ -4780,7 +4780,7 @@
     "kind": "component",
     "name": "langchain-embeddings",
     "title": "Langchain4j Embeddings",
-    "description": "Langchain4j Embeddings",
+    "description": "Perform operations on the Qdrant Vector Database.",
     "deprecated": false,
     "firstVersion": "4.5.0",
     "label": "ai",
@@ -4788,7 +4788,7 @@
     "supportLevel": "Preview",
     "groupId": "org.apache.camel",
     "artifactId": "camel-langchain-embeddings",
-    "version": "4.5.0-SNAPSHOT",
+    "version": "4.4.0-SNAPSHOT",
     "scheme": "langchain-embeddings",
     "extendsScheme": "",
     "syntax": "langchain-embeddings:embeddingId",
@@ -5052,6 +5052,29 @@
     "lenientProperties": false,
     "remote": false
   },
+  "MilvusComponentBuilderFactory": {
+    "kind": "component",
+    "name": "milvus",
+    "title": "Milvus",
+    "description": "Perform operations on the Milvus Vector Database.",
+    "deprecated": false,
+    "firstVersion": "4.5.0",
+    "label": "database,ai",
+    "javaType": "org.apache.camel.component.milvus.MilvusComponent",
+    "supportLevel": "Preview",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-milvus",
+    "version": "4.5.0-SNAPSHOT",
+    "scheme": "milvus",
+    "extendsScheme": "",
+    "syntax": "milvus:collection",
+    "async": false,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": true,
+    "lenientProperties": false,
+    "remote": true
+  },
   "MinaComponentBuilderFactory": {
     "kind": "component",
     "name": "mina",
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
index f249617f366..35fa8dc067d 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
@@ -229,6 +229,7 @@ public interface EndpointBuilderFactory
             org.apache.camel.builder.endpoint.dsl.MasterEndpointBuilderFactory.MasterBuilders,
             org.apache.camel.builder.endpoint.dsl.MetricsEndpointBuilderFactory.MetricsBuilders,
             org.apache.camel.builder.endpoint.dsl.MicrometerEndpointBuilderFactory.MicrometerBuilders,
+            org.apache.camel.builder.endpoint.dsl.MilvusEndpointBuilderFactory.MilvusBuilders,
             org.apache.camel.builder.endpoint.dsl.MinaEndpointBuilderFactory.MinaBuilders,
             org.apache.camel.builder.endpoint.dsl.MinioEndpointBuilderFactory.MinioBuilders,
             org.apache.camel.builder.endpoint.dsl.MllpEndpointBuilderFactory.MllpBuilders,
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
index 2ed9a9de2e0..0ecf923ba8b 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
@@ -226,6 +226,7 @@ public interface EndpointBuilders
             org.apache.camel.builder.endpoint.dsl.MasterEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.MetricsEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.MicrometerEndpointBuilderFactory,
+            org.apache.camel.builder.endpoint.dsl.MilvusEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.MinaEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.MinioEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.MllpEndpointBuilderFactory,
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
index 9f7e0bc25a5..3261df8cff8 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
@@ -9831,7 +9831,7 @@ public class StaticEndpointBuilders {
     }
     /**
      * Langchain4j Embeddings (camel-langchain-embeddings)
-     * Langchain4j Embeddings
+     * Perform operations on the Qdrant Vector Database.
      * 
      * Category: ai
      * Since: 4.5
@@ -9851,7 +9851,7 @@ public class StaticEndpointBuilders {
     }
     /**
      * Langchain4j Embeddings (camel-langchain-embeddings)
-     * Langchain4j Embeddings
+     * Perform operations on the Qdrant Vector Database.
      * 
      * Category: ai
      * Since: 4.5
@@ -10449,6 +10449,49 @@ public class StaticEndpointBuilders {
             String path) {
         return org.apache.camel.builder.endpoint.dsl.MicrometerEndpointBuilderFactory.endpointBuilder(componentName, path);
     }
+    /**
+     * Milvus (camel-milvus)
+     * Perform operations on the Milvus Vector Database.
+     * 
+     * Category: database,ai
+     * Since: 4.5
+     * Maven coordinates: org.apache.camel:camel-milvus
+     * 
+     * Syntax: <code>milvus:collection</code>
+     * 
+     * Path parameter: collection (required)
+     * The collection Name
+     * 
+     * @param path collection
+     * @return the dsl builder
+     */
+    public static org.apache.camel.builder.endpoint.dsl.MilvusEndpointBuilderFactory.MilvusEndpointBuilder milvus(
+            String path) {
+        return org.apache.camel.builder.endpoint.dsl.MilvusEndpointBuilderFactory.endpointBuilder("milvus", path);
+    }
+    /**
+     * Milvus (camel-milvus)
+     * Perform operations on the Milvus Vector Database.
+     * 
+     * Category: database,ai
+     * Since: 4.5
+     * Maven coordinates: org.apache.camel:camel-milvus
+     * 
+     * Syntax: <code>milvus:collection</code>
+     * 
+     * Path parameter: collection (required)
+     * The collection Name
+     * 
+     * @param componentName to use a custom component name for the endpoint
+     * instead of the default name
+     * @param path collection
+     * @return the dsl builder
+     */
+    public static org.apache.camel.builder.endpoint.dsl.MilvusEndpointBuilderFactory.MilvusEndpointBuilder milvus(
+            String componentName,
+            String path) {
+        return org.apache.camel.builder.endpoint.dsl.MilvusEndpointBuilderFactory.endpointBuilder(componentName, path);
+    }
     /**
      * Mina (camel-mina)
      * Socket level networking using TCP or UDP with Apache Mina 2.x.
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/LangchainEmbeddingsEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/LangchainEmbeddingsEndpointBuilderFactory.java
index 217ecbaf597..1ac10e080e8 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/LangchainEmbeddingsEndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/LangchainEmbeddingsEndpointBuilderFactory.java
@@ -26,7 +26,7 @@ import org.apache.camel.builder.EndpointProducerBuilder;
 import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
 
 /**
- * Langchain4j Embeddings
+ * Perform operations on the Qdrant Vector Database.
  * 
  * Generated by camel build tools - do NOT edit this file!
  */
@@ -142,7 +142,7 @@ public interface LangchainEmbeddingsEndpointBuilderFactory {
     public interface LangchainEmbeddingsBuilders {
         /**
          * Langchain4j Embeddings (camel-langchain-embeddings)
-         * Langchain4j Embeddings
+         * Perform operations on the Qdrant Vector Database.
          * 
          * Category: ai
          * Since: 4.5
@@ -155,7 +155,7 @@ public interface LangchainEmbeddingsEndpointBuilderFactory {
         }
         /**
          * Langchain4j Embeddings (camel-langchain-embeddings)
-         * Langchain4j Embeddings
+         * Perform operations on the Qdrant Vector Database.
          * 
          * Category: ai
          * Since: 4.5
@@ -175,7 +175,7 @@ public interface LangchainEmbeddingsEndpointBuilderFactory {
         }
         /**
          * Langchain4j Embeddings (camel-langchain-embeddings)
-         * Langchain4j Embeddings
+         * Perform operations on the Qdrant Vector Database.
          * 
          * Category: ai
          * Since: 4.5
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MilvusEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MilvusEndpointBuilderFactory.java
new file mode 100644
index 00000000000..d4858253847
--- /dev/null
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MilvusEndpointBuilderFactory.java
@@ -0,0 +1,390 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.builder.endpoint.dsl;
+
+import java.util.*;
+import java.util.concurrent.*;
+import java.util.function.*;
+import java.util.stream.*;
+import javax.annotation.processing.Generated;
+import org.apache.camel.builder.EndpointConsumerBuilder;
+import org.apache.camel.builder.EndpointProducerBuilder;
+import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
+
+/**
+ * Perform operations on the Milvus Vector Database.
+ * 
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
+public interface MilvusEndpointBuilderFactory {
+
+
+    /**
+     * Builder for endpoint for the Milvus component.
+     */
+    public interface MilvusEndpointBuilder extends EndpointProducerBuilder {
+        default AdvancedMilvusEndpointBuilder advanced() {
+            return (AdvancedMilvusEndpointBuilder) this;
+        }
+        /**
+         * The host to connect to.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: localhost
+         * Group: producer
+         * 
+         * @param host the value to set
+         * @return the dsl builder
+         */
+        default MilvusEndpointBuilder host(String host) {
+            doSetProperty("host", host);
+            return this;
+        }
+        /**
+         * The port to connect to.
+         * 
+         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 19530
+         * Group: producer
+         * 
+         * @param port the value to set
+         * @return the dsl builder
+         */
+        default MilvusEndpointBuilder port(int port) {
+            doSetProperty("port", port);
+            return this;
+        }
+        /**
+         * The port to connect to.
+         * 
+         * The option will be converted to a &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 19530
+         * Group: producer
+         * 
+         * @param port the value to set
+         * @return the dsl builder
+         */
+        default MilvusEndpointBuilder port(String port) {
+            doSetProperty("port", port);
+            return this;
+        }
+        /**
+         * Sets a default timeout for all requests.
+         * 
+         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param timeout the value to set
+         * @return the dsl builder
+         */
+        default MilvusEndpointBuilder timeout(long timeout) {
+            doSetProperty("timeout", timeout);
+            return this;
+        }
+        /**
+         * Sets a default timeout for all requests.
+         * 
+         * The option will be converted to a &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param timeout the value to set
+         * @return the dsl builder
+         */
+        default MilvusEndpointBuilder timeout(String timeout) {
+            doSetProperty("timeout", timeout);
+            return this;
+        }
+        /**
+         * Sets the API key to use for authentication.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param token the value to set
+         * @return the dsl builder
+         */
+        default MilvusEndpointBuilder token(String token) {
+            doSetProperty("token", token);
+            return this;
+        }
+    }
+
+    /**
+     * Advanced builder for endpoint for the Milvus component.
+     */
+    public interface AdvancedMilvusEndpointBuilder
+            extends
+                EndpointProducerBuilder {
+        default MilvusEndpointBuilder basic() {
+            return (MilvusEndpointBuilder) this;
+        }
+        /**
+         * 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 during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer (advanced)
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default AdvancedMilvusEndpointBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * 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 during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: producer (advanced)
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default AdvancedMilvusEndpointBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+    }
+
+    public interface MilvusBuilders {
+        /**
+         * Milvus (camel-milvus)
+         * Perform operations on the Milvus Vector Database.
+         * 
+         * Category: database,ai
+         * Since: 4.5
+         * Maven coordinates: org.apache.camel:camel-milvus
+         * 
+         * @return the dsl builder for the headers' name.
+         */
+        default MilvusHeaderNameBuilder milvus() {
+            return MilvusHeaderNameBuilder.INSTANCE;
+        }
+        /**
+         * Milvus (camel-milvus)
+         * Perform operations on the Milvus Vector Database.
+         * 
+         * Category: database,ai
+         * Since: 4.5
+         * Maven coordinates: org.apache.camel:camel-milvus
+         * 
+         * Syntax: <code>milvus:collection</code>
+         * 
+         * Path parameter: collection (required)
+         * The collection Name
+         * 
+         * @param path collection
+         * @return the dsl builder
+         */
+        default MilvusEndpointBuilder milvus(String path) {
+            return MilvusEndpointBuilderFactory.endpointBuilder("milvus", path);
+        }
+        /**
+         * Milvus (camel-milvus)
+         * Perform operations on the Milvus Vector Database.
+         * 
+         * Category: database,ai
+         * Since: 4.5
+         * Maven coordinates: org.apache.camel:camel-milvus
+         * 
+         * Syntax: <code>milvus:collection</code>
+         * 
+         * Path parameter: collection (required)
+         * The collection Name
+         * 
+         * @param componentName to use a custom component name for the endpoint
+         * instead of the default name
+         * @param path collection
+         * @return the dsl builder
+         */
+        default MilvusEndpointBuilder milvus(String componentName, String path) {
+            return MilvusEndpointBuilderFactory.endpointBuilder(componentName, path);
+        }
+    }
+
+    /**
+     * The builder of headers' name for the Milvus component.
+     */
+    public static class MilvusHeaderNameBuilder {
+        /**
+         * The internal instance of the builder used to access to all the
+         * methods representing the name of headers.
+         */
+        private static final MilvusHeaderNameBuilder INSTANCE = new MilvusHeaderNameBuilder();
+
+        /**
+         * The action to be performed.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code MilvusAction}.
+         */
+        public String milvusAction() {
+            return "CamelMilvusAction";
+        }
+
+        /**
+         * Payload Selector.
+         * 
+         * The option is a: {@code
+         * io.qdrant.client.grpc.Points$WithPayloadSelector} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code MilvusPointsPayloadSelector}.
+         */
+        public String milvusPointsPayloadSelector() {
+            return "CamelMilvusPointsPayloadSelector";
+        }
+
+        /**
+         * Operation ID.
+         * 
+         * The option is a: {@code long} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code MilvusOperationID}.
+         */
+        public String milvusOperationID() {
+            return "CamelMilvusOperationID";
+        }
+
+        /**
+         * Operation Status.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code MilvusOperationStatus}.
+         */
+        public String milvusOperationStatus() {
+            return "CamelMilvusOperationStatus";
+        }
+
+        /**
+         * Operation Status Value.
+         * 
+         * The option is a: {@code int} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code MilvusOperationStatusValue}.
+         */
+        public String milvusOperationStatusValue() {
+            return "CamelMilvusOperationStatusValue";
+        }
+
+        /**
+         * Read Consistency.
+         * 
+         * The option is a: {@code io.qdrant.client.grpc.Points$ReadConsistency}
+         * type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code MilvusReadConsistency}.
+         */
+        public String milvusReadConsistency() {
+            return "CamelMilvusReadConsistency";
+        }
+
+        /**
+         * Include Payload.
+         * 
+         * The option is a: {@code boolean} type.
+         * 
+         * Default: true
+         * Group: producer
+         * 
+         * @return the name of the header {@code MilvusWithPayload}.
+         */
+        public String milvusWithPayload() {
+            return "CamelMilvusWithPayload";
+        }
+
+        /**
+         * Include Vectors.
+         * 
+         * The option is a: {@code boolean} type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @return the name of the header {@code MilvusWithVectors}.
+         */
+        public String milvusWithVectors() {
+            return "CamelMilvusWithVectors";
+        }
+
+        /**
+         * The number of elements.
+         * 
+         * The option is a: {@code int} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code MilvusSize}.
+         */
+        public String milvusSize() {
+            return "CamelMilvusSize";
+        }
+    }
+    static MilvusEndpointBuilder endpointBuilder(
+            String componentName,
+            String path) {
+        class MilvusEndpointBuilderImpl extends AbstractEndpointBuilder implements MilvusEndpointBuilder, AdvancedMilvusEndpointBuilder {
+            public MilvusEndpointBuilderImpl(String path) {
+                super(componentName, path);
+            }
+        }
+        return new MilvusEndpointBuilderImpl(path);
+    }
+}
\ No newline at end of file
diff --git a/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties b/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
index 0c7fdbf2263..322e5efc6f2 100644
--- a/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
+++ b/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
@@ -228,6 +228,7 @@ org.apache.camel.component.mapstruct.MapstructComponent=camel:mapstruct
 org.apache.camel.component.master.MasterComponent=camel:master
 org.apache.camel.component.metrics.MetricsComponent=camel:metrics
 org.apache.camel.component.micrometer.MicrometerComponent=camel:micrometer
+org.apache.camel.component.milvus.MilvusComponent=camel:milvus
 org.apache.camel.component.mina.MinaComponent=camel:mina
 org.apache.camel.component.minio.MinioComponent=camel:minio
 org.apache.camel.component.mllp.MllpComponent=camel:mllp
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/LangchainEmbeddingsUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/LangchainEmbeddingsUriDsl.kt
index b51c421f77e..696248a9249 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/LangchainEmbeddingsUriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/LangchainEmbeddingsUriDsl.kt
@@ -23,7 +23,7 @@ import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
 /**
- * Langchain4j Embeddings
+ * Perform operations on the Qdrant Vector Database.
  */
 public fun UriDsl.`langchain-embeddings`(i: LangchainEmbeddingsUriDsl.() -> Unit) {
   LangchainEmbeddingsUriDsl(this).apply(i)
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/LangchainEmbeddingsUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/MilvusUriDsl.kt
similarity index 69%
copy from dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/LangchainEmbeddingsUriDsl.kt
copy to dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/MilvusUriDsl.kt
index b51c421f77e..06e52f30146 100644
--- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/LangchainEmbeddingsUriDsl.kt
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/MilvusUriDsl.kt
@@ -17,44 +17,80 @@
 package org.apache.camel.kotlin.components
 
 import kotlin.Boolean
+import kotlin.Int
 import kotlin.String
 import kotlin.Unit
 import org.apache.camel.kotlin.CamelDslMarker
 import org.apache.camel.kotlin.UriDsl
 
 /**
- * Langchain4j Embeddings
+ * Perform operations on the Milvus Vector Database.
  */
-public fun UriDsl.`langchain-embeddings`(i: LangchainEmbeddingsUriDsl.() -> Unit) {
-  LangchainEmbeddingsUriDsl(this).apply(i)
+public fun UriDsl.milvus(i: MilvusUriDsl.() -> Unit) {
+  MilvusUriDsl(this).apply(i)
 }
 
 @CamelDslMarker
-public class LangchainEmbeddingsUriDsl(
+public class MilvusUriDsl(
   it: UriDsl,
 ) {
   private val it: UriDsl
 
   init {
     this.it = it
-    this.it.component("langchain-embeddings")
+    this.it.component("milvus")
   }
 
-  private var embeddingId: String = ""
+  private var collection: String = ""
 
   /**
-   * The id
+   * The collection Name
    */
-  public fun embeddingId(embeddingId: String) {
-    this.embeddingId = embeddingId
-    it.url("$embeddingId")
+  public fun collection(collection: String) {
+    this.collection = collection
+    it.url("$collection")
   }
 
   /**
-   * The EmbeddingModel engine to use.
+   * The host to connect to.
    */
-  public fun embeddingModel(embeddingModel: String) {
-    it.property("embeddingModel", embeddingModel)
+  public fun host(host: String) {
+    it.property("host", host)
+  }
+
+  /**
+   * The port to connect to.
+   */
+  public fun port(port: String) {
+    it.property("port", port)
+  }
+
+  /**
+   * The port to connect to.
+   */
+  public fun port(port: Int) {
+    it.property("port", port.toString())
+  }
+
+  /**
+   * Sets a default timeout for all requests
+   */
+  public fun timeout(timeout: String) {
+    it.property("timeout", timeout)
+  }
+
+  /**
+   * Sets a default timeout for all requests
+   */
+  public fun timeout(timeout: Int) {
+    it.property("timeout", timeout.toString())
+  }
+
+  /**
+   * Sets the API key to use for authentication
+   */
+  public fun token(token: String) {
+    it.property("token", token)
   }
 
   /**