-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathOpenAiApiExample.java
71 lines (60 loc) · 2.72 KB
/
OpenAiApiExample.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
package example;
import io.github.panghy.openai.completion.CompletionRequest;
import io.github.panghy.openai.completion.chat.ChatCompletionRequest;
import io.github.panghy.openai.completion.chat.ChatCompletionResult;
import io.github.panghy.openai.completion.chat.ChatMessage;
import io.github.panghy.openai.completion.chat.ChatMessageRole;
import io.github.panghy.openai.image.CreateImageRequest;
import io.github.panghy.openai.service.OpenAiService;
import java.time.Duration;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
class OpenAiApiExample {
public static void main(String... args) {
String token = System.getenv("OPENAI_TOKEN");
OpenAiService service = new OpenAiService(token, Duration.ofSeconds(30));
System.out.println("\nCreating completion...");
CompletionRequest completionRequest = CompletionRequest.builder()
.model("babbage-002")
.prompt("Somebody once told me the world is gonna roll me")
.echo(true)
.user("testing")
.n(3)
.build();
service.createCompletion(completionRequest).getChoices().forEach(System.out::println);
System.out.println("\nCreating Image...");
CreateImageRequest request = CreateImageRequest.builder()
.prompt("A cow breakdancing with a turtle")
.build();
System.out.println("\nImage is located at:");
System.out.println(service.createImage(request).getData().get(0).getUrl());
System.out.println("Streaming chat completion...");
final List<ChatMessage> messages = new ArrayList<>();
final ChatMessage systemMessage = new ChatMessage(ChatMessageRole.SYSTEM.value(), "You are a dog and will speak as such.");
messages.add(systemMessage);
ChatCompletionRequest chatCompletionRequest = ChatCompletionRequest
.builder()
.model("gpt-3.5-turbo")
.messages(messages)
.n(1)
.maxTokens(50)
.logitBias(new HashMap<>())
.build();
service.streamChatCompletion(chatCompletionRequest)
.doOnError(Throwable::printStackTrace)
.blockingForEach(System.out::println);
chatCompletionRequest = ChatCompletionRequest
.builder()
.model("gpt-3.5-turbo")
.messages(messages)
.n(1)
.maxTokens(50)
.logprobs(true)
.topLogprobs(3)
.build();
ChatCompletionResult chatCompletion = service.createChatCompletion(chatCompletionRequest);
System.out.println(chatCompletion);
service.shutdownExecutor();
}
}