This is an automated email from the ASF dual-hosted git repository.
jamesnetherton 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 f44cf856bc8d CAMEL-22412: Add langchain4j-embeddingstore to
camel-catalog
f44cf856bc8d is described below
commit f44cf856bc8d2399bd873f9de2bd4bb6932b6a57
Author: James Netherton <[email protected]>
AuthorDate: Mon Oct 6 15:12:39 2025 +0100
CAMEL-22412: Add langchain4j-embeddingstore to camel-catalog
---
.../org/apache/camel/catalog/components.properties | 1 +
.../components/langchain4j-embeddingstore.json | 45 ++++
.../org/apache/camel/main/components.properties | 1 +
.../component/ComponentsBuilderFactory.java | 13 +
...ain4jEmbeddingstoreComponentBuilderFactory.java | 178 ++++++++++++
.../builder/endpoint/EndpointBuilderFactory.java | 1 +
.../camel/builder/endpoint/EndpointBuilders.java | 1 +
.../builder/endpoint/StaticEndpointBuilders.java | 40 +++
...hain4jEmbeddingStoreEndpointBuilderFactory.java | 298 +++++++++++++++++++++
.../camel-component-known-dependencies.properties | 1 +
.../apache/camel/maven/packaging/MojoHelper.java | 3 +-
11 files changed, 581 insertions(+), 1 deletion(-)
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 8b1b0a6722f9..2199f2c89af8 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
@@ -217,6 +217,7 @@ kudu
langchain4j-agent
langchain4j-chat
langchain4j-embeddings
+langchain4j-embeddingstore
langchain4j-tools
langchain4j-web-search
language
diff --git
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/langchain4j-embeddingstore.json
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/langchain4j-embeddingstore.json
new file mode 100644
index 000000000000..0199f4aeec7e
--- /dev/null
+++
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/langchain4j-embeddingstore.json
@@ -0,0 +1,45 @@
+{
+ "component": {
+ "kind": "component",
+ "name": "langchain4j-embeddingstore",
+ "title": "LangChain4j Embedding Store",
+ "description": "Perform operations on the Langchain4jEmbeddingStores.",
+ "deprecated": false,
+ "firstVersion": "4.14.0",
+ "label": "database,ai",
+ "javaType":
"org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreComponent",
+ "supportLevel": "Preview",
+ "groupId": "org.apache.camel",
+ "artifactId": "camel-langchain4j-embeddingstore",
+ "version": "4.15.0-SNAPSHOT",
+ "scheme": "langchain4j-embeddingstore",
+ "extendsScheme": "",
+ "syntax": "langchain4j-embeddingstore:embeddingStoreId",
+ "async": false,
+ "api": false,
+ "consumerOnly": false,
+ "producerOnly": true,
+ "lenientProperties": false,
+ "browsable": false,
+ "remote": true
+ },
+ "componentProperties": {
+ "configuration": { "index": 0, "kind": "property", "displayName":
"Configuration", "group": "producer", "label": "", "required": false, "type":
"object", "javaType":
"org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreConfiguration",
"deprecated": false, "autowired": false, "secret": false, "description": "The
configuration;" },
+ "embeddingStore": { "index": 1, "kind": "property", "displayName":
"Embedding Store", "group": "producer", "label": "", "required": false, "type":
"object", "javaType":
"dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>",
"deprecated": false, "deprecationNote": "", "autowired": true, "secret":
false, "configurationClass":
"org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreConfiguration",
"configurationField": "config [...]
+ "embeddingStoreFactory": { "index": 2, "kind": "property", "displayName":
"Embedding Store Factory", "group": "producer", "label": "", "required": false,
"type": "object", "javaType":
"org.apache.camel.component.langchain4j.embeddingstore.EmbeddingStoreFactory",
"deprecated": false, "deprecationNote": "", "autowired": true, "secret": false,
"configurationClass":
"org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreConfiguration",
"configurationField": "conf [...]
+ "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 [...]
+ "autowiredEnabled": { "index": 4, "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": {
+ "CamelLangchain4jEmbeddingStoreAction": { "index": 0, "kind": "header",
"displayName": "", "group": "producer", "label": "", "required": false,
"javaType": "String", "enum": [ "ADD", "REMOVE", "SEARCH" ], "deprecated":
false, "deprecationNote": "", "autowired": false, "secret": false,
"description": "The action to be performed.", "constantName":
"org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreHeaders#ACTION"
},
+ "CamelLangchain4jEmbeddingStoreMaxResults": { "index": 1, "kind":
"header", "displayName": "", "group": "producer", "label": "", "required":
false, "javaType": "Integer", "deprecated": false, "deprecationNote": "",
"autowired": false, "secret": false, "defaultValue": "5", "description":
"Maximum number of search results to return", "constantName":
"org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreHeaders#MAX_RESULTS"
},
+ "CamelLangchain4jEmbeddingStoreMinScore": { "index": 2, "kind": "header",
"displayName": "", "group": "producer", "label": "", "required": false,
"javaType": "Double", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "Minimum similarity score for search
results", "constantName":
"org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreHeaders#MIN_SCORE"
},
+ "CamelLangchain4jEmbeddingStoreFilter": { "index": 3, "kind": "header",
"displayName": "", "group": "producer", "label": "", "required": false,
"javaType": "dev.langchain4j.store.embedding.filter.Filter", "deprecated":
false, "deprecationNote": "", "autowired": false, "secret": false,
"description": "Search filter for metadata-based constraints", "constantName":
"org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreHeaders#FILTER"
}
+ },
+ "properties": {
+ "embeddingStoreId": { "index": 0, "kind": "path", "displayName":
"Embedding Store Id", "group": "producer", "label": "", "required": true,
"type": "string", "javaType": "java.lang.String", "deprecated": false,
"deprecationNote": "", "autowired": false, "secret": false, "description": "The
id of the embedding store" },
+ "embeddingStore": { "index": 1, "kind": "parameter", "displayName":
"Embedding Store", "group": "producer", "label": "", "required": false, "type":
"object", "javaType":
"dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>",
"deprecated": false, "deprecationNote": "", "autowired": true, "secret":
false, "configurationClass":
"org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreConfiguration",
"configurationField": "confi [...]
+ "embeddingStoreFactory": { "index": 2, "kind": "parameter", "displayName":
"Embedding Store Factory", "group": "producer", "label": "", "required": false,
"type": "object", "javaType":
"org.apache.camel.component.langchain4j.embeddingstore.EmbeddingStoreFactory",
"deprecated": false, "deprecationNote": "", "autowired": true, "secret": false,
"configurationClass":
"org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreConfiguration",
"configurationField": "con [...]
+ "lazyStartProducer": { "index": 3, "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/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 8b1b0a6722f9..2199f2c89af8 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
@@ -217,6 +217,7 @@ kudu
langchain4j-agent
langchain4j-chat
langchain4j-embeddings
+langchain4j-embeddingstore
langchain4j-tools
langchain4j-web-search
language
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 4ad4ab75280f..949d04e06c29 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
@@ -2958,6 +2958,19 @@ public interface ComponentsBuilderFactory {
static
Langchain4jEmbeddingsComponentBuilderFactory.Langchain4jEmbeddingsComponentBuilder
langchain4jEmbeddings() {
return
Langchain4jEmbeddingsComponentBuilderFactory.langchain4jEmbeddings();
}
+ /**
+ * LangChain4j Embedding Store (camel-langchain4j-embeddingstore)
+ * Perform operations on the Langchain4jEmbeddingStores.
+ *
+ * Category: database,ai
+ * Since: 4.14
+ * Maven coordinates: org.apache.camel:camel-langchain4j-embeddingstore
+ *
+ * @return the dsl builder
+ */
+ static
Langchain4jEmbeddingstoreComponentBuilderFactory.Langchain4jEmbeddingstoreComponentBuilder
langchain4jEmbeddingstore() {
+ return
Langchain4jEmbeddingstoreComponentBuilderFactory.langchain4jEmbeddingstore();
+ }
/**
* LangChain4j Tools (camel-langchain4j-tools)
* LangChain4j Tools and Function Calling Features
diff --git
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Langchain4jEmbeddingstoreComponentBuilderFactory.java
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Langchain4jEmbeddingstoreComponentBuilderFactory.java
new file mode 100644
index 000000000000..42765fab0ecf
--- /dev/null
+++
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Langchain4jEmbeddingstoreComponentBuilderFactory.java
@@ -0,0 +1,178 @@
+/* Generated by camel build tools - do NOT edit this file! */
+/*
+ * 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.component.dsl;
+
+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.langchain4j.embeddingstore.LangChain4jEmbeddingStoreComponent;
+
+/**
+ * Perform operations on the Langchain4jEmbeddingStores.
+ *
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.ComponentDslMojo")
+public interface Langchain4jEmbeddingstoreComponentBuilderFactory {
+
+ /**
+ * LangChain4j Embedding Store (camel-langchain4j-embeddingstore)
+ * Perform operations on the Langchain4jEmbeddingStores.
+ *
+ * Category: database,ai
+ * Since: 4.14
+ * Maven coordinates: org.apache.camel:camel-langchain4j-embeddingstore
+ *
+ * @return the dsl builder
+ */
+ static Langchain4jEmbeddingstoreComponentBuilder
langchain4jEmbeddingstore() {
+ return new Langchain4jEmbeddingstoreComponentBuilderImpl();
+ }
+
+ /**
+ * Builder for the LangChain4j Embedding Store component.
+ */
+ interface Langchain4jEmbeddingstoreComponentBuilder extends
ComponentBuilder<LangChain4jEmbeddingStoreComponent> {
+
+ /**
+ * The configuration;.
+ *
+ * The option is a:
+ *
<code>org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreConfiguration</code>
type.
+ *
+ * Group: producer
+ *
+ * @param configuration the value to set
+ * @return the dsl builder
+ */
+ default Langchain4jEmbeddingstoreComponentBuilder
configuration(org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreConfiguration
configuration) {
+ doSetProperty("configuration", configuration);
+ return this;
+ }
+
+ /**
+ * Direct embedding store instance for vector operations.
+ *
+ * The option is a:
+ *
<code>dev.langchain4j.store.embedding.EmbeddingStore&lt;dev.langchain4j.data.segment.TextSegment&gt;</code>
type.
+ *
+ * Group: producer
+ *
+ * @param embeddingStore the value to set
+ * @return the dsl builder
+ */
+ default Langchain4jEmbeddingstoreComponentBuilder
embeddingStore(dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
embeddingStore) {
+ doSetProperty("embeddingStore", embeddingStore);
+ return this;
+ }
+
+ /**
+ * The embedding store factory to use for creating embedding stores if
+ * no embeddingstore is provided.
+ *
+ * The option is a:
+ *
<code>org.apache.camel.component.langchain4j.embeddingstore.EmbeddingStoreFactory</code>
type.
+ *
+ * Group: producer
+ *
+ * @param embeddingStoreFactory the value to set
+ * @return the dsl builder
+ */
+ default Langchain4jEmbeddingstoreComponentBuilder
embeddingStoreFactory(org.apache.camel.component.langchain4j.embeddingstore.EmbeddingStoreFactory
embeddingStoreFactory) {
+ doSetProperty("embeddingStoreFactory", embeddingStoreFactory);
+ 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 is a: <code>boolean</code> type.
+ *
+ * Default: false
+ * Group: producer
+ *
+ * @param lazyStartProducer the value to set
+ * @return the dsl builder
+ */
+ default Langchain4jEmbeddingstoreComponentBuilder
lazyStartProducer(boolean lazyStartProducer) {
+ doSetProperty("lazyStartProducer", lazyStartProducer);
+ 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
+ * registry to find if there is a single instance of matching type,
+ * which then gets configured on the component. This can be used for
+ * automatic configuring JDBC data sources, JMS connection factories,
+ * AWS Clients, etc.
+ *
+ * The option is a: <code>boolean</code> type.
+ *
+ * Default: true
+ * Group: advanced
+ *
+ * @param autowiredEnabled the value to set
+ * @return the dsl builder
+ */
+ default Langchain4jEmbeddingstoreComponentBuilder
autowiredEnabled(boolean autowiredEnabled) {
+ doSetProperty("autowiredEnabled", autowiredEnabled);
+ return this;
+ }
+ }
+
+ class Langchain4jEmbeddingstoreComponentBuilderImpl
+ extends
AbstractComponentBuilder<LangChain4jEmbeddingStoreComponent>
+ implements Langchain4jEmbeddingstoreComponentBuilder {
+ @Override
+ protected LangChain4jEmbeddingStoreComponent buildConcreteComponent() {
+ return new LangChain4jEmbeddingStoreComponent();
+ }
+ private
org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreConfiguration
getOrCreateConfiguration(LangChain4jEmbeddingStoreComponent component) {
+ if (component.getConfiguration() == null) {
+ component.setConfiguration(new
org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreConfiguration());
+ }
+ return component.getConfiguration();
+ }
+ @Override
+ protected boolean setPropertyOnComponent(
+ Component component,
+ String name,
+ Object value) {
+ switch (name) {
+ case "configuration": ((LangChain4jEmbeddingStoreComponent)
component).setConfiguration((org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreConfiguration)
value); return true;
+ case "embeddingStore":
getOrCreateConfiguration((LangChain4jEmbeddingStoreComponent)
component).setEmbeddingStore((dev.langchain4j.store.embedding.EmbeddingStore)
value); return true;
+ case "embeddingStoreFactory":
getOrCreateConfiguration((LangChain4jEmbeddingStoreComponent)
component).setEmbeddingStoreFactory((org.apache.camel.component.langchain4j.embeddingstore.EmbeddingStoreFactory)
value); return true;
+ case "lazyStartProducer": ((LangChain4jEmbeddingStoreComponent)
component).setLazyStartProducer((boolean) value); return true;
+ case "autowiredEnabled": ((LangChain4jEmbeddingStoreComponent)
component).setAutowiredEnabled((boolean) value); return true;
+ default: return false;
+ }
+ }
+ }
+}
\ No newline at end of file
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 6007761c6c88..bf89c6176b37 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
@@ -226,6 +226,7 @@ public interface EndpointBuilderFactory
org.apache.camel.builder.endpoint.dsl.Lambda2EndpointBuilderFactory.Lambda2Builders,
org.apache.camel.builder.endpoint.dsl.LangChain4jAgentEndpointBuilderFactory.LangChain4jAgentBuilders,
org.apache.camel.builder.endpoint.dsl.LangChain4jChatEndpointBuilderFactory.LangChain4jChatBuilders,
+
org.apache.camel.builder.endpoint.dsl.LangChain4jEmbeddingStoreEndpointBuilderFactory.LangChain4jEmbeddingStoreBuilders,
org.apache.camel.builder.endpoint.dsl.LangChain4jEmbeddingsEndpointBuilderFactory.LangChain4jEmbeddingsBuilders,
org.apache.camel.builder.endpoint.dsl.LangChain4jToolsEndpointBuilderFactory.LangChain4jToolsBuilders,
org.apache.camel.builder.endpoint.dsl.LangChain4jWebSearchEndpointBuilderFactory.LangChain4jWebSearchBuilders,
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 b3c06e927dff..5887786a5a31 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
@@ -223,6 +223,7 @@ public interface EndpointBuilders
org.apache.camel.builder.endpoint.dsl.Lambda2EndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.LangChain4jAgentEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.LangChain4jChatEndpointBuilderFactory,
+
org.apache.camel.builder.endpoint.dsl.LangChain4jEmbeddingStoreEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.LangChain4jEmbeddingsEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.LangChain4jToolsEndpointBuilderFactory,
org.apache.camel.builder.endpoint.dsl.LangChain4jWebSearchEndpointBuilderFactory,
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 a77e3434de47..96171556edf2 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
@@ -9798,6 +9798,46 @@ public class StaticEndpointBuilders {
public static
LangChain4jEmbeddingsEndpointBuilderFactory.LangChain4jEmbeddingsEndpointBuilder
langchain4jEmbeddings(String componentName, String path) {
return
LangChain4jEmbeddingsEndpointBuilderFactory.endpointBuilder(componentName,
path);
}
+ /**
+ * LangChain4j Embedding Store (camel-langchain4j-embeddingstore)
+ * Perform operations on the Langchain4jEmbeddingStores.
+ *
+ * Category: database,ai
+ * Since: 4.14
+ * Maven coordinates: org.apache.camel:camel-langchain4j-embeddingstore
+ *
+ * Syntax: <code>langchain4j-embeddingstore:embeddingStoreId</code>
+ *
+ * Path parameter: embeddingStoreId (required)
+ * The id of the embedding store
+ *
+ * @param path embeddingStoreId
+ * @return the dsl builder
+ */
+ public static
LangChain4jEmbeddingStoreEndpointBuilderFactory.LangChain4jEmbeddingStoreEndpointBuilder
langchain4jEmbeddingstore(String path) {
+ return langchain4jEmbeddingstore("langchain4j-embeddingstore", path);
+ }
+ /**
+ * LangChain4j Embedding Store (camel-langchain4j-embeddingstore)
+ * Perform operations on the Langchain4jEmbeddingStores.
+ *
+ * Category: database,ai
+ * Since: 4.14
+ * Maven coordinates: org.apache.camel:camel-langchain4j-embeddingstore
+ *
+ * Syntax: <code>langchain4j-embeddingstore:embeddingStoreId</code>
+ *
+ * Path parameter: embeddingStoreId (required)
+ * The id of the embedding store
+ *
+ * @param componentName to use a custom component name for the endpoint
+ * instead of the default name
+ * @param path embeddingStoreId
+ * @return the dsl builder
+ */
+ public static
LangChain4jEmbeddingStoreEndpointBuilderFactory.LangChain4jEmbeddingStoreEndpointBuilder
langchain4jEmbeddingstore(String componentName, String path) {
+ return
LangChain4jEmbeddingStoreEndpointBuilderFactory.endpointBuilder(componentName,
path);
+ }
/**
* LangChain4j Tools (camel-langchain4j-tools)
* LangChain4j Tools and Function Calling Features
diff --git
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/LangChain4jEmbeddingStoreEndpointBuilderFactory.java
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/LangChain4jEmbeddingStoreEndpointBuilderFactory.java
new file mode 100644
index 000000000000..d6acdff28952
--- /dev/null
+++
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/LangChain4jEmbeddingStoreEndpointBuilderFactory.java
@@ -0,0 +1,298 @@
+/* Generated by camel build tools - do NOT edit this file! */
+/*
+ * 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 Langchain4jEmbeddingStores.
+ *
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
+public interface LangChain4jEmbeddingStoreEndpointBuilderFactory {
+
+ /**
+ * Builder for endpoint for the LangChain4j Embedding Store component.
+ */
+ public interface LangChain4jEmbeddingStoreEndpointBuilder
+ extends
+ EndpointProducerBuilder {
+ default AdvancedLangChain4jEmbeddingStoreEndpointBuilder advanced() {
+ return (AdvancedLangChain4jEmbeddingStoreEndpointBuilder) this;
+ }
+
+ /**
+ * Direct embedding store instance for vector operations.
+ *
+ * The option is a:
+ *
<code>dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment></code>
type.
+ *
+ * Group: producer
+ *
+ * @param embeddingStore the value to set
+ * @return the dsl builder
+ */
+ default LangChain4jEmbeddingStoreEndpointBuilder
embeddingStore(dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
embeddingStore) {
+ doSetProperty("embeddingStore", embeddingStore);
+ return this;
+ }
+ /**
+ * Direct embedding store instance for vector operations.
+ *
+ * The option will be converted to a
+ *
<code>dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment></code>
type.
+ *
+ * Group: producer
+ *
+ * @param embeddingStore the value to set
+ * @return the dsl builder
+ */
+ default LangChain4jEmbeddingStoreEndpointBuilder embeddingStore(String
embeddingStore) {
+ doSetProperty("embeddingStore", embeddingStore);
+ return this;
+ }
+ /**
+ * The embedding store factory to use for creating embedding stores if
+ * no embeddingstore is provided.
+ *
+ * The option is a:
+ *
<code>org.apache.camel.component.langchain4j.embeddingstore.EmbeddingStoreFactory</code>
type.
+ *
+ * Group: producer
+ *
+ * @param embeddingStoreFactory the value to set
+ * @return the dsl builder
+ */
+ default LangChain4jEmbeddingStoreEndpointBuilder
embeddingStoreFactory(org.apache.camel.component.langchain4j.embeddingstore.EmbeddingStoreFactory
embeddingStoreFactory) {
+ doSetProperty("embeddingStoreFactory", embeddingStoreFactory);
+ return this;
+ }
+ /**
+ * The embedding store factory to use for creating embedding stores if
+ * no embeddingstore is provided.
+ *
+ * The option will be converted to a
+ *
<code>org.apache.camel.component.langchain4j.embeddingstore.EmbeddingStoreFactory</code>
type.
+ *
+ * Group: producer
+ *
+ * @param embeddingStoreFactory the value to set
+ * @return the dsl builder
+ */
+ default LangChain4jEmbeddingStoreEndpointBuilder
embeddingStoreFactory(String embeddingStoreFactory) {
+ doSetProperty("embeddingStoreFactory", embeddingStoreFactory);
+ return this;
+ }
+ }
+
+ /**
+ * Advanced builder for endpoint for the LangChain4j Embedding Store
component.
+ */
+ public interface AdvancedLangChain4jEmbeddingStoreEndpointBuilder
+ extends
+ EndpointProducerBuilder {
+ default LangChain4jEmbeddingStoreEndpointBuilder basic() {
+ return (LangChain4jEmbeddingStoreEndpointBuilder) 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: <code>boolean</code> type.
+ *
+ * Default: false
+ * Group: producer (advanced)
+ *
+ * @param lazyStartProducer the value to set
+ * @return the dsl builder
+ */
+ default AdvancedLangChain4jEmbeddingStoreEndpointBuilder
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 <code>boolean</code> type.
+ *
+ * Default: false
+ * Group: producer (advanced)
+ *
+ * @param lazyStartProducer the value to set
+ * @return the dsl builder
+ */
+ default AdvancedLangChain4jEmbeddingStoreEndpointBuilder
lazyStartProducer(String lazyStartProducer) {
+ doSetProperty("lazyStartProducer", lazyStartProducer);
+ return this;
+ }
+ }
+
+ public interface LangChain4jEmbeddingStoreBuilders {
+ /**
+ * LangChain4j Embedding Store (camel-langchain4j-embeddingstore)
+ * Perform operations on the Langchain4jEmbeddingStores.
+ *
+ * Category: database,ai
+ * Since: 4.14
+ * Maven coordinates: org.apache.camel:camel-langchain4j-embeddingstore
+ *
+ * @return the dsl builder for the headers' name.
+ */
+ default LangChain4jEmbeddingStoreHeaderNameBuilder
langchain4jEmbeddingstore() {
+ return LangChain4jEmbeddingStoreHeaderNameBuilder.INSTANCE;
+ }
+ /**
+ * LangChain4j Embedding Store (camel-langchain4j-embeddingstore)
+ * Perform operations on the Langchain4jEmbeddingStores.
+ *
+ * Category: database,ai
+ * Since: 4.14
+ * Maven coordinates: org.apache.camel:camel-langchain4j-embeddingstore
+ *
+ * Syntax: <code>langchain4j-embeddingstore:embeddingStoreId</code>
+ *
+ * Path parameter: embeddingStoreId (required)
+ * The id of the embedding store
+ *
+ * @param path embeddingStoreId
+ * @return the dsl builder
+ */
+ default LangChain4jEmbeddingStoreEndpointBuilder
langchain4jEmbeddingstore(String path) {
+ return
LangChain4jEmbeddingStoreEndpointBuilderFactory.endpointBuilder("langchain4j-embeddingstore",
path);
+ }
+ /**
+ * LangChain4j Embedding Store (camel-langchain4j-embeddingstore)
+ * Perform operations on the Langchain4jEmbeddingStores.
+ *
+ * Category: database,ai
+ * Since: 4.14
+ * Maven coordinates: org.apache.camel:camel-langchain4j-embeddingstore
+ *
+ * Syntax: <code>langchain4j-embeddingstore:embeddingStoreId</code>
+ *
+ * Path parameter: embeddingStoreId (required)
+ * The id of the embedding store
+ *
+ * @param componentName to use a custom component name for the endpoint
+ * instead of the default name
+ * @param path embeddingStoreId
+ * @return the dsl builder
+ */
+ default LangChain4jEmbeddingStoreEndpointBuilder
langchain4jEmbeddingstore(String componentName, String path) {
+ return
LangChain4jEmbeddingStoreEndpointBuilderFactory.endpointBuilder(componentName,
path);
+ }
+
+ }
+ /**
+ * The builder of headers' name for the LangChain4j Embedding Store
component.
+ */
+ public static class LangChain4jEmbeddingStoreHeaderNameBuilder {
+ /**
+ * The internal instance of the builder used to access to all the
+ * methods representing the name of headers.
+ */
+ private static final LangChain4jEmbeddingStoreHeaderNameBuilder
INSTANCE = new LangChain4jEmbeddingStoreHeaderNameBuilder();
+
+ /**
+ * The action to be performed.
+ *
+ * The option is a: {@code String} type.
+ *
+ * Group: producer
+ *
+ * @return the name of the header {@code
+ * Langchain4jEmbeddingStoreAction}.
+ */
+ public String langchain4jEmbeddingStoreAction() {
+ return "CamelLangchain4jEmbeddingStoreAction";
+ }
+ /**
+ * Maximum number of search results to return.
+ *
+ * The option is a: {@code Integer} type.
+ *
+ * Default: 5
+ * Group: producer
+ *
+ * @return the name of the header {@code
+ * Langchain4jEmbeddingStoreMaxResults}.
+ */
+ public String langchain4jEmbeddingStoreMaxResults() {
+ return "CamelLangchain4jEmbeddingStoreMaxResults";
+ }
+ /**
+ * Minimum similarity score for search results.
+ *
+ * The option is a: {@code Double} type.
+ *
+ * Group: producer
+ *
+ * @return the name of the header {@code
+ * Langchain4jEmbeddingStoreMinScore}.
+ */
+ public String langchain4jEmbeddingStoreMinScore() {
+ return "CamelLangchain4jEmbeddingStoreMinScore";
+ }
+ /**
+ * Search filter for metadata-based constraints.
+ *
+ * The option is a: {@code
+ * dev.langchain4j.store.embedding.filter.Filter} type.
+ *
+ * Group: producer
+ *
+ * @return the name of the header {@code
+ * Langchain4jEmbeddingStoreFilter}.
+ */
+ public String langchain4jEmbeddingStoreFilter() {
+ return "CamelLangchain4jEmbeddingStoreFilter";
+ }
+ }
+ static LangChain4jEmbeddingStoreEndpointBuilder endpointBuilder(String
componentName, String path) {
+ class LangChain4jEmbeddingStoreEndpointBuilderImpl extends
AbstractEndpointBuilder implements LangChain4jEmbeddingStoreEndpointBuilder,
AdvancedLangChain4jEmbeddingStoreEndpointBuilder {
+ public LangChain4jEmbeddingStoreEndpointBuilderImpl(String path) {
+ super(componentName, path);
+ }
+ }
+ return new LangChain4jEmbeddingStoreEndpointBuilderImpl(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 ba0980c64b56..81af3f6f309e 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
@@ -229,6 +229,7 @@ org.apache.camel.component.kudu.KuduComponent=camel:kudu
org.apache.camel.component.langchain4j.agent.LangChain4jAgentComponent=camel:langchain4j-agent
org.apache.camel.component.langchain4j.chat.LangChain4jChatComponent=camel:langchain4j-chat
org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsComponent=camel:langchain4j-embeddings
+org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreComponent=camel:langchain4j-embeddingstore
org.apache.camel.component.langchain4j.tools.LangChain4jToolsComponent=camel:langchain4j-tools
org.apache.camel.component.langchain4j.web.search.LangChain4jWebSearchComponent=camel:langchain4j-web-search
org.apache.camel.component.language.LanguageComponent=camel:language
diff --git
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
index ba49373edde4..80ce5641d906 100644
---
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
+++
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
@@ -41,7 +41,8 @@ public final class MojoHelper {
return Arrays.asList(dir.resolve("camel-chatscript"),
dir.resolve("camel-djl"),
dir.resolve("camel-langchain4j-agent"),
dir.resolve("camel-langchain4j-core"),
dir.resolve("camel-langchain4j-chat"),
- dir.resolve("camel-langchain4j-embeddings"),
dir.resolve("camel-langchain4j-tokenizer"),
+ dir.resolve("camel-langchain4j-embeddings"),
dir.resolve("camel-langchain4j-embeddingstore"),
+ dir.resolve("camel-langchain4j-tokenizer"),
dir.resolve("camel-langchain4j-tools"),
dir.resolve("camel-langchain4j-web-search"),
dir.resolve("camel-qdrant"),
dir.resolve("camel-milvus"), dir.resolve("camel-neo4j"),
dir.resolve("camel-pinecone"),
dir.resolve("camel-kserve"),