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

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 753697298fc CAMEL-22334 - Store the embedding produced by 
camel-langchain4j-embeddings in a header (#18995)
753697298fc is described below

commit 753697298fc2d78560355e698c1c1c7ae36e16e2
Author: Tom Cunningham <[email protected]>
AuthorDate: Wed Aug 27 01:04:08 2025 -0400

    CAMEL-22334 - Store the embedding produced by camel-langchain4j-embeddings 
in a header (#18995)
---
 .../camel/catalog/components/langchain4j-embeddings.json   |  5 +++--
 .../langchain4j/embeddings/langchain4j-embeddings.json     |  5 +++--
 .../langchain4j/embeddings/LangChain4jEmbeddings.java      |  3 +++
 .../embeddings/LangChain4jEmbeddingsProducer.java          |  1 +
 .../org/apache/camel/ai/CamelLangchain4jAttributes.java    |  1 +
 .../dsl/LangChain4jEmbeddingsEndpointBuilderFactory.java   | 14 ++++++++++++++
 6 files changed, 25 insertions(+), 4 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/langchain4j-embeddings.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/langchain4j-embeddings.json
index 7dbe211be2f..b145cb5903a 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/langchain4j-embeddings.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/langchain4j-embeddings.json
@@ -34,8 +34,9 @@
     "CamelLangChain4jEmbeddingsInputTokenCount": { "index": 1, "kind": 
"header", "displayName": "", "group": "producer", "label": "", "required": 
false, "javaType": "int", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The Input Token Count.", 
"constantName": 
"org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddings$Headers#INPUT_TOKEN_COUNT"
 },
     "CamelLangChain4jEmbeddingsOutputTokenCount": { "index": 2, "kind": 
"header", "displayName": "", "group": "producer", "label": "", "required": 
false, "javaType": "int", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The Output Token Count.", 
"constantName": 
"org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddings$Headers#OUTPUT_TOKEN_COUNT"
 },
     "CamelLangChain4jEmbeddingsTotalTokenCount": { "index": 3, "kind": 
"header", "displayName": "", "group": "producer", "label": "", "required": 
false, "javaType": "int", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The Total Token Count.", 
"constantName": 
"org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddings$Headers#TOTAL_TOKEN_COUNT"
 },
-    "CamelLangChain4jEmbeddingsVector": { "index": 4, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "float[]", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "A dense vector embedding of a text", 
"constantName": 
"org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddings$Headers#VECTOR"
 },
-    "CamelLangChain4jEmbeddingsTextSegment": { "index": 5, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": " dev.langchain4j.data.segment.TextSegment", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "A 
TextSegment representation of the vector embedding input text", "constantName": 
"org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddings$Headers#TEXT_SEGMENT"
 }
+    "CamelLangChain4jEmbeddingsEmbedding": { "index": 4, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "dev.langchain4j.data.embedding.Embedding", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": 
"Embedding representation of a text", "constantName": 
"org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddings$Headers#EMBEDDING"
 },
+    "CamelLangChain4jEmbeddingsVector": { "index": 5, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "float[]", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "A dense vector embedding of a text", 
"constantName": 
"org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddings$Headers#VECTOR"
 },
+    "CamelLangChain4jEmbeddingsTextSegment": { "index": 6, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": " dev.langchain4j.data.segment.TextSegment", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "A 
TextSegment representation of the vector embedding input text", "constantName": 
"org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddings$Headers#TEXT_SEGMENT"
 }
   },
   "properties": {
     "embeddingId": { "index": 0, "kind": "path", "displayName": "Embedding 
Id", "group": "producer", "label": "", "required": true, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The id" },
diff --git 
a/components/camel-ai/camel-langchain4j-embeddings/src/generated/resources/META-INF/org/apache/camel/component/langchain4j/embeddings/langchain4j-embeddings.json
 
b/components/camel-ai/camel-langchain4j-embeddings/src/generated/resources/META-INF/org/apache/camel/component/langchain4j/embeddings/langchain4j-embeddings.json
index 7dbe211be2f..b145cb5903a 100644
--- 
a/components/camel-ai/camel-langchain4j-embeddings/src/generated/resources/META-INF/org/apache/camel/component/langchain4j/embeddings/langchain4j-embeddings.json
+++ 
b/components/camel-ai/camel-langchain4j-embeddings/src/generated/resources/META-INF/org/apache/camel/component/langchain4j/embeddings/langchain4j-embeddings.json
@@ -34,8 +34,9 @@
     "CamelLangChain4jEmbeddingsInputTokenCount": { "index": 1, "kind": 
"header", "displayName": "", "group": "producer", "label": "", "required": 
false, "javaType": "int", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The Input Token Count.", 
"constantName": 
"org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddings$Headers#INPUT_TOKEN_COUNT"
 },
     "CamelLangChain4jEmbeddingsOutputTokenCount": { "index": 2, "kind": 
"header", "displayName": "", "group": "producer", "label": "", "required": 
false, "javaType": "int", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The Output Token Count.", 
"constantName": 
"org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddings$Headers#OUTPUT_TOKEN_COUNT"
 },
     "CamelLangChain4jEmbeddingsTotalTokenCount": { "index": 3, "kind": 
"header", "displayName": "", "group": "producer", "label": "", "required": 
false, "javaType": "int", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The Total Token Count.", 
"constantName": 
"org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddings$Headers#TOTAL_TOKEN_COUNT"
 },
-    "CamelLangChain4jEmbeddingsVector": { "index": 4, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "float[]", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "A dense vector embedding of a text", 
"constantName": 
"org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddings$Headers#VECTOR"
 },
-    "CamelLangChain4jEmbeddingsTextSegment": { "index": 5, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": " dev.langchain4j.data.segment.TextSegment", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "A 
TextSegment representation of the vector embedding input text", "constantName": 
"org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddings$Headers#TEXT_SEGMENT"
 }
+    "CamelLangChain4jEmbeddingsEmbedding": { "index": 4, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "dev.langchain4j.data.embedding.Embedding", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": 
"Embedding representation of a text", "constantName": 
"org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddings$Headers#EMBEDDING"
 },
+    "CamelLangChain4jEmbeddingsVector": { "index": 5, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "float[]", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "A dense vector embedding of a text", 
"constantName": 
"org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddings$Headers#VECTOR"
 },
+    "CamelLangChain4jEmbeddingsTextSegment": { "index": 6, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": " dev.langchain4j.data.segment.TextSegment", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "A 
TextSegment representation of the vector embedding input text", "constantName": 
"org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddings$Headers#TEXT_SEGMENT"
 }
   },
   "properties": {
     "embeddingId": { "index": 0, "kind": "path", "displayName": "Embedding 
Id", "group": "producer", "label": "", "required": true, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The id" },
diff --git 
a/components/camel-ai/camel-langchain4j-embeddings/src/main/java/org/apache/camel/component/langchain4j/embeddings/LangChain4jEmbeddings.java
 
b/components/camel-ai/camel-langchain4j-embeddings/src/main/java/org/apache/camel/component/langchain4j/embeddings/LangChain4jEmbeddings.java
index b2263a38a53..fae1db335fc 100644
--- 
a/components/camel-ai/camel-langchain4j-embeddings/src/main/java/org/apache/camel/component/langchain4j/embeddings/LangChain4jEmbeddings.java
+++ 
b/components/camel-ai/camel-langchain4j-embeddings/src/main/java/org/apache/camel/component/langchain4j/embeddings/LangChain4jEmbeddings.java
@@ -38,6 +38,9 @@ public final class LangChain4jEmbeddings {
         @Metadata(description = "The Total Token Count.", javaType = "int")
         public static final String TOTAL_TOKEN_COUNT = 
"CamelLangChain4jEmbeddingsTotalTokenCount";
 
+        @Metadata(description = "Embedding representation of a text", javaType 
= "dev.langchain4j.data.embedding.Embedding")
+        public static final String EMBEDDING = 
CamelLangchain4jAttributes.CAMEL_LANGCHAIN4J_EMBEDDING;
+
         @Metadata(description = "A dense vector embedding of a text", javaType 
= "float[]")
         public static final String VECTOR = 
CamelLangchain4jAttributes.CAMEL_LANGCHAIN4J_EMBEDDING_VECTOR;
 
diff --git 
a/components/camel-ai/camel-langchain4j-embeddings/src/main/java/org/apache/camel/component/langchain4j/embeddings/LangChain4jEmbeddingsProducer.java
 
b/components/camel-ai/camel-langchain4j-embeddings/src/main/java/org/apache/camel/component/langchain4j/embeddings/LangChain4jEmbeddingsProducer.java
index 2a96eb0759c..feca1e4666a 100644
--- 
a/components/camel-ai/camel-langchain4j-embeddings/src/main/java/org/apache/camel/component/langchain4j/embeddings/LangChain4jEmbeddingsProducer.java
+++ 
b/components/camel-ai/camel-langchain4j-embeddings/src/main/java/org/apache/camel/component/langchain4j/embeddings/LangChain4jEmbeddingsProducer.java
@@ -53,5 +53,6 @@ public class LangChain4jEmbeddingsProducer extends 
DefaultProducer {
 
         message.setHeader(LangChain4jEmbeddings.Headers.VECTOR, 
result.content().vector());
         message.setHeader(LangChain4jEmbeddings.Headers.TEXT_SEGMENT, in);
+        message.setHeader(LangChain4jEmbeddings.Headers.EMBEDDING, 
result.content());
     }
 }
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/ai/CamelLangchain4jAttributes.java
 
b/core/camel-api/src/main/java/org/apache/camel/ai/CamelLangchain4jAttributes.java
index 592c2dc4847..f3763dc3b73 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/ai/CamelLangchain4jAttributes.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/ai/CamelLangchain4jAttributes.java
@@ -20,6 +20,7 @@ package org.apache.camel.ai;
  * Common Langchain4j Attributes shared by multiple components
  */
 public interface CamelLangchain4jAttributes {
+    String CAMEL_LANGCHAIN4J_EMBEDDING = "CamelLangChain4jEmbeddingsEmbedding";
     String CAMEL_LANGCHAIN4J_EMBEDDING_VECTOR = 
"CamelLangChain4jEmbeddingsVector";
     String CAMEL_LANGCHAIN4J_TEXT_SEGMENT = 
"CamelLangChain4jEmbeddingsTextSegment";
 }
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/LangChain4jEmbeddingsEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/LangChain4jEmbeddingsEndpointBuilderFactory.java
index 2e8024bb03a..e394e7c31f0 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/LangChain4jEmbeddingsEndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/LangChain4jEmbeddingsEndpointBuilderFactory.java
@@ -255,6 +255,20 @@ public interface 
LangChain4jEmbeddingsEndpointBuilderFactory {
         public String langChain4jEmbeddingsTotalTokenCount() {
             return "CamelLangChain4jEmbeddingsTotalTokenCount";
         }
+        /**
+         * Embedding representation of a text.
+         * 
+         * The option is a: {@code dev.langchain4j.data.embedding.Embedding}
+         * type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code
+         * LangChain4jEmbeddingsEmbedding}.
+         */
+        public String langChain4jEmbeddingsEmbedding() {
+            return "CamelLangChain4jEmbeddingsEmbedding";
+        }
         /**
          * A dense vector embedding of a text.
          * 

Reply via email to