mirror of
				https://github.com/amithkoujalgi/ollama4j.git
				synced 2025-11-04 02:20:50 +01:00 
			
		
		
		
	Compare commits
	
		
			17 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					1d6af26857 | ||
| 
						 | 
					14d18d731f | ||
| 
						 | 
					c8d7cbbc2c | ||
| 
						 | 
					ef4303fbbb | ||
| 
						 | 
					2df9a9c69b | ||
| 
						 | 
					6bb5d9f644 | ||
| 
						 | 
					94b221248a | ||
| 
						 | 
					2a887f5015 | ||
| 
						 | 
					7e3dddf1bb | ||
| 
						 | 
					fe95a7df2a | ||
| 
						 | 
					98f6a30c6b | ||
| 
						 | 
					00288053bf | ||
| 
						 | 
					6a7feb98bd | ||
| 
						 | 
					770d511067 | ||
| 
						 | 
					b57fc1f818 | ||
| 
						 | 
					01c5a8f07f | ||
| 
						 | 
					243b8a3747 | 
							
								
								
									
										4
									
								
								.github/workflows/maven-publish.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/maven-publish.yml
									
									
									
									
										vendored
									
									
								
							@@ -49,6 +49,10 @@ jobs:
 | 
				
			|||||||
            ${{ runner.os }}-maven-
 | 
					            ${{ runner.os }}-maven-
 | 
				
			||||||
      - name: Build
 | 
					      - name: Build
 | 
				
			||||||
        run: mvn -B -ntp clean install
 | 
					        run: mvn -B -ntp clean install
 | 
				
			||||||
 | 
					      - name: Upload coverage reports to Codecov
 | 
				
			||||||
 | 
					        uses: codecov/codecov-action@v3
 | 
				
			||||||
 | 
					        env:
 | 
				
			||||||
 | 
					          CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
 | 
				
			||||||
      - name: Publish to GitHub Packages Apache Maven
 | 
					      - name: Publish to GitHub Packages Apache Maven
 | 
				
			||||||
        #        if: >
 | 
					        #        if: >
 | 
				
			||||||
        #          github.event_name != 'pull_request' &&
 | 
					        #          github.event_name != 'pull_request' &&
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										58
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										58
									
								
								README.md
									
									
									
									
									
								
							@@ -2,8 +2,35 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<img src='https://raw.githubusercontent.com/amithkoujalgi/ollama4j/65a9d526150da8fcd98e2af6a164f055572bf722/ollama4j.jpeg' width='100' alt="ollama4j-icon">
 | 
					<img src='https://raw.githubusercontent.com/amithkoujalgi/ollama4j/65a9d526150da8fcd98e2af6a164f055572bf722/ollama4j.jpeg' width='100' alt="ollama4j-icon">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
