forked from Mirror/ollama4j
		
	added Prompt Builder
				
					
				
			This commit is contained in:
		@@ -1,5 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
sidebar_position: 5
 | 
			
		||||
sidebar_position: 6
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
# Generate Embeddings
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										73
									
								
								docs/docs/apis-ask/prompt-builder.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								docs/docs/apis-ask/prompt-builder.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,73 @@
 | 
			
		||||
---
 | 
			
		||||
sidebar_position: 5
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
# Prompt Builder
 | 
			
		||||
 | 
			
		||||
This is designed for prompt engineering. It allows you to easily build the prompt text for zero-shot, one-shot, few-shot
 | 
			
		||||
inferences.
 | 
			
		||||
 | 
			
		||||
```java
 | 
			
		||||
 | 
			
		||||
import io.github.amithkoujalgi.ollama4j.core.OllamaAPI;
 | 
			
		||||
import io.github.amithkoujalgi.ollama4j.core.models.OllamaResult;
 | 
			
		||||
import io.github.amithkoujalgi.ollama4j.core.types.OllamaModelType;
 | 
			
		||||
import io.github.amithkoujalgi.ollama4j.core.utils.PromptBuilder;
 | 
			
		||||
 | 
			
		||||
public class AskPhi {
 | 
			
		||||
    public static void main(String[] args) throws Exception {
 | 
			
		||||
 | 
			
		||||
        String host = "http://localhost:11434/";
 | 
			
		||||
        OllamaAPI ollamaAPI = new OllamaAPI(host);
 | 
			
		||||
        ollamaAPI.setRequestTimeoutSeconds(10);
 | 
			
		||||
 | 
			
		||||
        String model = OllamaModelType.PHI;
 | 
			
		||||
 | 
			
		||||
        PromptBuilder promptBuilder =
 | 
			
		||||
                new PromptBuilder()
 | 
			
		||||
                        .addLine("You are an expert coder and understand different programming languages.")
 | 
			
		||||
                        .addLine("Given a question, answer ONLY with code.")
 | 
			
		||||
                        .addLine("Produce clean, formatted and indented code in markdown format.")
 | 
			
		||||
                        .addLine(
 | 
			
		||||
                                "DO NOT include ANY extra text apart from code. Follow this instruction very strictly!")
 | 
			
		||||
                        .addLine("If there's any additional information you want to add, use comments within code.")
 | 
			
		||||
                        .addLine("Answer only in the programming language that has been asked for.")
 | 
			
		||||
                        .addSeparator()
 | 
			
		||||
                        .addLine("Example: Sum 2 numbers in Python")
 | 
			
		||||
                        .addLine("Answer:")
 | 
			
		||||
                        .addLine("```python")
 | 
			
		||||
                        .addLine("def sum(num1: int, num2: int) -> int:")
 | 
			
		||||
                        .addLine("    return num1 + num2")
 | 
			
		||||
                        .addLine("```")
 | 
			
		||||
                        .addSeparator()
 | 
			
		||||
                        .add("How do I read a file in Go and print its contents to stdout?");
 | 
			
		||||
 | 
			
		||||
        OllamaResult response = ollamaAPI.ask(model, promptBuilder.build());
 | 
			
		||||
        System.out.println(response.getResponse());
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
You will get a response similar to:
 | 
			
		||||
 | 
			
		||||
```go
 | 
			
		||||
package main
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
    "fmt"
 | 
			
		||||
    "io/ioutil"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func readFile(fileName string) {
 | 
			
		||||
    file, err := ioutil.ReadFile(fileName)
 | 
			
		||||
    if err != nil {
 | 
			
		||||
        fmt.Fprintln(os.Stderr, "Error reading file:", err.Error())
 | 
			
		||||
        return
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    f, _ := ioutil.ReadFile("file.txt")
 | 
			
		||||
    if f != nil {
 | 
			
		||||
        fmt.Println(f.String())
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
		Reference in New Issue
	
	Block a user