From 7481c2ba0e64f007bec43803a8dac666b66aba25 Mon Sep 17 00:00:00 2001 From: Michael Wechner Date: Wed, 27 Dec 2023 08:42:45 +0100 Subject: [PATCH] method introduced to get request builder default settings --- .../ollama4j/core/OllamaAPI.java | 36 ++++++++++--------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/src/main/java/io/github/amithkoujalgi/ollama4j/core/OllamaAPI.java b/src/main/java/io/github/amithkoujalgi/ollama4j/core/OllamaAPI.java index ff01aa8..1bf4b9c 100644 --- a/src/main/java/io/github/amithkoujalgi/ollama4j/core/OllamaAPI.java +++ b/src/main/java/io/github/amithkoujalgi/ollama4j/core/OllamaAPI.java @@ -316,17 +316,13 @@ public class OllamaAPI { */ public List generateEmbeddings(String model, String prompt) throws IOException, InterruptedException, OllamaBaseException { - String url = this.host + "/api/embeddings"; + URI uri = URI.create(this.host + "/api/embeddings"); String jsonData = new ModelEmbeddingsRequest(model, prompt).toString(); HttpClient httpClient = HttpClient.newHttpClient(); - HttpRequest request = - HttpRequest.newBuilder() - .uri(URI.create(url)) + HttpRequest.Builder requestBuilder = getRequestBuilderDefault(uri) .header("Accept", "application/json") - .header("Content-type", "application/json") - .timeout(Duration.ofSeconds(requestTimeoutSeconds)) - .POST(HttpRequest.BodyPublishers.ofString(jsonData)) - .build(); + .POST(HttpRequest.BodyPublishers.ofString(jsonData)); + HttpRequest request = requestBuilder.build(); HttpResponse response = httpClient.send(request, HttpResponse.BodyHandlers.ofString()); int statusCode = response.statusCode(); String responseBody = response.body(); @@ -436,16 +432,10 @@ public class OllamaAPI { long startTime = System.currentTimeMillis(); HttpClient httpClient = HttpClient.newHttpClient(); URI uri = URI.create(this.host + "/api/generate"); - HttpRequest.Builder requestBuilder = - HttpRequest.newBuilder(uri) + HttpRequest.Builder requestBuilder = getRequestBuilderDefault(uri) .POST( HttpRequest.BodyPublishers.ofString( - Utils.getObjectMapper().writeValueAsString(ollamaRequestModel))) - .header("Content-Type", "application/json") - .timeout(Duration.ofSeconds(requestTimeoutSeconds)); - if (basicAuthCredentialsSet()) { - requestBuilder.header("Authorization", getBasicAuthHeaderValue()); - } + Utils.getObjectMapper().writeValueAsString(ollamaRequestModel))); HttpRequest request = requestBuilder.build(); logger.debug("Ask model '" + ollamaRequestModel + "' ..."); HttpResponse response = @@ -485,6 +475,20 @@ public class OllamaAPI { } } + /** + * + */ + private HttpRequest.Builder getRequestBuilderDefault(URI uri) { + HttpRequest.Builder requestBuilder = + HttpRequest.newBuilder(uri) + .header("Content-Type", "application/json") + .timeout(Duration.ofSeconds(requestTimeoutSeconds)); + if (basicAuthCredentialsSet()) { + requestBuilder.header("Authorization", getBasicAuthHeaderValue()); + } + return requestBuilder; + } + /** * @return basic authentication header value (encoded credentials) */