A Java library (wrapper/binding)
 | 
					A Java library (wrapper/binding) for [Ollama](https://ollama.ai/) server.
 | 
				
			||||||
for [Ollama](https://github.com/jmorganca/ollama/blob/main/docs/api.md) APIs.
 | 
					
 | 
				
			||||||
 | 
					Find more details on the [website](https://amithkoujalgi.github.io/ollama4j/).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[](https://codecov.io/gh/amithkoujalgi/ollama4j)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Table of Contents
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [How does it work?](#how-does-it-work)
 | 
				
			||||||
 | 
					- [Requirements](#requirements)
 | 
				
			||||||
 | 
					- [Installation](#installation)
 | 
				
			||||||
 | 
					- [API Spec](#api-spec)
 | 
				
			||||||
 | 
					- [Demo APIs](#try-out-the-apis-with-ollama-server)
 | 
				
			||||||
 | 
					- [Development](#development)
 | 
				
			||||||
 | 
					- [Contributions](#get-involved)
 | 
				
			||||||
 | 
					- [References](#references)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### How does it work?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```mermaid
 | 
					```mermaid
 | 
				
			||||||
  flowchart LR
 | 
					  flowchart LR
 | 
				
			||||||
@@ -17,26 +44,6 @@ for [Ollama](https://github.com/jmorganca/ollama/blob/main/docs/api.md) APIs.
 | 
				
			|||||||
    end
 | 
					    end
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||

 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||

 | 
					 | 
				
			||||||

 | 
					 | 
				
			||||||

 | 
					 | 
				
			||||||

 | 
					 | 
				
			||||||

 | 
					 | 
				
			||||||

 | 
					 | 
				
			||||||

 | 
					 | 
				
			||||||

 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Table of Contents
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- [Requirements](#requirements)
 | 
					 | 
				
			||||||
- [Installation](#installation)
 | 
					 | 
				
			||||||
- [API Spec](#api-spec)
 | 
					 | 
				
			||||||
- [Demo APIs](#try-out-the-apis-with-ollama-server)
 | 
					 | 
				
			||||||
- [Development](#development)
 | 
					 | 
				
			||||||
- [Contributions](#get-involved)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#### Requirements
 | 
					#### Requirements
 | 
				
			||||||
 | 
					
 | 
				
			||||||

 | 
					
 | 
				
			||||||
@@ -76,7 +83,7 @@ Latest release:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#### API Spec
 | 
					#### API Spec
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Find the full `Javadoc` (API specifications) [here](https://amithkoujalgi.github.io/ollama4j/).
 | 
					Find the full API specifications on the [website](https://amithkoujalgi.github.io/ollama4j/).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#### Development
 | 
					#### Development
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -117,6 +124,7 @@ Actions CI workflow.
 | 
				
			|||||||
- [x] Use lombok
 | 
					- [x] Use lombok
 | 
				
			||||||
- [x] Update request body creation with Java objects
 | 
					- [x] Update request body creation with Java objects
 | 
				
			||||||
- [ ] Async APIs for images
 | 
					- [ ] Async APIs for images
 | 
				
			||||||
 | 
					- [ ] Add custom headers to requests
 | 
				
			||||||
- [ ] Add additional params for `ask` APIs such as:
 | 
					- [ ] Add additional params for `ask` APIs such as:
 | 
				
			||||||
    - `options`: additional model parameters for the Modelfile such as `temperature`
 | 
					    - `options`: additional model parameters for the Modelfile such as `temperature`
 | 
				
			||||||
    - `system`: system prompt to (overrides what is defined in the Modelfile)
 | 
					    - `system`: system prompt to (overrides what is defined in the Modelfile)
 | 
				
			||||||
@@ -138,3 +146,7 @@ of contribution is much appreciated.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
The nomenclature and the icon have been adopted from the incredible [Ollama](https://ollama.ai/)
 | 
					The nomenclature and the icon have been adopted from the incredible [Ollama](https://ollama.ai/)
 | 
				
			||||||
project.
 | 
					project.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### References
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [Ollama REST APIs](https://github.com/jmorganca/ollama/blob/main/docs/api.md)
 | 
				
			||||||
							
								
								
									
										507
									
								
								pom.xml
									
									
									
									
									
								
							
							
						
						
									
										507
									
								
								pom.xml
									
									
									
									
									
								
							@@ -4,20 +4,20 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    <groupId>io.github.amithkoujalgi</groupId>
 | 
					    <groupId>io.github.amithkoujalgi</groupId>
 | 
				
			||||||
    <artifactId>ollama4j</artifactId>
 | 
					    <artifactId>ollama4j</artifactId>
 | 
				
			||||||
    <version>1.0.32</version>
 | 
					    <version>1.0.37</version>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <name>Ollama4j</name>
 | 
					  <name>Ollama4j</name>
 | 
				
			||||||
    <description>Java library for interacting with Ollama API.</description>
 | 
					  <description>Java library for interacting with Ollama API.</description>
 | 
				
			||||||
    <url>https://github.com/amithkoujalgi/ollama4j</url>
 | 
					  <url>https://github.com/amithkoujalgi/ollama4j</url>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <properties>
 | 
					  <properties>
 | 
				
			||||||
        <maven.compiler.source>11</maven.compiler.source>
 | 
					    <maven.compiler.source>11</maven.compiler.source>
 | 
				
			||||||
        <maven.compiler.target>11</maven.compiler.target>
 | 
					    <maven.compiler.target>11</maven.compiler.target>
 | 
				
			||||||
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 | 
					    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 | 
				
			||||||
        <maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
 | 
					    <maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
 | 
				
			||||||
        <maven-failsafe-plugin.version>3.0.0-M5</maven-failsafe-plugin.version>
 | 
					    <maven-failsafe-plugin.version>3.0.0-M5</maven-failsafe-plugin.version>
 | 
				
			||||||
        <lombok.version>1.18.30</lombok.version>
 | 
					    <lombok.version>1.18.30</lombok.version>
 | 
				
			||||||
    </properties>
 | 
					  </properties>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <developers>
 | 
					    <developers>
 | 
				
			||||||
        <developer>
 | 
					        <developer>
 | 
				
			||||||
@@ -28,230 +28,273 @@
 | 
				
			|||||||
        </developer>
 | 
					        </developer>
 | 
				
			||||||
    </developers>
 | 
					    </developers>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <licenses>
 | 
					  <licenses>
 | 
				
			||||||
        <license>
 | 
					    <license>
 | 
				
			||||||
            <name>MIT License</name>
 | 
					      <name>MIT License</name>
 | 
				
			||||||
            <url>https://raw.githubusercontent.com/amithkoujalgi/ollama4j/main/LICENSE</url>
 | 
					      <url>https://raw.githubusercontent.com/amithkoujalgi/ollama4j/main/LICENSE</url>
 | 
				
			||||||
        </license>
 | 
					    </license>
 | 
				
			||||||
    </licenses>
 | 
					  </licenses>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <scm>
 | 
					  <scm>
 | 
				
			||||||
        <connection>scm:git:git@github.com:amithkoujalgi/ollama4j.git</connection>
 | 
					    <connection>scm:git:git@github.com:amithkoujalgi/ollama4j.git</connection>
 | 
				
			||||||
        <developerConnection>scm:git:https://github.com/amithkoujalgi/ollama4j.git</developerConnection>
 | 
					    <developerConnection>scm:git:https://github.com/amithkoujalgi/ollama4j.git</developerConnection>
 | 
				
			||||||
        <url>https://github.com/amithkoujalgi/ollama4j</url>
 | 
					    <url>https://github.com/amithkoujalgi/ollama4j</url>
 | 
				
			||||||
        <tag>v1.0.32</tag>
 | 
					    <tag>v1.0.37</tag>
 | 
				
			||||||
    </scm>
 | 
					  </scm>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <build>
 | 
					  <build>
 | 
				
			||||||
 | 
					    <plugins>
 | 
				
			||||||
 | 
					      <plugin>
 | 
				
			||||||
 | 
					        <groupId>org.apache.maven.plugins</groupId>
 | 
				
			||||||
 | 
					        <artifactId>maven-source-plugin</artifactId>
 | 
				
			||||||
 | 
					        <version>3.3.0</version>
 | 
				
			||||||
 | 
					        <executions>
 | 
				
			||||||
 | 
					          <execution>
 | 
				
			||||||
 | 
					            <id>attach-sources</id>
 | 
				
			||||||
 | 
					            <goals>
 | 
				
			||||||
 | 
					              <goal>jar-no-fork</goal>
 | 
				
			||||||
 | 
					            </goals>
 | 
				
			||||||
 | 
					          </execution>
 | 
				
			||||||
 | 
					        </executions>
 | 
				
			||||||
 | 
					      </plugin>
 | 
				
			||||||
 | 
					      <plugin>
 | 
				
			||||||
 | 
					        <groupId>org.apache.maven.plugins</groupId>
 | 
				
			||||||
 | 
					        <artifactId>maven-javadoc-plugin</artifactId>
 | 
				
			||||||
 | 
					        <version>3.5.0</version>
 | 
				
			||||||
 | 
					        <executions>
 | 
				
			||||||
 | 
					          <execution>
 | 
				
			||||||
 | 
					            <id>attach-javadocs</id>
 | 
				
			||||||
 | 
					            <goals>
 | 
				
			||||||
 | 
					              <goal>jar</goal>
 | 
				
			||||||
 | 
					            </goals>
 | 
				
			||||||
 | 
					          </execution>
 | 
				
			||||||
 | 
					        </executions>
 | 
				
			||||||
 | 
					      </plugin>
 | 
				
			||||||
 | 
					      <!--            <plugin>-->
 | 
				
			||||||
 | 
					      <!--                <groupId>org.apache.maven.plugins</groupId>-->
 | 
				
			||||||
 | 
					      <!--                <artifactId>maven-gpg-plugin</artifactId>-->
 | 
				
			||||||
 | 
					      <!--                <version>1.5</version>-->
 | 
				
			||||||
 | 
					      <!--                <executions>-->
 | 
				
			||||||
 | 
					      <!--                    <execution>-->
 | 
				
			||||||
 | 
					      <!--                        <id>sign-artifacts</id>-->
 | 
				
			||||||
 | 
					      <!--                        <phase>verify</phase>-->
 | 
				
			||||||
 | 
					      <!--                        <goals>-->
 | 
				
			||||||
 | 
					      <!--                            <goal>sign</goal>-->
 | 
				
			||||||
 | 
					      <!--                        </goals>-->
 | 
				
			||||||
 | 
					      <!--                        <configuration>-->
 | 
				
			||||||
 | 
					      <!--                            <!– This is necessary for gpg to not try to use the pinentry programs –>-->
 | 
				
			||||||
 | 
					      <!--                            <gpgArguments>-->
 | 
				
			||||||
 | 
					      <!--                                <arg>--pinentry-mode</arg>-->
 | 
				
			||||||
 | 
					      <!--                                <arg>loopback</arg>-->
 | 
				
			||||||
 | 
					      <!--                            </gpgArguments>-->
 | 
				
			||||||
 | 
					      <!--                        </configuration>-->
 | 
				
			||||||
 | 
					      <!--                    </execution>-->
 | 
				
			||||||
 | 
					      <!--                </executions>-->
 | 
				
			||||||
 | 
					      <!--            </plugin>-->
 | 
				
			||||||
 | 
					      <!-- Surefire Plugin for Unit Tests -->
 | 
				
			||||||
 | 
					      <plugin>
 | 
				
			||||||
 | 
					        <groupId>org.apache.maven.plugins</groupId>
 | 
				
			||||||
 | 
					        <artifactId>maven-surefire-plugin</artifactId>
 | 
				
			||||||
 | 
					        <version>${maven-surefire-plugin.version}</version>
 | 
				
			||||||
 | 
					        <configuration>
 | 
				
			||||||
 | 
					          <skipTests>${skipUnitTests}</skipTests>
 | 
				
			||||||
 | 
					          <includes>
 | 
				
			||||||
 | 
					            <include>**/unittests/*.java</include>
 | 
				
			||||||
 | 
					          </includes>
 | 
				
			||||||
 | 
					        </configuration>
 | 
				
			||||||
 | 
					      </plugin>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      <!-- Failsafe Plugin for Integration Tests -->
 | 
				
			||||||
 | 
					      <plugin>
 | 
				
			||||||
 | 
					        <groupId>org.apache.maven.plugins</groupId>
 | 
				
			||||||
 | 
					        <artifactId>maven-failsafe-plugin</artifactId>
 | 
				
			||||||
 | 
					        <version>${maven-failsafe-plugin.version}</version>
 | 
				
			||||||
 | 
					        <configuration>
 | 
				
			||||||
 | 
					          <includes>
 | 
				
			||||||
 | 
					            <include>**/integrationtests/*.java</include>
 | 
				
			||||||
 | 
					          </includes>
 | 
				
			||||||
 | 
					          <excludes>
 | 
				
			||||||
 | 
					            <exclude>**/unittests/*.java</exclude>
 | 
				
			||||||
 | 
					          </excludes>
 | 
				
			||||||
 | 
					          <skipTests>${skipIntegrationTests}</skipTests>
 | 
				
			||||||
 | 
					        </configuration>
 | 
				
			||||||
 | 
					        <executions>
 | 
				
			||||||
 | 
					          <execution>
 | 
				
			||||||
 | 
					            <goals>
 | 
				
			||||||
 | 
					              <goal>integration-test</goal>
 | 
				
			||||||
 | 
					              <goal>verify</goal>
 | 
				
			||||||
 | 
					            </goals>
 | 
				
			||||||
 | 
					          </execution>
 | 
				
			||||||
 | 
					        </executions>
 | 
				
			||||||
 | 
					      </plugin>
 | 
				
			||||||
 | 
					      <plugin>
 | 
				
			||||||
 | 
					        <groupId>org.apache.maven.plugins</groupId>
 | 
				
			||||||
 | 
					        <artifactId>maven-release-plugin</artifactId>
 | 
				
			||||||
 | 
					        <version>3.0.1</version>
 | 
				
			||||||
 | 
					        <configuration>
 | 
				
			||||||
 | 
					          <!--                    <goals>install</goals>-->
 | 
				
			||||||
 | 
					          <tagNameFormat>v@{project.version}</tagNameFormat>
 | 
				
			||||||
 | 
					        </configuration>
 | 
				
			||||||
 | 
					      </plugin>
 | 
				
			||||||
 | 
					    </plugins>
 | 
				
			||||||
 | 
					  </build>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <dependencies>
 | 
				
			||||||
 | 
					    <dependency>
 | 
				
			||||||
 | 
					      <groupId>org.projectlombok</groupId>
 | 
				
			||||||
 | 
					      <artifactId>lombok</artifactId>
 | 
				
			||||||
 | 
					      <version>${lombok.version}</version>
 | 
				
			||||||
 | 
					      <scope>provided</scope>
 | 
				
			||||||
 | 
					    </dependency>
 | 
				
			||||||
 | 
					    <dependency>
 | 
				
			||||||
 | 
					      <groupId>com.fasterxml.jackson.core</groupId>
 | 
				
			||||||
 | 
					      <artifactId>jackson-databind</artifactId>
 | 
				
			||||||
 | 
					      <version>2.15.3</version>
 | 
				
			||||||
 | 
					    </dependency>
 | 
				
			||||||
 | 
					    <dependency>
 | 
				
			||||||
 | 
					      <groupId>ch.qos.logback</groupId>
 | 
				
			||||||
 | 
					      <artifactId>logback-classic</artifactId>
 | 
				
			||||||
 | 
					      <version>1.4.12</version>
 | 
				
			||||||
 | 
					      <scope>test</scope>
 | 
				
			||||||
 | 
					    </dependency>
 | 
				
			||||||
 | 
					    <dependency>
 | 
				
			||||||
 | 
					      <groupId>org.slf4j</groupId>
 | 
				
			||||||
 | 
					      <artifactId>slf4j-api</artifactId>
 | 
				
			||||||
 | 
					      <version>2.0.9</version>
 | 
				
			||||||
 | 
					    </dependency>
 | 
				
			||||||
 | 
					    <dependency>
 | 
				
			||||||
 | 
					      <groupId>org.junit.jupiter</groupId>
 | 
				
			||||||
 | 
					      <artifactId>junit-jupiter-api</artifactId>
 | 
				
			||||||
 | 
					      <version>5.10.0</version>
 | 
				
			||||||
 | 
					      <scope>test</scope>
 | 
				
			||||||
 | 
					    </dependency>
 | 
				
			||||||
 | 
					    <dependency>
 | 
				
			||||||
 | 
					      <groupId>org.mockito</groupId>
 | 
				
			||||||
 | 
					      <artifactId>mockito-core</artifactId>
 | 
				
			||||||
 | 
					      <version>4.1.0</version>
 | 
				
			||||||
 | 
					      <scope>test</scope>
 | 
				
			||||||
 | 
					    </dependency>
 | 
				
			||||||
 | 
					  </dependencies>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <distributionManagement>
 | 
				
			||||||
 | 
					    <snapshotRepository>
 | 
				
			||||||
 | 
					      <id>ossrh</id>
 | 
				
			||||||
 | 
					      <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
 | 
				
			||||||
 | 
					    </snapshotRepository>
 | 
				
			||||||
 | 
					    <repository>
 | 
				
			||||||
 | 
					      <id>ossrh</id>
 | 
				
			||||||
 | 
					      <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2</url>
 | 
				
			||||||
 | 
					    </repository>
 | 
				
			||||||
 | 
					  </distributionManagement>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <profiles>
 | 
				
			||||||
 | 
					    <profile>
 | 
				
			||||||
 | 
					      <id>unit-tests</id>
 | 
				
			||||||
 | 
					      <properties>
 | 
				
			||||||
 | 
					        <test.env>unit</test.env>
 | 
				
			||||||
 | 
					        <skipUnitTests>false</skipUnitTests>
 | 
				
			||||||
 | 
					        <skipIntegrationTests>true</skipIntegrationTests>
 | 
				
			||||||
 | 
					      </properties>
 | 
				
			||||||
 | 
					      <activation>
 | 
				
			||||||
 | 
					        <activeByDefault>true</activeByDefault>
 | 
				
			||||||
 | 
					      </activation>
 | 
				
			||||||
 | 
					      <build>
 | 
				
			||||||
        <plugins>
 | 
					        <plugins>
 | 
				
			||||||
            <plugin>
 | 
					          <plugin>
 | 
				
			||||||
                <groupId>org.apache.maven.plugins</groupId>
 | 
					            <groupId>org.jacoco</groupId>
 | 
				
			||||||
                <artifactId>maven-source-plugin</artifactId>
 | 
					            <artifactId>jacoco-maven-plugin</artifactId>
 | 
				
			||||||
                <version>3.3.0</version>
 | 
					            <version>0.8.7</version>
 | 
				
			||||||
                <executions>
 | 
					            <executions>
 | 
				
			||||||
                    <execution>
 | 
					              <execution>
 | 
				
			||||||
                        <id>attach-sources</id>
 | 
					                <goals>
 | 
				
			||||||
                        <goals>
 | 
					                  <goal>prepare-agent</goal>
 | 
				
			||||||
                            <goal>jar-no-fork</goal>
 | 
					                </goals>
 | 
				
			||||||
                        </goals>
 | 
					              </execution>
 | 
				
			||||||
                    </execution>
 | 
					              <execution>
 | 
				
			||||||
                </executions>
 | 
					                <id>report</id>
 | 
				
			||||||
            </plugin>
 | 
					                <phase>test</phase>
 | 
				
			||||||
            <plugin>
 | 
					                <goals>
 | 
				
			||||||
                <groupId>org.apache.maven.plugins</groupId>
 | 
					                  <goal>report</goal>
 | 
				
			||||||
                <artifactId>maven-javadoc-plugin</artifactId>
 | 
					                </goals>
 | 
				
			||||||
                <version>3.5.0</version>
 | 
					              </execution>
 | 
				
			||||||
                <executions>
 | 
					            </executions>
 | 
				
			||||||
                    <execution>
 | 
					          </plugin>
 | 
				
			||||||
                        <id>attach-javadocs</id>
 | 
					 | 
				
			||||||
                        <goals>
 | 
					 | 
				
			||||||
                            <goal>jar</goal>
 | 
					 | 
				
			||||||
                        </goals>
 | 
					 | 
				
			||||||
                    </execution>
 | 
					 | 
				
			||||||
                </executions>
 | 
					 | 
				
			||||||
            </plugin>
 | 
					 | 
				
			||||||
            <!--            <plugin>-->
 | 
					 | 
				
			||||||
            <!--                <groupId>org.apache.maven.plugins</groupId>-->
 | 
					 | 
				
			||||||
            <!--                <artifactId>maven-gpg-plugin</artifactId>-->
 | 
					 | 
				
			||||||
            <!--                <version>1.5</version>-->
 | 
					 | 
				
			||||||
            <!--                <executions>-->
 | 
					 | 
				
			||||||
            <!--                    <execution>-->
 | 
					 | 
				
			||||||
            <!--                        <id>sign-artifacts</id>-->
 | 
					 | 
				
			||||||
            <!--                        <phase>verify</phase>-->
 | 
					 | 
				
			||||||
            <!--                        <goals>-->
 | 
					 | 
				
			||||||
            <!--                            <goal>sign</goal>-->
 | 
					 | 
				
			||||||
            <!--                        </goals>-->
 | 
					 | 
				
			||||||
            <!--                        <configuration>-->
 | 
					 | 
				
			||||||
            <!--                            <!– This is necessary for gpg to not try to use the pinentry programs –>-->
 | 
					 | 
				
			||||||
            <!--                            <gpgArguments>-->
 | 
					 | 
				
			||||||
            <!--                                <arg>--pinentry-mode</arg>-->
 | 
					 | 
				
			||||||
            <!--                                <arg>loopback</arg>-->
 | 
					 | 
				
			||||||
            <!--                            </gpgArguments>-->
 | 
					 | 
				
			||||||
            <!--                        </configuration>-->
 | 
					 | 
				
			||||||
            <!--                    </execution>-->
 | 
					 | 
				
			||||||
            <!--                </executions>-->
 | 
					 | 
				
			||||||
            <!--            </plugin>-->
 | 
					 | 
				
			||||||
            <!-- Surefire Plugin for Unit Tests -->
 | 
					 | 
				
			||||||
            <plugin>
 | 
					 | 
				
			||||||
                <groupId>org.apache.maven.plugins</groupId>
 | 
					 | 
				
			||||||
                <artifactId>maven-surefire-plugin</artifactId>
 | 
					 | 
				
			||||||
                <version>${maven-surefire-plugin.version}</version>
 | 
					 | 
				
			||||||
                <configuration>
 | 
					 | 
				
			||||||
                    <skipTests>${skipUnitTests}</skipTests>
 | 
					 | 
				
			||||||
                    <includes>
 | 
					 | 
				
			||||||
                        <include>**/unittests/*.java</include>
 | 
					 | 
				
			||||||
                    </includes>
 | 
					 | 
				
			||||||
                </configuration>
 | 
					 | 
				
			||||||
            </plugin>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            <!-- Failsafe Plugin for Integration Tests -->
 | 
					 | 
				
			||||||
            <plugin>
 | 
					 | 
				
			||||||
                <groupId>org.apache.maven.plugins</groupId>
 | 
					 | 
				
			||||||
                <artifactId>maven-failsafe-plugin</artifactId>
 | 
					 | 
				
			||||||
                <version>${maven-failsafe-plugin.version}</version>
 | 
					 | 
				
			||||||
                <configuration>
 | 
					 | 
				
			||||||
                    <includes>
 | 
					 | 
				
			||||||
                        <include>**/integrationtests/*.java</include>
 | 
					 | 
				
			||||||
                    </includes>
 | 
					 | 
				
			||||||
                    <excludes>
 | 
					 | 
				
			||||||
                        <exclude>**/unittests/*.java</exclude>
 | 
					 | 
				
			||||||
                    </excludes>
 | 
					 | 
				
			||||||
                    <skipTests>${skipIntegrationTests}</skipTests>
 | 
					 | 
				
			||||||
                </configuration>
 | 
					 | 
				
			||||||
                <executions>
 | 
					 | 
				
			||||||
                    <execution>
 | 
					 | 
				
			||||||
                        <goals>
 | 
					 | 
				
			||||||
                            <goal>integration-test</goal>
 | 
					 | 
				
			||||||
                            <goal>verify</goal>
 | 
					 | 
				
			||||||
                        </goals>
 | 
					 | 
				
			||||||
                    </execution>
 | 
					 | 
				
			||||||
                </executions>
 | 
					 | 
				
			||||||
            </plugin>
 | 
					 | 
				
			||||||
            <plugin>
 | 
					 | 
				
			||||||
                <groupId>org.apache.maven.plugins</groupId>
 | 
					 | 
				
			||||||
                <artifactId>maven-release-plugin</artifactId>
 | 
					 | 
				
			||||||
                <version>3.0.1</version>
 | 
					 | 
				
			||||||
                <configuration>
 | 
					 | 
				
			||||||
                    <!--                    <goals>install</goals>-->
 | 
					 | 
				
			||||||
                    <tagNameFormat>v@{project.version}</tagNameFormat>
 | 
					 | 
				
			||||||
                </configuration>
 | 
					 | 
				
			||||||
            </plugin>
 | 
					 | 
				
			||||||
        </plugins>
 | 
					        </plugins>
 | 
				
			||||||
    </build>
 | 
					      </build>
 | 
				
			||||||
 | 
					    </profile>
 | 
				
			||||||
 | 
					    <profile>
 | 
				
			||||||
 | 
					      <id>integration-tests</id>
 | 
				
			||||||
 | 
					      <properties>
 | 
				
			||||||
 | 
					        <test.env>integration</test.env>
 | 
				
			||||||
 | 
					        <skipUnitTests>true</skipUnitTests>
 | 
				
			||||||
 | 
					        <skipIntegrationTests>false</skipIntegrationTests>
 | 
				
			||||||
 | 
					      </properties>
 | 
				
			||||||
 | 
					    </profile>
 | 
				
			||||||
 | 
					    <profile>
 | 
				
			||||||
 | 
					      <id>ci-cd</id>
 | 
				
			||||||
 | 
					      <properties>
 | 
				
			||||||
 | 
					        <test.env>unit</test.env>
 | 
				
			||||||
 | 
					        <skipUnitTests>true</skipUnitTests>
 | 
				
			||||||
 | 
					        <skipIntegrationTests>true</skipIntegrationTests>
 | 
				
			||||||
 | 
					      </properties>
 | 
				
			||||||
 | 
					      <build>
 | 
				
			||||||
 | 
					        <plugins>
 | 
				
			||||||
 | 
					          <plugin>
 | 
				
			||||||
 | 
					            <groupId>org.apache.maven.plugins</groupId>
 | 
				
			||||||
 | 
					            <artifactId>maven-gpg-plugin</artifactId>
 | 
				
			||||||
 | 
					            <version>3.1.0</version>
 | 
				
			||||||
 | 
					            <executions>
 | 
				
			||||||
 | 
					              <execution>
 | 
				
			||||||
 | 
					                <id>sign-artifacts</id>
 | 
				
			||||||
 | 
					                <phase>verify</phase>
 | 
				
			||||||
 | 
					                <goals>
 | 
				
			||||||
 | 
					                  <goal>sign</goal>
 | 
				
			||||||
 | 
					                </goals>
 | 
				
			||||||
 | 
					                <configuration>
 | 
				
			||||||
 | 
					                  <!-- Prevent gpg from using pinentry programs. Fixes:
 | 
				
			||||||
 | 
					                       gpg: signing failed: Inappropriate ioctl for device -->
 | 
				
			||||||
 | 
					                  <gpgArguments>
 | 
				
			||||||
 | 
					                    <arg>--pinentry-mode</arg>
 | 
				
			||||||
 | 
					                    <arg>loopback</arg>
 | 
				
			||||||
 | 
					                  </gpgArguments>
 | 
				
			||||||
 | 
					                </configuration>
 | 
				
			||||||
 | 
					              </execution>
 | 
				
			||||||
 | 
					            </executions>
 | 
				
			||||||
 | 
					          </plugin>
 | 
				
			||||||
 | 
					          <plugin>
 | 
				
			||||||
 | 
					            <groupId>org.sonatype.plugins</groupId>
 | 
				
			||||||
 | 
					            <artifactId>nexus-staging-maven-plugin</artifactId>
 | 
				
			||||||
 | 
					            <version>1.6.13</version>
 | 
				
			||||||
 | 
					            <extensions>true</extensions>
 | 
				
			||||||
 | 
					            <configuration>
 | 
				
			||||||
 | 
					              <serverId>ossrh</serverId>
 | 
				
			||||||
 | 
					              <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
 | 
				
			||||||
 | 
					              <autoReleaseAfterClose>true</autoReleaseAfterClose>
 | 
				
			||||||
 | 
					            </configuration>
 | 
				
			||||||
 | 
					          </plugin>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <dependencies>
 | 
					          <plugin>
 | 
				
			||||||
        <dependency>
 | 
					            <groupId>org.jacoco</groupId>
 | 
				
			||||||
            <groupId>org.projectlombok</groupId>
 | 
					            <artifactId>jacoco-maven-plugin</artifactId>
 | 
				
			||||||
            <artifactId>lombok</artifactId>
 | 
					            <version>0.8.7</version>
 | 
				
			||||||
            <version>${lombok.version}</version>
 | 
					            <executions>
 | 
				
			||||||
            <scope>provided</scope>
 | 
					              <execution>
 | 
				
			||||||
        </dependency>
 | 
					                <goals>
 | 
				
			||||||
        <dependency>
 | 
					                  <goal>prepare-agent</goal>
 | 
				
			||||||
            <groupId>com.fasterxml.jackson.core</groupId>
 | 
					                </goals>
 | 
				
			||||||
            <artifactId>jackson-databind</artifactId>
 | 
					              </execution>
 | 
				
			||||||
            <version>2.15.3</version>
 | 
					              <execution>
 | 
				
			||||||
        </dependency>
 | 
					                <id>report</id>
 | 
				
			||||||
        <dependency>
 | 
					                <phase>test</phase>
 | 
				
			||||||
            <groupId>ch.qos.logback</groupId>
 | 
					                <goals>
 | 
				
			||||||
            <artifactId>logback-classic</artifactId>
 | 
					                  <goal>report</goal>
 | 
				
			||||||
            <version>1.3.11</version>
 | 
					                </goals>
 | 
				
			||||||
            <scope>test</scope>
 | 
					              </execution>
 | 
				
			||||||
        </dependency>
 | 
					            </executions>
 | 
				
			||||||
        <dependency>
 | 
					          </plugin>
 | 
				
			||||||
            <groupId>org.slf4j</groupId>
 | 
					        </plugins>
 | 
				
			||||||
            <artifactId>slf4j-api</artifactId>
 | 
					      </build>
 | 
				
			||||||
            <version>2.0.9</version>
 | 
					    </profile>
 | 
				
			||||||
        </dependency>
 | 
					  </profiles>
 | 
				
			||||||
        <dependency>
 | 
					 | 
				
			||||||
            <groupId>org.junit.jupiter</groupId>
 | 
					 | 
				
			||||||
            <artifactId>junit-jupiter-api</artifactId>
 | 
					 | 
				
			||||||
            <version>5.10.0</version>
 | 
					 | 
				
			||||||
            <scope>test</scope>
 | 
					 | 
				
			||||||
        </dependency>
 | 
					 | 
				
			||||||
        <dependency>
 | 
					 | 
				
			||||||
            <groupId>org.mockito</groupId>
 | 
					 | 
				
			||||||
            <artifactId>mockito-core</artifactId>
 | 
					 | 
				
			||||||
            <version>4.1.0</version>
 | 
					 | 
				
			||||||
            <scope>test</scope>
 | 
					 | 
				
			||||||
        </dependency>
 | 
					 | 
				
			||||||
    </dependencies>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <distributionManagement>
 | 
					 | 
				
			||||||
        <snapshotRepository>
 | 
					 | 
				
			||||||
            <id>ossrh</id>
 | 
					 | 
				
			||||||
            <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
 | 
					 | 
				
			||||||
        </snapshotRepository>
 | 
					 | 
				
			||||||
        <repository>
 | 
					 | 
				
			||||||
            <id>ossrh</id>
 | 
					 | 
				
			||||||
            <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2</url>
 | 
					 | 
				
			||||||
        </repository>
 | 
					 | 
				
			||||||
    </distributionManagement>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <profiles>
 | 
					 | 
				
			||||||
        <profile>
 | 
					 | 
				
			||||||
            <id>unit-tests</id>
 | 
					 | 
				
			||||||
            <properties>
 | 
					 | 
				
			||||||
                <test.env>unit</test.env>
 | 
					 | 
				
			||||||
                <skipUnitTests>false</skipUnitTests>
 | 
					 | 
				
			||||||
                <skipIntegrationTests>true</skipIntegrationTests>
 | 
					 | 
				
			||||||
            </properties>
 | 
					 | 
				
			||||||
            <activation>
 | 
					 | 
				
			||||||
                <activeByDefault>true</activeByDefault>
 | 
					 | 
				
			||||||
            </activation>
 | 
					 | 
				
			||||||
        </profile>
 | 
					 | 
				
			||||||
        <profile>
 | 
					 | 
				
			||||||
            <id>integration-tests</id>
 | 
					 | 
				
			||||||
            <properties>
 | 
					 | 
				
			||||||
                <test.env>integration</test.env>
 | 
					 | 
				
			||||||
                <skipUnitTests>true</skipUnitTests>
 | 
					 | 
				
			||||||
                <skipIntegrationTests>false</skipIntegrationTests>
 | 
					 | 
				
			||||||
            </properties>
 | 
					 | 
				
			||||||
        </profile>
 | 
					 | 
				
			||||||
        <profile>
 | 
					 | 
				
			||||||
            <id>ci-cd</id>
 | 
					 | 
				
			||||||
            <properties>
 | 
					 | 
				
			||||||
                <test.env>unit</test.env>
 | 
					 | 
				
			||||||
                <skipUnitTests>true</skipUnitTests>
 | 
					 | 
				
			||||||
                <skipIntegrationTests>true</skipIntegrationTests>
 | 
					 | 
				
			||||||
            </properties>
 | 
					 | 
				
			||||||
            <build>
 | 
					 | 
				
			||||||
                <plugins>
 | 
					 | 
				
			||||||
                    <plugin>
 | 
					 | 
				
			||||||
                        <groupId>org.apache.maven.plugins</groupId>
 | 
					 | 
				
			||||||
                        <artifactId>maven-gpg-plugin</artifactId>
 | 
					 | 
				
			||||||
                        <version>3.1.0</version>
 | 
					 | 
				
			||||||
                        <executions>
 | 
					 | 
				
			||||||
                            <execution>
 | 
					 | 
				
			||||||
                                <id>sign-artifacts</id>
 | 
					 | 
				
			||||||
                                <phase>verify</phase>
 | 
					 | 
				
			||||||
                                <goals>
 | 
					 | 
				
			||||||
                                    <goal>sign</goal>
 | 
					 | 
				
			||||||
                                </goals>
 | 
					 | 
				
			||||||
                                <configuration>
 | 
					 | 
				
			||||||
                                    <!-- Prevent gpg from using pinentry programs. Fixes:
 | 
					 | 
				
			||||||
                                         gpg: signing failed: Inappropriate ioctl for device -->
 | 
					 | 
				
			||||||
                                    <gpgArguments>
 | 
					 | 
				
			||||||
                                        <arg>--pinentry-mode</arg>
 | 
					 | 
				
			||||||
                                        <arg>loopback</arg>
 | 
					 | 
				
			||||||
                                    </gpgArguments>
 | 
					 | 
				
			||||||
                                </configuration>
 | 
					 | 
				
			||||||
                            </execution>
 | 
					 | 
				
			||||||
                        </executions>
 | 
					 | 
				
			||||||
                    </plugin>
 | 
					 | 
				
			||||||
                    <plugin>
 | 
					 | 
				
			||||||
                        <groupId>org.sonatype.plugins</groupId>
 | 
					 | 
				
			||||||
                        <artifactId>nexus-staging-maven-plugin</artifactId>
 | 
					 | 
				
			||||||
                        <version>1.6.13</version>
 | 
					 | 
				
			||||||
                        <extensions>true</extensions>
 | 
					 | 
				
			||||||
                        <configuration>
 | 
					 | 
				
			||||||
                            <serverId>ossrh</serverId>
 | 
					 | 
				
			||||||
                            <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
 | 
					 | 
				
			||||||
                            <autoReleaseAfterClose>true</autoReleaseAfterClose>
 | 
					 | 
				
			||||||
                        </configuration>
 | 
					 | 
				
			||||||
                    </plugin>
 | 
					 | 
				
			||||||
                </plugins>
 | 
					 | 
				
			||||||
            </build>
 | 
					 | 
				
			||||||
        </profile>
 | 
					 | 
				
			||||||
    </profiles>
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
</project>
 | 
					</project>
 | 
				
			||||||
@@ -331,12 +331,12 @@ public class OllamaAPI {
 | 
				
			|||||||
   * Ask a question to a model running on Ollama server. This is a sync/blocking call.
 | 
					   * Ask a question to a model running on Ollama server. This is a sync/blocking call.
 | 
				
			||||||
   *
 | 
					   *
 | 
				
			||||||
   * @param model the ollama model to ask the question to
 | 
					   * @param model the ollama model to ask the question to
 | 
				
			||||||
   * @param promptText the prompt/question text
 | 
					   * @param prompt the prompt/question text
 | 
				
			||||||
   * @return OllamaResult that includes response text and time taken for response
 | 
					   * @return OllamaResult that includes response text and time taken for response
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
  public OllamaResult ask(String model, String promptText)
 | 
					  public OllamaResult ask(String model, String prompt)
 | 
				
			||||||
      throws OllamaBaseException, IOException, InterruptedException {
 | 
					      throws OllamaBaseException, IOException, InterruptedException {
 | 
				
			||||||
    OllamaRequestModel ollamaRequestModel = new OllamaRequestModel(model, promptText);
 | 
					    OllamaRequestModel ollamaRequestModel = new OllamaRequestModel(model, prompt);
 | 
				
			||||||
    return askSync(ollamaRequestModel);
 | 
					    return askSync(ollamaRequestModel);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -346,11 +346,11 @@ public class OllamaAPI {
 | 
				
			|||||||
   * async/non-blocking call.
 | 
					   * async/non-blocking call.
 | 
				
			||||||
   *
 | 
					   *
 | 
				
			||||||
   * @param model the ollama model to ask the question to
 | 
					   * @param model the ollama model to ask the question to
 | 
				
			||||||
   * @param promptText the prompt/question text
 | 
					   * @param prompt the prompt/question text
 | 
				
			||||||
   * @return the ollama async result callback handle
 | 
					   * @return the ollama async result callback handle
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
  public OllamaAsyncResultCallback askAsync(String model, String promptText) {
 | 
					  public OllamaAsyncResultCallback askAsync(String model, String prompt) {
 | 
				
			||||||
    OllamaRequestModel ollamaRequestModel = new OllamaRequestModel(model, promptText);
 | 
					    OllamaRequestModel ollamaRequestModel = new OllamaRequestModel(model, prompt);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    URI uri = URI.create(this.host + "/api/generate");
 | 
					    URI uri = URI.create(this.host + "/api/generate");
 | 
				
			||||||
    OllamaAsyncResultCallback ollamaAsyncResultCallback =
 | 
					    OllamaAsyncResultCallback ollamaAsyncResultCallback =
 | 
				
			||||||
@@ -365,17 +365,17 @@ public class OllamaAPI {
 | 
				
			|||||||
   * sync/blocking call.
 | 
					   * sync/blocking call.
 | 
				
			||||||
   *
 | 
					   *
 | 
				
			||||||
   * @param model the ollama model to ask the question to
 | 
					   * @param model the ollama model to ask the question to
 | 
				
			||||||
   * @param promptText the prompt/question text
 | 
					   * @param prompt the prompt/question text
 | 
				
			||||||
   * @param imageFiles the list of image files to use for the question
 | 
					   * @param imageFiles the list of image files to use for the question
 | 
				
			||||||
   * @return OllamaResult that includes response text and time taken for response
 | 
					   * @return OllamaResult that includes response text and time taken for response
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
  public OllamaResult askWithImageFiles(String model, String promptText, List<File> imageFiles)
 | 
					  public OllamaResult askWithImageFiles(String model, String prompt, List<File> imageFiles)
 | 
				
			||||||
      throws OllamaBaseException, IOException, InterruptedException {
 | 
					      throws OllamaBaseException, IOException, InterruptedException {
 | 
				
			||||||
    List<String> images = new ArrayList<>();
 | 
					    List<String> images = new ArrayList<>();
 | 
				
			||||||
    for (File imageFile : imageFiles) {
 | 
					    for (File imageFile : imageFiles) {
 | 
				
			||||||
      images.add(encodeFileToBase64(imageFile));
 | 
					      images.add(encodeFileToBase64(imageFile));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    OllamaRequestModel ollamaRequestModel = new OllamaRequestModel(model, promptText, images);
 | 
					    OllamaRequestModel ollamaRequestModel = new OllamaRequestModel(model, prompt, images);
 | 
				
			||||||
    return askSync(ollamaRequestModel);
 | 
					    return askSync(ollamaRequestModel);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -384,17 +384,17 @@ public class OllamaAPI {
 | 
				
			|||||||
   * sync/blocking call.
 | 
					   * sync/blocking call.
 | 
				
			||||||
   *
 | 
					   *
 | 
				
			||||||
   * @param model the ollama model to ask the question to
 | 
					   * @param model the ollama model to ask the question to
 | 
				
			||||||
   * @param promptText the prompt/question text
 | 
					   * @param prompt the prompt/question text
 | 
				
			||||||
   * @param imageURLs the list of image URLs to use for the question
 | 
					   * @param imageURLs the list of image URLs to use for the question
 | 
				
			||||||
   * @return OllamaResult that includes response text and time taken for response
 | 
					   * @return OllamaResult that includes response text and time taken for response
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
  public OllamaResult askWithImageURLs(String model, String promptText, List<String> imageURLs)
 | 
					  public OllamaResult askWithImageURLs(String model, String prompt, List<String> imageURLs)
 | 
				
			||||||
      throws OllamaBaseException, IOException, InterruptedException, URISyntaxException {
 | 
					      throws OllamaBaseException, IOException, InterruptedException, URISyntaxException {
 | 
				
			||||||
    List<String> images = new ArrayList<>();
 | 
					    List<String> images = new ArrayList<>();
 | 
				
			||||||
    for (String imageURL : imageURLs) {
 | 
					    for (String imageURL : imageURLs) {
 | 
				
			||||||
      images.add(encodeByteArrayToBase64(loadImageBytesFromUrl(imageURL)));
 | 
					      images.add(encodeByteArrayToBase64(loadImageBytesFromUrl(imageURL)));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    OllamaRequestModel ollamaRequestModel = new OllamaRequestModel(model, promptText, images);
 | 
					    OllamaRequestModel ollamaRequestModel = new OllamaRequestModel(model, prompt, images);
 | 
				
			||||||
    return askSync(ollamaRequestModel);
 | 
					    return askSync(ollamaRequestModel);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -123,9 +123,9 @@ public class OllamaAsyncResultCallback extends Thread {
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /**
 | 
					  /**
 | 
				
			||||||
   * Returns the final response when the execution completes. Does not return intermediate results.
 | 
					   * Returns the final completion/response when the execution completes. Does not return intermediate results.
 | 
				
			||||||
   *
 | 
					   *
 | 
				
			||||||
   * @return String - response text
 | 
					   * @return String completion/response text
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
  public String getResponse() {
 | 
					  public String getResponse() {
 | 
				
			||||||
    return result;
 | 
					    return result;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,9 +13,9 @@ import lombok.Getter;
 | 
				
			|||||||
public class OllamaResult {
 | 
					public class OllamaResult {
 | 
				
			||||||
  /**
 | 
					  /**
 | 
				
			||||||
   * -- GETTER --
 | 
					   * -- GETTER --
 | 
				
			||||||
   *  Get the response text
 | 
					   *  Get the completion/response text
 | 
				
			||||||
   *
 | 
					   *
 | 
				
			||||||
   * @return String - response text
 | 
					   * @return String completion/response text
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
  private final String response;
 | 
					  private final String response;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user