File tree Expand file tree Collapse file tree 5 files changed +139
-0
lines changed
openai-java-example/src/main/java/com/openai/example Expand file tree Collapse file tree 5 files changed +139
-0
lines changed Original file line number Diff line number Diff line change @@ -48,6 +48,27 @@ This library requires Java 8 or later.
4848
4949See the [ ` openai-java-example ` ] ( openai-java-example/src/main/java/com/openai/example ) directory for complete and runnable examples.
5050
51+ The primary API for interacting with OpenAI models is the [ Responses API] ( https://platform.openai.com/docs/api-reference/responses ) . You can generate text from the model with the code below.
52+
53+ ``` java
54+ import com.openai.client.OpenAIClient ;
55+ import com.openai.client.okhttp.OpenAIOkHttpClient ;
56+ import com.openai.models.ChatModel ;
57+ import com.openai.models.responses.Response ;
58+ import com.openai.models.responses.ResponseCreateParams ;
59+
60+ // Configures using the `OPENAI_API_KEY`, `OPENAI_ORG_ID` and `OPENAI_PROJECT_ID` environment variables
61+ OpenAIClient client = OpenAIOkHttpClient . fromEnv();
62+
63+ ResponseCreateParams params = ResponseCreateParams . builder()
64+ .input(" Say this is a test" )
65+ .model(ChatModel . GPT_4O )
66+ .build();
67+ Response response = client. responses(). create(params);
68+ ```
69+
70+ The previous standard (supported indefinitely) for generating text is the [ Chat Completions API] ( https://platform.openai.com/docs/api-reference/chat ) . You can use that API to generate text from the model with the code below.
71+
5172``` java
5273import com.openai.client.OpenAIClient ;
5374import com.openai.client.okhttp.OpenAIOkHttpClient ;
Original file line number Diff line number Diff line change 1+ package com .openai .example ;
2+
3+ import com .openai .client .OpenAIClientAsync ;
4+ import com .openai .client .okhttp .OpenAIOkHttpClientAsync ;
5+ import com .openai .models .ChatModel ;
6+ import com .openai .models .responses .ResponseCreateParams ;
7+
8+ public final class ResponsesAsyncExample {
9+ private ResponsesAsyncExample () {}
10+
11+ public static void main (String [] args ) {
12+ // Configures using one of:
13+ // - The `OPENAI_API_KEY` environment variable
14+ // - The `AZURE_OPENAI_ENDPOINT` and `AZURE_OPENAI_KEY` environment variables
15+ OpenAIClientAsync client = OpenAIOkHttpClientAsync .fromEnv ();
16+
17+ ResponseCreateParams createParams = ResponseCreateParams .builder ()
18+ .input ("Tell me a story about building the best SDK!" )
19+ .model (ChatModel .GPT_4O )
20+ .build ();
21+
22+ client .responses ()
23+ .create (createParams )
24+ .thenAccept (response -> response .output ().stream ()
25+ .flatMap (item -> item .message ().stream ())
26+ .flatMap (message -> message .content ().stream ())
27+ .flatMap (content -> content .outputText ().stream ())
28+ .forEach (outputText -> System .out .println (outputText .text ())))
29+ .join ();
30+ }
31+ }
Original file line number Diff line number Diff line change 1+ package com .openai .example ;
2+
3+ import com .openai .client .OpenAIClient ;
4+ import com .openai .client .okhttp .OpenAIOkHttpClient ;
5+ import com .openai .models .ChatModel ;
6+ import com .openai .models .responses .ResponseCreateParams ;
7+
8+ public final class ResponsesExample {
9+ private ResponsesExample () {}
10+
11+ public static void main (String [] args ) {
12+ // Configures using one of:
13+ // - The `OPENAI_API_KEY` environment variable
14+ // - The `AZURE_OPENAI_ENDPOINT` and `AZURE_OPENAI_KEY` environment variables
15+ OpenAIClient client = OpenAIOkHttpClient .fromEnv ();
16+
17+ ResponseCreateParams createParams = ResponseCreateParams .builder ()
18+ .input ("Tell me a story about building the best SDK!" )
19+ .model (ChatModel .GPT_4O )
20+ .build ();
21+
22+ client .responses ().create (createParams ).output ().stream ()
23+ .flatMap (item -> item .message ().stream ())
24+ .flatMap (message -> message .content ().stream ())
25+ .flatMap (content -> content .outputText ().stream ())
26+ .forEach (outputText -> System .out .println (outputText .text ()));
27+ }
28+ }
Original file line number Diff line number Diff line change 1+ package com .openai .example ;
2+
3+ import com .openai .client .OpenAIClientAsync ;
4+ import com .openai .client .okhttp .OpenAIOkHttpClientAsync ;
5+ import com .openai .models .ChatModel ;
6+ import com .openai .models .responses .ResponseCreateParams ;
7+
8+ public final class ResponsesStreamingAsyncExample {
9+ private ResponsesStreamingAsyncExample () {}
10+
11+ public static void main (String [] args ) {
12+ // Configures using one of:
13+ // - The `OPENAI_API_KEY` environment variable
14+ // - The `AZURE_OPENAI_ENDPOINT` and `AZURE_OPENAI_KEY` environment variables
15+ OpenAIClientAsync client = OpenAIOkHttpClientAsync .fromEnv ();
16+
17+ ResponseCreateParams createParams = ResponseCreateParams .builder ()
18+ .input ("Tell me a story about building the best SDK!" )
19+ .model (ChatModel .GPT_4O )
20+ .build ();
21+
22+ client .responses ()
23+ .createStreaming (createParams )
24+ .subscribe (event -> event .outputTextDelta ().ifPresent (textEvent -> System .out .print (textEvent .delta ())))
25+ .onCompleteFuture ()
26+ .join ();
27+ }
28+ }
Original file line number Diff line number Diff line change 1+ package com .openai .example ;
2+
3+ import com .openai .client .OpenAIClient ;
4+ import com .openai .client .okhttp .OpenAIOkHttpClient ;
5+ import com .openai .core .http .StreamResponse ;
6+ import com .openai .models .ChatModel ;
7+ import com .openai .models .responses .ResponseCreateParams ;
8+ import com .openai .models .responses .ResponseStreamEvent ;
9+
10+ public final class ResponsesStreamingExample {
11+ private ResponsesStreamingExample () {}
12+
13+ public static void main (String [] args ) {
14+ // Configures using one of:
15+ // - The `OPENAI_API_KEY` environment variable
16+ // - The `AZURE_OPENAI_ENDPOINT` and `AZURE_OPENAI_KEY` environment variables
17+ OpenAIClient client = OpenAIOkHttpClient .fromEnv ();
18+
19+ ResponseCreateParams createParams = ResponseCreateParams .builder ()
20+ .input ("Tell me a story about building the best SDK!" )
21+ .model (ChatModel .GPT_4O )
22+ .build ();
23+
24+ try (StreamResponse <ResponseStreamEvent > streamResponse =
25+ client .responses ().createStreaming (createParams )) {
26+ streamResponse .stream ()
27+ .flatMap (event -> event .outputTextDelta ().stream ())
28+ .forEach (textEvent -> System .out .print (textEvent .delta ()));
29+ }
30+ }
31+ }
You can’t perform that action at this time.
0 commit comments