docs(dotAI): document Bedrock model ID forms, credentials, and error mapping#36025
docs(dotAI): document Bedrock model ID forms, credentials, and error mapping#36025sfreudenthaler wants to merge 1 commit into
Conversation
…mapping (#35242) Add class-level javadoc to BedrockModelProviderStrategy covering config fields, the both-or-neither credential model with DefaultCredentialsProvider/IRSA fallback, inference-profile-prefixed vs bare on-demand model ID forms, common Bedrock error meanings (on-demand-throughput -> use profile prefix; stopSequences -> langchain4j-bedrock < 1.16.0 limitation with the gpt-oss family; AccessDeniedException -> model access not enabled), supported embedding families, and unsupported image generation. Extend the ProviderConfig AWS Bedrock javadoc block to note that timeout and maxRetries now apply to the Bedrock runtime clients, plus the model-ID-form note. No existing dotAI provider docs markdown tree exists on this branch, so javadoc is the documentation surface. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
❌ Issue Linking RequiredThis PR could not be linked to an issue. All PRs must be linked to an issue for tracking purposes. How to fix this:Option 1: Add keyword to PR body (Recommended - auto-removes this comment)
Why is this required?Issue linking ensures proper tracking, documentation, and helps maintain project history. It connects your code changes to the problem they solve.--- This comment was automatically generated by the issue linking workflow |
|
Claude finished @sfreudenthaler's task in 50s —— View job Rollback Safety Analysis
Result: ✅ Safe To RollbackThis PR contains documentation-only changes — javadoc additions to two Java files:
No database migrations, Elasticsearch mapping changes, data model changes, API contract changes, schema alterations, or any other structural modifications were made. The changes do not touch any category in the rollback-unsafe reference (C-1 through M-4). Label |
Proposed Changes
BedrockModelProviderStrategy+ extendedProviderConfigBedrock block. Every claim verified by live invocations against real Bedrock models (R&D account, today):us.deepseek.r1-v1:0— bare ID rejected) vs bare on-demand (openai.gpt-oss-120b-1:0,amazon.titan-embed-text-v2:0— no profile exists; prefix would fail)on-demand throughput isn't supported→ use profile prefix ·This model doesn't support the stopSequences field→ langchain4j-bedrock < 1.16.0 limitation (see below) ·AccessDeniedException→ model access not enabledThe pinned langchain4j BOM 1.0.0 resolves
langchain4j-bedrock:1.0.0-beta5, which unconditionally sendsstopSequencesin the Converse request. Live-verified: the gpt-oss family fails withValidationExceptionon every chat AND streaming call, regardless of request params — while DeepSeek R1 works (and beta5 already filters its reasoning blocks correctly; no reasoning leak in either mode). Re-tested onlangchain4j-bedrock:1.16.0: gpt-oss works cleanly in both modes. If gpt-oss support matters, the BOM needs a bump — left out of this stack since it affects all providers.Checklist
🤖 Generated with Claude Code