[
https://issues.apache.org/jira/browse/CAMEL-23463?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen updated CAMEL-23463:
--------------------------------
Component/s: camel-aws
> Camel-AWS-Bedrock: invokeTextModel throws "Unexpected model" for
> image/embedding/rerank/Stability/Nova-canvas models declared in BedrockModels
> ----------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-23463
> URL: https://issues.apache.org/jira/browse/CAMEL-23463
> Project: Camel
> Issue Type: Bug
> Components: camel-aws
> Reporter: Andrea Cosentino
> Assignee: Andrea Cosentino
> Priority: Major
> Fix For: 4.21.0
>
>
> {{BedrockProducer#setResponseText}} switches on {{modelId}} to extract text
> from invocation responses. The switch is missing several entries that are
> present in the {{BedrockModels}} enum and listed in
> {{BedrockConfiguration.modelId}}'s {{@UriParam(enums=...)}}. These models
> fall through to the {{default}} branch and throw
> {{IllegalStateException("Unexpected model: <modelId>")}}.
> *Affected models declared but not handled:*
> * {{cohere.embed-english-v3}}, {{cohere.embed-multilingual-v3}},
> {{cohere.rerank-v3-5:0}}
> * {{amazon.rerank-v1:0}}
> * {{amazon.titan-embed-text-v1}}, {{amazon.titan-embed-image-v1}}
> * {{amazon.nova-canvas-v1:0}}, {{amazon.nova-reel-v1:0}},
> {{amazon.nova-reel-v1:1}}, {{amazon.nova-sonic-v1:0}}
> * {{amazon.titan-image-generator-v1}}, {{amazon.titan-image-generator-v2:0}}
> * All {{stability.*}} models
> These are listed as valid model IDs in the endpoint configuration's
> {{@UriParam(enums=...)}}, so users will reasonably try them via
> {{invokeTextModel}} and get a confusing {{IllegalStateException}}.
> *Files:*
> *
> {{components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/BedrockProducer.java:265-375}}
> *
> {{components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/BedrockModels.java}}
> *Suggested fix:*
> * Either route image/embedding/rerank model IDs to the appropriate operation
> ({{invokeImageModel}} / {{invokeEmbeddingsModel}}) automatically, or document
> that those models cannot be used with {{invokeTextModel}} and validate at
> endpoint creation time.
> * Consider extracting the per-model response shaping into a
> {{ResponseParserFactory}} mirroring {{StreamParserFactory}} to avoid the
> brittle {{switch}} list.
> ----
> _Filed by Claude Code on behalf of Andrea Cosentino._
--
This message was sent by Atlassian Jira
(v8.20.10#820010)