forked from Mirror/ollama4j
		
	added OptionsBuilder and support for specifying extra params for ask API
				
					
				
			This commit is contained in:
		@@ -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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										53
									
								
								docs/docs/apis-extras/options-builder.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								docs/docs/apis-extras/options-builder.md
									
									
									
									
									
										Normal 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();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
		Reference in New Issue
	
	Block a user