Add builders to request objects

This is so much nicer
This commit is contained in:
Theo Kanning 2020-10-05 17:41:16 -05:00
parent 44ad76258c
commit d15dc718c2
4 changed files with 29 additions and 11 deletions

View File

@ -2,8 +2,8 @@
Java libraries for using OpenAI's GPT-3 api.
Includes the following artifacts:
- api : request/response POJOs for the GPT-3 engine, completion, and search APIs.
- client : a basic retrofit client for the GPT-3 endpoints
- `api` : request/response POJOs for the GPT-3 engine, completion, and search APIs.
- `client` : a basic retrofit client for the GPT-3 endpoints
as well as an example project using the client.
@ -12,9 +12,10 @@ as well as an example project using the client.
If you're looking for the fastest solution, import the `client` and use [OpenAiService](client/src/main/java/openai/OpenAiService.java).
```
OpenAiService service = new OpenAiService(your_token)
CompletionRequest completionRequest = new CompletionRequest();
completionRequest.setPrompt("Somebody once told me the world is gonna roll me");
completionRequest.setEcho(true);
CompletionRequest completionRequest = CompletionRequest.builder()
.prompt("Somebody once told me the world is gonna roll me")
.echo(true)
.build();
service.createCompletion("ada", completionRequest).getChoices().forEach(System.out::println);
```

View File

@ -1,6 +1,9 @@
package openai.completion;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@ -11,8 +14,12 @@ import java.util.List;
* Documentation taken from
* https://beta.openai.com/docs/api-reference/create-completion
*/
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Data
public class CompletionRequest {
/**
* An optional prompt to complete from
*/

View File

@ -1,6 +1,9 @@
package openai.search;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@ -11,8 +14,12 @@ import java.util.List;
*
* https://beta.openai.com/docs/api-reference/search
*/
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Data
public class SearchRequest {
/**
* Documents to search over
*/

View File

@ -20,15 +20,18 @@ class OpenAiApiExample {
System.out.println(ada);
System.out.println("\nCreating completion...");
CompletionRequest completionRequest = new CompletionRequest();
completionRequest.setPrompt("Somebody once told me the world is gonna roll me");
completionRequest.setEcho(true);
CompletionRequest completionRequest = CompletionRequest.builder()
.prompt("Somebody once told me the world is gonna roll me")
.echo(true)
.build();
service.createCompletion("ada", completionRequest).getChoices().forEach(System.out::println);
System.out.println("\nSearching documents...");
SearchRequest searchRequest = new SearchRequest();
searchRequest.setDocuments(Arrays.asList("Water", "Earth", "Electricity", "Fire"));
searchRequest.setQuery("Pikachu");
SearchRequest searchRequest = SearchRequest.builder()
.documents(Arrays.asList("Water", "Earth", "Electricity", "Fire"))
.query("Pikachu")
.build();
service.search("ada", searchRequest).forEach(System.out::println);
}
}