[
https://issues.apache.org/jira/browse/CAMEL-26512?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen reassigned CAMEL-26512:
-----------------------------------
Assignee: Claus Ibsen
> camel-spring-ai-embeddings - a Map or POJO body is embedded as its toString()
> instead of failing
> ------------------------------------------------------------------------------------------------
>
> Key: CAMEL-26512
> URL: https://issues.apache.org/jira/browse/CAMEL-26512
> Project: Camel
> Issue Type: Bug
> Components: camel-spring-ai
> Reporter: Claus Ibsen
> Assignee: Claus Ibsen
> Priority: Minor
> Fix For: 4.24.0
>
>
> camel-spring-ai-embeddings embeds a Map or POJO body (and a Map or POJO
> element of a List batch body, after CAMEL-26208) as its {{toString()}}, e.g.
> {{\{a=1, b=2\}}}. The vector is then computed from text nobody meant to
> embed, and the result goes silently into a vector store.
> The langchain4j components (camel-langchain4j-ingest,
> camel-langchain4j-embeddings and camel-langchain4j-embeddingstore,
> CAMEL-26206 / CAMEL-26205 / CAMEL-26204) now accept only text carriers (text,
> bytes, stream, reader, file, and the langchain4j TextSegment/Document) and
> fail any other body with an {{InvalidPayloadException}} that hints to convert
> the body to text first ({{convertBodyTo(String)}} or marshal to JSON).
> Apply the same rule to camel-spring-ai-embeddings, for a single body and for
> each element of a List batch: a body that is not text (or a Spring AI
> Document) fails instead of being embedded as its toString(). Update the
> @BodyTypes and add an upgrade-guide entry, since a Map/POJO body that was
> embedded before now fails.
> _Claude Code on behalf of Claus Ibsen (davsclaus)_
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)