diff --git a/src/main/java/ai/dify/javaclient/ChatClient.java b/src/main/java/ai/dify/javaclient/ChatClient.java index 9eae123..23c2977 100644 --- a/src/main/java/ai/dify/javaclient/ChatClient.java +++ b/src/main/java/ai/dify/javaclient/ChatClient.java @@ -60,8 +60,9 @@ private String generateQueryParams(Map params) { */ public Response createChatMessage(String inputs, String query, String user, boolean stream, String conversation_id) throws DifyClientException { JSONObject json = new JSONObject(); - json.put("inputs", inputs); - json.put("query", query); + JSONObject inputsJson = new JSONObject(); + inputsJson.put("query", query); + json.put("inputs", inputsJson); json.put("user", user); json.put("response_mode", stream ? "streaming" : "blocking"); if (conversation_id != null && !conversation_id.isEmpty()) { diff --git a/src/main/java/ai/dify/javaclient/CompletionClient.java b/src/main/java/ai/dify/javaclient/CompletionClient.java index e4860dc..d328ded 100644 --- a/src/main/java/ai/dify/javaclient/CompletionClient.java +++ b/src/main/java/ai/dify/javaclient/CompletionClient.java @@ -38,8 +38,9 @@ public CompletionClient(String apiKey, String baseUrl) { */ public Response createCompletionMessage(String inputs, String query, String user, boolean stream) throws DifyClientException { JSONObject json = new JSONObject(); - json.put("inputs", inputs); - json.put("query", query); + JSONObject inputsJson = new JSONObject(); + inputsJson.put("query", query); + json.put("inputs", inputsJson); json.put("user", user); json.put("response_mode", stream ? "streaming" : "blocking"); diff --git a/src/main/java/ai/dify/javaclient/DifyClient.java b/src/main/java/ai/dify/javaclient/DifyClient.java index 85ae972..4812b93 100644 --- a/src/main/java/ai/dify/javaclient/DifyClient.java +++ b/src/main/java/ai/dify/javaclient/DifyClient.java @@ -6,6 +6,8 @@ import okhttp3.*; import java.io.IOException; +import java.util.concurrent.TimeUnit; + /** * This class serves as a client for interacting with the Dify API. * It provides methods for sending various types of requests to the API. @@ -38,13 +40,29 @@ public DifyClient(String apiKey) { /** * Constructs a new DifyClient with the provided API key and base URL. * - * @param apiKey The API key to use for authentication. - * @param baseUrl The base URL of the Dify API. + * @param apiKey The API key to use for authentication. + * @param baseUrl The base URL of the Dify API. */ public DifyClient(String apiKey, String baseUrl) { + this(apiKey, baseUrl, 1L, TimeUnit.HOURS); + } + + /** + * Constructs a new DifyClient with the provided API key and base URL. + * + * @param apiKey The API key to use for authentication. + * @param baseUrl The base URL of the Dify API. + * @param timeout The timeout number + * @param timeOutUnit The timeout unit + */ + public DifyClient(String apiKey, String baseUrl, Long timeout, TimeUnit timeOutUnit) { this.apiKey = apiKey; this.baseUrl = baseUrl; - this.client = new OkHttpClient(); + OkHttpClient.Builder builder = new OkHttpClient.Builder(); + this.client = builder.connectTimeout(timeout, timeOutUnit) + .readTimeout(timeout, timeOutUnit) + .writeTimeout(timeout, timeOutUnit) + .build(); } /**