From 252ea50717806b4d86a8365dfff8cd14edc899d5 Mon Sep 17 00:00:00 2001
From: Amith Koujalgi <koujalgi.amith@gmail.com>
Date: Tue, 25 Mar 2025 20:40:58 +0530
Subject: [PATCH 1/3] Update OllamaAPIIntegrationTest.java

---
 .../OllamaAPIIntegrationTest.java             | 21 ++++++++++---------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/src/test/java/io/github/ollama4j/integrationtests/OllamaAPIIntegrationTest.java b/src/test/java/io/github/ollama4j/integrationtests/OllamaAPIIntegrationTest.java
index 703222c..e1b22bf 100644
--- a/src/test/java/io/github/ollama4j/integrationtests/OllamaAPIIntegrationTest.java
+++ b/src/test/java/io/github/ollama4j/integrationtests/OllamaAPIIntegrationTest.java
@@ -58,6 +58,7 @@ public class OllamaAPIIntegrationTest {
             boolean useExternalOllamaHost = Boolean.parseBoolean(System.getenv("USE_EXTERNAL_OLLAMA_HOST"));
             String ollamaHost = System.getenv("OLLAMA_HOST");
             if (useExternalOllamaHost) {
+                LOG.info("Using external Ollama host...");
                 api = new OllamaAPI(ollamaHost);
             } else {
                 throw new RuntimeException(
@@ -73,6 +74,7 @@ public class OllamaAPIIntegrationTest {
             portBindings.add(mappedPort + ":" + internalPort);
             ollama.setPortBindings(portBindings);
             ollama.start();
+            LOG.info("Using Testcontainer Ollama host...");
             api = new OllamaAPI("http://" + ollama.getHost() + ":" + ollama.getMappedPort(internalPort));
         }
         api.setRequestTimeoutSeconds(120);
@@ -152,12 +154,12 @@ public class OllamaAPIIntegrationTest {
     @Order(6)
     void testAskModelWithStructuredOutput()
             throws OllamaBaseException, IOException, InterruptedException, URISyntaxException {
-        api.pullModel(CHAT_MODEL_QWEN_SMALL);
+        api.pullModel(CHAT_MODEL_LLAMA3);
 
         int timeHour = 6;
         boolean isNightTime = false;
 
-        String prompt = "The Sun is shining, and its " + timeHour + " in the morning right now. So, its daytime.";
+        String prompt = "The Sun is shining, and its " + timeHour + ". Its daytime.";
 
         Map<String, Object> format = new HashMap<>();
         format.put("type", "object");
@@ -177,22 +179,21 @@ public class OllamaAPIIntegrationTest {
         });
         format.put("required", Arrays.asList("timeHour", "isNightTime"));
 
-        OllamaResult result = api.generate(CHAT_MODEL_QWEN_SMALL, prompt, format);
+        OllamaResult result = api.generate(CHAT_MODEL_LLAMA3, prompt, format);
 
         assertNotNull(result);
         assertNotNull(result.getResponse());
         assertFalse(result.getResponse().isEmpty());
 
-        assertEquals(result.getStructuredResponse().get("timeHour").toString(),
-                result.getStructuredResponse().get("timeHour").toString());
-        assertEquals(result.getStructuredResponse().get("isNightTime").toString(),
-                result.getStructuredResponse().get("isNightTime").toString());
+        assertEquals(timeHour,
+                result.getStructuredResponse().get("timeHour"));
+        assertEquals(isNightTime,
+                result.getStructuredResponse().get("isNightTime"));
 
-        System.out.println(result.getResponse());
         TimeOfDay timeOfDay = result.as(TimeOfDay.class);
 
-        assertEquals(timeOfDay.getTimeHour(), timeHour);
-        assertEquals(timeOfDay.isNightTime(), isNightTime);
+        assertEquals(timeHour, timeOfDay.getTimeHour());
+        assertEquals(isNightTime, timeOfDay.isNightTime());
     }
 
     @Test

From 0248f21654e9dd713bd134923a16c327cc478ed3 Mon Sep 17 00:00:00 2001
From: amithkoujalgi <koujalgi.amith@gmail.com>
Date: Tue, 25 Mar 2025 21:34:13 +0530
Subject: [PATCH 2/3] Used smaller-sized images for the test cases

---
 .../OllamaAPIIntegrationTest.java                |  10 +++++-----
 src/test/resources/emoji-smile.jpeg              | Bin 0 -> 5179 bytes
 2 files changed, 5 insertions(+), 5 deletions(-)
 create mode 100644 src/test/resources/emoji-smile.jpeg

diff --git a/src/test/java/io/github/ollama4j/integrationtests/OllamaAPIIntegrationTest.java b/src/test/java/io/github/ollama4j/integrationtests/OllamaAPIIntegrationTest.java
index e1b22bf..6e03fde 100644
--- a/src/test/java/io/github/ollama4j/integrationtests/OllamaAPIIntegrationTest.java
+++ b/src/test/java/io/github/ollama4j/integrationtests/OllamaAPIIntegrationTest.java
@@ -341,7 +341,7 @@ public class OllamaAPIIntegrationTest {
         OllamaChatRequestBuilder builder = OllamaChatRequestBuilder.getInstance(IMAGE_MODEL_LLAVA);
         OllamaChatRequest requestModel = builder.withMessage(OllamaChatMessageRole.USER,
                         "What's in the picture?",
-                        Collections.emptyList(), List.of(getImageFileFromClasspath("dog-on-a-boat.jpg")))
+                        Collections.emptyList(), List.of(getImageFileFromClasspath("emoji-smile.jpeg")))
                 .build();
 
         OllamaChatResult chatResult = api.chat(requestModel);
@@ -609,12 +609,12 @@ public class OllamaAPIIntegrationTest {
 
     @Test
     @Order(17)
-    void testAskModelWithOptionsAndImageURLs()
+    void    testAskModelWithOptionsAndImageURLs()
             throws OllamaBaseException, IOException, URISyntaxException, InterruptedException {
         api.pullModel(IMAGE_MODEL_LLAVA);
 
         OllamaResult result = api.generateWithImageURLs(IMAGE_MODEL_LLAVA, "What is in this image?",
-                List.of("https://t3.ftcdn.net/jpg/02/96/63/80/360_F_296638053_0gUVA4WVBKceGsIr7LNqRWSnkusi07dq.jpg"),
+                List.of("https://upload.wikimedia.org/wikipedia/commons/thumb/a/aa/Noto_Emoji_v2.034_1f642.svg/360px-Noto_Emoji_v2.034_1f642.svg.png"),
                 new OptionsBuilder().build());
         assertNotNull(result);
         assertNotNull(result.getResponse());
@@ -626,7 +626,7 @@ public class OllamaAPIIntegrationTest {
     void testAskModelWithOptionsAndImageFiles()
             throws OllamaBaseException, IOException, URISyntaxException, InterruptedException {
         api.pullModel(IMAGE_MODEL_LLAVA);
-        File imageFile = getImageFileFromClasspath("dog-on-a-boat.jpg");
+        File imageFile = getImageFileFromClasspath("emoji-smile.jpeg");
         try {
             OllamaResult result = api.generateWithImageFiles(IMAGE_MODEL_LLAVA, "What is in this image?",
                     List.of(imageFile),
@@ -645,7 +645,7 @@ public class OllamaAPIIntegrationTest {
             throws OllamaBaseException, IOException, URISyntaxException, InterruptedException {
         api.pullModel(IMAGE_MODEL_LLAVA);
 
-        File imageFile = getImageFileFromClasspath("dog-on-a-boat.jpg");
+        File imageFile = getImageFileFromClasspath("emoji-smile.jpeg");
 
         StringBuffer sb = new StringBuffer();
 
diff --git a/src/test/resources/emoji-smile.jpeg b/src/test/resources/emoji-smile.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..e333b099d18d43a380930f29dcba1eb38e25b869
GIT binary patch
literal 5179
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
a^t$E^3PCJGbqavv?tcjWe*y3L=>Gr%=FpJ<

literal 0
HcmV?d00001


From 70b4a7961aab2ee1c01a37499bd1a85269c01bfc Mon Sep 17 00:00:00 2001
From: amithkoujalgi <koujalgi.amith@gmail.com>
Date: Tue, 25 Mar 2025 21:56:45 +0530
Subject: [PATCH 3/3] Used smaller-sized images for the test cases

---
 .../ollama4j/integrationtests/OllamaAPIIntegrationTest.java     | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/test/java/io/github/ollama4j/integrationtests/OllamaAPIIntegrationTest.java b/src/test/java/io/github/ollama4j/integrationtests/OllamaAPIIntegrationTest.java
index 6e03fde..c73383b 100644
--- a/src/test/java/io/github/ollama4j/integrationtests/OllamaAPIIntegrationTest.java
+++ b/src/test/java/io/github/ollama4j/integrationtests/OllamaAPIIntegrationTest.java
@@ -350,7 +350,7 @@ public class OllamaAPIIntegrationTest {
         builder.reset();
 
         requestModel = builder.withMessages(chatResult.getChatHistory())
-                .withMessage(OllamaChatMessageRole.USER, "What's the dogs breed?").build();
+                .withMessage(OllamaChatMessageRole.USER, "What's the color?").build();
 
         chatResult = api.chat(requestModel);
         assertNotNull(chatResult);