public static Builder builder() {
        return new Builder();
    }
@Test
    void testJsonDeserializeAndBuilder() throws Exception {
        String json = "{"
            + "\"service_id\":\"custom-service\","
            + "\"max_tokens\":512,"
            + "\"temperature\":0.8,"
            + "\"top_p\":0.5,"
            + "\"presence_penalty\":0.2,"
            + "\"frequency_penalty\":0.3,"
            + "\"best_of\":3,"
            + "\"results_per_prompt\":5,"
            + "\"model_id\":\"custom-model\","
            + "\"user\":\"custom-user\""
            + "}";
        PromptExecutionSettings settingsFromJson = new ObjectMapper().readValue(json,
            PromptExecutionSettings.class);

        PromptExecutionSettings settingsFromBuilder = PromptExecutionSettings.builder()
            .withServiceId("custom-service")
            .withMaxTokens(512)
            .withTemperature(0.8)
            .withTopP(0.5)
            .withPresencePenalty(0.2)
            .withFrequencyPenalty(0.3)
            .withBestOf(3)
            .withResultsPerPrompt(5)
            .withModelId("custom-model")
            .withUser("custom-user")
            .build();

        assertEquals(settingsFromBuilder, settingsFromJson);
    }