class BedrockLlamaChatModel extends AbstractBedrockChatModel<BedrockLlamaChatModelResponse> {

    @Builder.Default
    private final String model = Types.MetaLlama2Chat70B.getValue();

    @Override
    protected String getModelId() {
        return model;
    }

    @Override
    protected Map<String, Object> getRequestParameters(String prompt) {<FILL_FUNCTION_BODY>}

    @Override
    public Class<BedrockLlamaChatModelResponse> getResponseClassType() {
        return BedrockLlamaChatModelResponse.class;
    }

    /**
     * Bedrock Llama model ids
     */
    @Getter
    public enum Types {
        MetaLlama2Chat13B("meta.llama2-13b-chat-v1"),
        MetaLlama2Chat70B("meta.llama2-70b-chat-v1");

        private final String value;

        Types(String modelID) {
            this.value = modelID;
        }

    }
}

        final Map<String, Object> parameters = new HashMap<>(7);

        parameters.put("prompt", prompt);
        parameters.put("max_gen_len", getMaxTokens());
        parameters.put("temperature", getTemperature());
        parameters.put("top_p", getTopP());

        return parameters;
    
<methods>public non-sealed void <init>() ,public Response<dev.langchain4j.data.message.AiMessage> generate(List<dev.langchain4j.data.message.ChatMessage>) <variables>private static final java.lang.String ASSISTANT_PROMPT,private static final java.lang.String HUMAN_PROMPT,private final java.lang.String assistantPrompt,private final BedrockRuntimeClient client,private final AwsCredentialsProvider credentialsProvider,private final java.lang.String humanPrompt,private final java.lang.Integer maxRetries,private final int maxTokens,private final Region region,private final java.lang.String[] stopSequences,private final float temperature,private final float topP