public WatsonxAiRequest request(Prompt prompt) {

		WatsonxAiChatOptions options = WatsonxAiChatOptions.builder().build();

		if (this.defaultOptions != null) {
			options = ModelOptionsUtils.merge(options, this.defaultOptions, WatsonxAiChatOptions.class);
		}

		if (prompt.getOptions() != null) {
			if (prompt.getOptions() instanceof WatsonxAiChatOptions runtimeOptions) {
				options = ModelOptionsUtils.merge(runtimeOptions, options, WatsonxAiChatOptions.class);
			}
			else {
				var updatedRuntimeOptions = ModelOptionsUtils.copyToTarget(prompt.getOptions(), ChatOptions.class,
						WatsonxAiChatOptions.class);

				options = ModelOptionsUtils.merge(updatedRuntimeOptions, options, WatsonxAiChatOptions.class);
			}
		}

		Map<String, Object> parameters = options.toMap();

		final String convertedPrompt = MessageToPromptConverter.create()
			.withAssistantPrompt("")
			.withHumanPrompt("")
			.toPrompt(prompt.getInstructions());

		return WatsonxAiRequest.builder(convertedPrompt).withParameters(parameters).build();
	}
@Test
	public void testCreateRequestWithNoModelId() {
		var options = ChatOptionsBuilder.builder().withTemperature(0.9f).withTopK(100).withTopP(0.6f).build();

		Prompt prompt = new Prompt("Test message", options);

		Exception exception = Assert.assertThrows(IllegalArgumentException.class, () -> {
			WatsonxAiRequest request = chatModel.request(prompt);
		});
	}