AWS Bedrock integration for LangChain4j enabling Java applications to interact with various LLM providers through a unified interface
Request parameters for controlling model behavior and response metadata for accessing results.
Bedrock-specific request parameters.
public class BedrockChatRequestParameters extends DefaultChatRequestParameters {
public static final BedrockChatRequestParameters EMPTY;
// Bedrock-specific accessors
public Map<String, Object> additionalModelRequestFields();
public BedrockCachePointPlacement cachePointPlacement();
public BedrockGuardrailConfiguration bedrockGuardrailConfiguration();
// Composition
public BedrockChatRequestParameters overrideWith(ChatRequestParameters that);
public BedrockChatRequestParameters defaultedBy(ChatRequestParameters that);
// Builder
public static Builder builder();
}public static class Builder extends DefaultChatRequestParameters.Builder<Builder> {
// Standard parameters (inherited)
public Builder temperature(Double temperature);
public Builder topP(Double topP);
public Builder topK(Integer topK);
public Builder maxOutputTokens(Integer maxOutputTokens);
public Builder stopSequences(List<String> stopSequences);
public Builder frequencyPenalty(Double frequencyPenalty);
public Builder presencePenalty(Double presencePenalty);
// Bedrock-specific
public Builder overrideWith(ChatRequestParameters parameters);
public Builder additionalModelRequestFields(Map<String, Object> fields);
public Builder additionalModelRequestField(String key, Object value);
public Builder enableReasoning(Integer tokenBudget);
public Builder promptCaching(BedrockCachePointPlacement placement);
public Builder guardrailConfiguration(BedrockGuardrailConfiguration config);
public BedrockChatRequestParameters build();
}Response metadata including guardrail assessments.
public class BedrockChatResponseMetadata extends ChatResponseMetadata {
// Bedrock-specific
public GuardrailAssessmentSummary guardrailAssessmentSummary();
// Inherited
public String id();
public FinishReason finishReason();
public TokenUsage tokenUsage();
public String modelName();
// Builder
public Builder toBuilder();
public static Builder builder();
}public static class Builder extends ChatResponseMetadata.Builder<Builder> {
// Inherited
public Builder id(String id);
public Builder finishReason(FinishReason finishReason);
public Builder tokenUsage(TokenUsage tokenUsage);
public Builder modelName(String modelName);
// Bedrock-specific
public Builder guardrailAssessmentSummary(GuardrailAssessmentSummary summary);
public BedrockChatResponseMetadata build();
}Token usage with cache metrics.
public class BedrockTokenUsage extends TokenUsage {
public BedrockTokenUsage(Builder builder);
// Inherited
public Integer inputTokenCount();
public Integer outputTokenCount();
public Integer totalTokenCount();
// Bedrock-specific cache metrics
public Integer cacheWriteInputTokens();
public Integer cacheReadInputTokens();
// Operations
public BedrockTokenUsage add(TokenUsage that);
// Builder
public static Builder builder();
}public static class Builder {
public Builder inputTokenCount(Integer inputTokenCount);
public Builder outputTokenCount(Integer outputTokenCount);
public Builder cacheWriteInputTokens(Integer cacheWriteInputTokens);
public Builder cacheReadInputTokens(Integer cacheReadInputTokens);
public BedrockTokenUsage build();
}| Parameter | Type | Range | Description |
|---|---|---|---|
| temperature | Double | 0.0-1.0 | Controls randomness (higher = more creative) |
| topP | Double | 0.0-1.0 | Nucleus sampling threshold |
| topK | Integer | > 0 | Limits sampling to top K tokens |
| maxOutputTokens | Integer | Model-dependent | Maximum response length |
| stopSequences | List<String> | - | Sequences that stop generation |
| frequencyPenalty | Double | -2.0-2.0 | Reduces repetition by frequency |
| presencePenalty | Double | -2.0-2.0 | Reduces repetition by presence |
| Parameter | Type | Description |
|---|---|---|
| promptCaching | BedrockCachePointPlacement | Cache point placement strategy |
| guardrailConfiguration | BedrockGuardrailConfiguration | Guardrail for content filtering |
| additionalModelRequestFields | Map<String, Object> | Model-specific custom fields |
| enableReasoning | Integer | Token budget for extended reasoning |
| Field | Type | Description |
|---|---|---|
| id | String | Unique response identifier |
| finishReason | FinishReason | Why generation stopped |
| tokenUsage | BedrockTokenUsage | Token counts and cache metrics |
| modelName | String | Model identifier used |
| guardrailAssessmentSummary | GuardrailAssessmentSummary | Guardrail violation details |
| Field | Type | Description |
|---|---|---|
| inputTokenCount | Integer | Regular input tokens |
| outputTokenCount | Integer | Generated tokens |
| totalTokenCount | Integer | Sum of input and output |
| cacheReadInputTokens | Integer | Tokens read from cache (90% cost savings) |
| cacheWriteInputTokens | Integer | Tokens written to cache |
Related: