JiriOndrusek opened a new pull request, #27289: URL: https://github.com/apache/camel/pull/27289
# Description Adds `modality=text|media` to camel-langchain4j-ingest. In media mode the body is embedded whole, as one vector, through LangChain4j's multimodal `EmbeddingRequest`: audio, image, video or PDF, chosen by the MIME type from the new `contentType` option or the file extension (camel-util's MIME table). The vector is stored with a placeholder segment carrying the usual identity metadata. The endpoint refuses to start with a text-only model, a listener-wrapped model, or a fixed `contentType` the model does not declare. A per-document medium the model lacks fails before the body is read. Size options count bytes; splitter options do not apply. One `media` value instead of one per medium: it lets one endpoint feed a mixed folder into one store through a CLIP-like model, which is today's realistic use, since images are embedded by several providers while audio by none. The LangChain4j API used is marked experimental; the surface is small and covered by tests. Follow-ups: media on `camel-langchain4j-embeddings` for the query side, and moving the MIME-to-content logic to camel-langchain4j-core at that point. JIRA: https://issues.apache.org/jira/browse/CAMEL-25027 # Target - [x] I checked that the commit is targeting the correct branch (Camel 4 uses the `main` branch) # Tracking - [x] If this is a large change, bug fix, or code improvement, I checked there is a [JIRA issue](https://issues.apache.org/jira/browse/CAMEL) filed for the change (usually before you start working on it). # Apache Camel coding standards and style - [x] I checked that each commit in the pull request has a meaningful subject line and body. - [x] I have run `mvn clean install -DskipTests` locally from root folder and I have committed all auto-generated changes. # AI-assisted contributions - [x] If this PR includes AI-generated code, commits have proper co-authorship attribution (e.g., `Co-authored-by` trailers) and the PR description identifies the AI tool used. Claude Code on behalf of @JiriOndrusek -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
