From 5e50d420493747eb13a0f0320cb7f42989a9f6fb Mon Sep 17 00:00:00 2001 From: wanglei <1105865632@qq.com> Date: Sun, 17 Nov 2024 19:34:43 +0800 Subject: [PATCH] fix: inputs json format fix: set timeout --- .../java/ai/dify/javaclient/ChatClient.java | 5 ++-- .../ai/dify/javaclient/CompletionClient.java | 5 ++-- .../java/ai/dify/javaclient/DifyClient.java | 24 ++++++++++++++++--- 3 files changed, 27 insertions(+), 7 deletions(-) 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(); } /**