added OptionsBuilder and support for specifying extra params for ask API

This commit is contained in:
Amith Koujalgi
2024-01-02 23:18:17 +05:30
parent fe64c6dd10
commit 85acf0fe78
7 changed files with 313 additions and 10 deletions

View File

@@ -8,6 +8,11 @@ This API lets you ask questions to the LLMs in a synchronous way.
These APIs correlate to
the [completion](https://github.com/jmorganca/ollama/blob/main/docs/api.md#generate-a-completion) APIs.
Use the `OptionBuilder` to build the `Options` object
with [extra parameters](https://github.com/jmorganca/ollama/blob/main/docs/modelfile.md#valid-parameters-and-values).
Refer
to [this](/docs/apis-extras/options-builder).
## Try asking a question about the model.
```java
@@ -19,11 +24,13 @@ public class Main {
OllamaAPI ollamaAPI = new OllamaAPI(host);
OllamaResult result = ollamaAPI.ask(OllamaModelType.LLAMA2, "Who are you?");
OllamaResult result =
ollamaAPI.ask(OllamaModelType.LLAMA2, "Who are you?", new OptionsBuilder().build());
System.out.println(result.getResponse());
}
}
```
You will get a response similar to:
@@ -47,11 +54,13 @@ public class Main {
String prompt = "List all cricket world cup teams of 2019.";
OllamaResult result = ollamaAPI.ask(OllamaModelType.LLAMA2, prompt);
OllamaResult result =
ollamaAPI.ask(OllamaModelType.LLAMA2, prompt, new OptionsBuilder().build());
System.out.println(result.getResponse());
}
}
```
You'd then get a response from the model:
@@ -84,12 +93,15 @@ public class Main {
String host = "http://localhost:11434/";
OllamaAPI ollamaAPI = new OllamaAPI(host);
String prompt = SamplePrompts.getSampleDatabasePromptWithQuestion(
"List all customer names who have bought one or more products");
OllamaResult result = ollamaAPI.ask(OllamaModelType.SQLCODER, prompt);
String prompt =
SamplePrompts.getSampleDatabasePromptWithQuestion(
"List all customer names who have bought one or more products");
OllamaResult result =
ollamaAPI.ask(OllamaModelType.SQLCODER, prompt, new OptionsBuilder().build());
System.out.println(result.getResponse());
}
}
```
_Note: Here I've used

View File

@@ -0,0 +1,53 @@
---
sidebar_position: 1
---
# Options Builder
This lets you build options for the `ask()` API.
Check out the supported
options [here](https://github.com/jmorganca/ollama/blob/main/docs/modelfile.md#valid-parameters-and-values).
## Build an empty Options object
```java
import io.github.amithkoujalgi.ollama4j.core.utils.Options;
import io.github.amithkoujalgi.ollama4j.core.utils.OptionsBuilder;
public class Main {
public static void main(String[] args) {
String host = "http://localhost:11434/";
OllamaAPI ollamaAPI = new OllamaAPI(host);
Options options = new OptionsBuilder().build();
}
}
```
## Build an empty Options object
```java
import io.github.amithkoujalgi.ollama4j.core.utils.Options;
import io.github.amithkoujalgi.ollama4j.core.utils.OptionsBuilder;
public class Main {
public static void main(String[] args) {
String host = "http://localhost:11434/";
OllamaAPI ollamaAPI = new OllamaAPI(host);
Options options =
new OptionsBuilder()
.setMirostat(10)
.setMirostatEta(0.5f)
.setNumGpu(2)
.setTemperature(1.5f)
.build();
}
}
```