@@ -51,9 +51,9 @@ See the [`openai-java-example`](openai-java-example/src/main/java/com/openai/exa
51
51
``` java
52
52
import com.openai.client.OpenAIClient ;
53
53
import com.openai.client.okhttp.OpenAIOkHttpClient ;
54
- import com.openai.models.ChatCompletion ;
55
- import com.openai.models.ChatCompletionCreateParams ;
56
54
import com.openai.models.ChatModel ;
55
+ import com.openai.models.chat.completions.ChatCompletion ;
56
+ import com.openai.models.chat.completions.ChatCompletionCreateParams ;
57
57
58
58
// Configures using the `OPENAI_API_KEY`, `OPENAI_ORG_ID` and `OPENAI_PROJECT_ID` environment variables
59
59
OpenAIClient client = OpenAIOkHttpClient . fromEnv();
@@ -134,9 +134,9 @@ The default client is synchronous. To switch to asynchronous execution, call the
134
134
``` java
135
135
import com.openai.client.OpenAIClient ;
136
136
import com.openai.client.okhttp.OpenAIOkHttpClient ;
137
- import com.openai.models.ChatCompletion ;
138
- import com.openai.models.ChatCompletionCreateParams ;
139
137
import com.openai.models.ChatModel ;
138
+ import com.openai.models.chat.completions.ChatCompletion ;
139
+ import com.openai.models.chat.completions.ChatCompletionCreateParams ;
140
140
import java.util.concurrent.CompletableFuture ;
141
141
142
142
// Configures using the `OPENAI_API_KEY`, `OPENAI_ORG_ID` and `OPENAI_PROJECT_ID` environment variables
@@ -154,9 +154,9 @@ Or create an asynchronous client from the beginning:
154
154
``` java
155
155
import com.openai.client.OpenAIClientAsync ;
156
156
import com.openai.client.okhttp.OpenAIOkHttpClientAsync ;
157
- import com.openai.models.ChatCompletion ;
158
- import com.openai.models.ChatCompletionCreateParams ;
159
157
import com.openai.models.ChatModel ;
158
+ import com.openai.models.chat.completions.ChatCompletion ;
159
+ import com.openai.models.chat.completions.ChatCompletionCreateParams ;
160
160
import java.util.concurrent.CompletableFuture ;
161
161
162
162
// Configures using the `OPENAI_API_KEY`, `OPENAI_ORG_ID` and `OPENAI_PROJECT_ID` environment variables
@@ -181,7 +181,7 @@ These streaming methods return [`StreamResponse`](openai-java-core/src/main/kotl
181
181
182
182
``` java
183
183
import com.openai.core.http.StreamResponse ;
184
- import com.openai.models.ChatCompletionChunk ;
184
+ import com.openai.models.chat.completions. ChatCompletionChunk ;
185
185
186
186
try (StreamResponse<ChatCompletionChunk > streamResponse = client. chat(). completions(). createStreaming(params)) {
187
187
streamResponse. stream(). forEach(chunk - > {
@@ -195,7 +195,7 @@ Or [`AsyncStreamResponse`](openai-java-core/src/main/kotlin/com/openai/core/http
195
195
196
196
``` java
197
197
import com.openai.core.http.AsyncStreamResponse ;
198
- import com.openai.models.ChatCompletionChunk ;
198
+ import com.openai.models.chat.completions. ChatCompletionChunk ;
199
199
import java.util.Optional ;
200
200
201
201
client. async(). chat(). completions(). createStreaming(params). subscribe(chunk - > {
@@ -270,9 +270,9 @@ The SDK defines methods that accept files.
270
270
To upload a file, pass a [ ` Path ` ] ( https://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html ) :
271
271
272
272
``` java
273
- import com.openai.models.FileCreateParams ;
274
- import com.openai.models.FileObject ;
275
- import com.openai.models.FilePurpose ;
273
+ import com.openai.models.files. FileCreateParams ;
274
+ import com.openai.models.files. FileObject ;
275
+ import com.openai.models.files. FilePurpose ;
276
276
import java.nio.file.Paths ;
277
277
278
278
FileCreateParams params = FileCreateParams . builder()
@@ -285,9 +285,9 @@ FileObject fileObject = client.files().create(params);
285
285
Or an arbitrary [ ` InputStream ` ] ( https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html ) :
286
286
287
287
``` java
288
- import com.openai.models.FileCreateParams ;
289
- import com.openai.models.FileObject ;
290
- import com.openai.models.FilePurpose ;
288
+ import com.openai.models.files. FileCreateParams ;
289
+ import com.openai.models.files. FileObject ;
290
+ import com.openai.models.files. FilePurpose ;
291
291
import java.net.URL ;
292
292
293
293
FileCreateParams params = FileCreateParams . builder()
@@ -300,9 +300,9 @@ FileObject fileObject = client.files().create(params);
300
300
Or a ` byte[] ` array:
301
301
302
302
``` java
303
- import com.openai.models.FileCreateParams ;
304
- import com.openai.models.FileObject ;
305
- import com.openai.models.FilePurpose ;
303
+ import com.openai.models.files. FileCreateParams ;
304
+ import com.openai.models.files. FileObject ;
305
+ import com.openai.models.files. FilePurpose ;
306
306
307
307
FileCreateParams params = FileCreateParams . builder()
308
308
.purpose(FilePurpose . FINE_TUNE )
@@ -315,9 +315,9 @@ Note that when passing a non-`Path` its filename is unknown so it will not be in
315
315
316
316
``` java
317
317
import com.openai.core.MultipartField ;
318
- import com.openai.models.FileCreateParams ;
319
- import com.openai.models.FileObject ;
320
- import com.openai.models.FilePurpose ;
318
+ import com.openai.models.files. FileCreateParams ;
319
+ import com.openai.models.files. FileObject ;
320
+ import com.openai.models.files. FilePurpose ;
321
321
import java.io.InputStream ;
322
322
import java.net.URL ;
323
323
@@ -339,7 +339,7 @@ These methods return [`HttpResponse`](openai-java-core/src/main/kotlin/com/opena
339
339
340
340
``` java
341
341
import com.openai.core.http.HttpResponse ;
342
- import com.openai.models.FileContentParams ;
342
+ import com.openai.models.files. FileContentParams ;
343
343
344
344
FileContentParams params = FileContentParams . builder()
345
345
.fileId(" file_id" )
@@ -391,9 +391,9 @@ To access this data, prefix any HTTP method call on a client or service with `wi
391
391
``` java
392
392
import com.openai.core.http.Headers ;
393
393
import com.openai.core.http.HttpResponseFor ;
394
- import com.openai.models.ChatCompletion ;
395
- import com.openai.models.ChatCompletionCreateParams ;
396
394
import com.openai.models.ChatModel ;
395
+ import com.openai.models.chat.completions.ChatCompletion ;
396
+ import com.openai.models.chat.completions.ChatCompletionCreateParams ;
397
397
398
398
ChatCompletionCreateParams params = ChatCompletionCreateParams . builder()
399
399
.addUserMessage(" Say this is a test" )
@@ -408,7 +408,7 @@ Headers headers = chatCompletion.headers();
408
408
You can still deserialize the response into an instance of a Java class if needed:
409
409
410
410
``` java
411
- import com.openai.models.ChatCompletion ;
411
+ import com.openai.models.chat.completions. ChatCompletion ;
412
412
413
413
ChatCompletion parsedChatCompletion = chatCompletion. parse();
414
414
```
@@ -447,11 +447,11 @@ To iterate through all results across all pages, you can use `autoPager`, which
447
447
### Synchronous
448
448
449
449
``` java
450
- import com.openai.models.FineTuningJob ;
451
- import com.openai.models.FineTuningJobListPage ;
450
+ import com.openai.models.finetuning.jobs. FineTuningJob ;
451
+ import com.openai.models.finetuning.jobs.JobListPage ;
452
452
453
453
// As an Iterable:
454
- FineTuningJobListPage page = client. fineTuning(). jobs(). list(params);
454
+ JobListPage page = client. fineTuning(). jobs(). list(params);
455
455
for (FineTuningJob job : page. autoPager()) {
456
456
System . out. println(job);
457
457
};
@@ -475,10 +475,10 @@ asyncClient.fineTuning().jobs().list(params).autoPager()
475
475
If none of the above helpers meet your needs, you can also manually request pages one-by-one. A page of results has a ` data() ` method to fetch the list of objects, as well as top-level ` response ` and other methods to fetch top-level data about the page. It also has methods ` hasNextPage ` , ` getNextPage ` , and ` getNextPageParams ` methods to help with pagination.
476
476
477
477
``` java
478
- import com.openai.models.FineTuningJob ;
479
- import com.openai.models.FineTuningJobListPage ;
478
+ import com.openai.models.finetuning.jobs. FineTuningJob ;
479
+ import com.openai.models.finetuning.jobs.JobListPage ;
480
480
481
- FineTuningJobListPage page = client. fineTuning(). jobs(). list(params);
481
+ JobListPage page = client. fineTuning(). jobs(). list(params);
482
482
while (page != null ) {
483
483
for (FineTuningJob job : page. data()) {
484
484
System . out. println(job);
@@ -556,9 +556,9 @@ Requests time out after 10 minutes by default.
556
556
To set a custom timeout, configure the method call using the ` timeout ` method:
557
557
558
558
``` java
559
- import com.openai.models.ChatCompletion ;
560
- import com.openai.models.ChatCompletionCreateParams ;
561
559
import com.openai.models.ChatModel ;
560
+ import com.openai.models.chat.completions.ChatCompletion ;
561
+ import com.openai.models.chat.completions.ChatCompletionCreateParams ;
562
562
563
563
ChatCompletion chatCompletion = client. chat(). completions(). create(
564
564
params, RequestOptions . builder(). timeout(Duration . ofSeconds(30 )). build()
@@ -608,7 +608,7 @@ To set undocumented parameters, call the `putAdditionalHeader`, `putAdditionalQu
608
608
609
609
``` java
610
610
import com.openai.core.JsonValue ;
611
- import com.openai.models.ChatCompletionCreateParams ;
611
+ import com.openai.models.chat.completions. ChatCompletionCreateParams ;
612
612
613
613
ChatCompletionCreateParams params = ChatCompletionCreateParams . builder()
614
614
.putAdditionalHeader(" Secret-Header" , " 42" )
@@ -623,7 +623,7 @@ To set undocumented parameters on _nested_ headers, query params, or body classe
623
623
624
624
``` java
625
625
import com.openai.core.JsonValue ;
626
- import com.openai.models.ChatCompletionCreateParams ;
626
+ import com.openai.models.chat.completions. ChatCompletionCreateParams ;
627
627
628
628
ChatCompletionCreateParams params = ChatCompletionCreateParams . builder()
629
629
.responseFormat(ChatCompletionCreateParams . ResponseFormat . builder()
@@ -638,7 +638,7 @@ To set a documented parameter or property to an undocumented or not yet supporte
638
638
639
639
``` java
640
640
import com.openai.core.JsonValue ;
641
- import com.openai.models.ChatCompletionCreateParams ;
641
+ import com.openai.models.chat.completions. ChatCompletionCreateParams ;
642
642
643
643
ChatCompletionCreateParams params = ChatCompletionCreateParams . builder()
644
644
.addUserMessage(" Say this is a test" )
@@ -721,7 +721,7 @@ To access a property's raw JSON value, which may be undocumented, call its `_` p
721
721
722
722
``` java
723
723
import com.openai.core.JsonField ;
724
- import com.openai.models.ChatCompletionMessageParam ;
724
+ import com.openai.models.chat.completions. ChatCompletionMessageParam ;
725
725
import java.util.Optional ;
726
726
727
727
JsonField<List<ChatCompletionMessageParam > > messages = client. chat(). completions(). create(params). _messages();
@@ -749,17 +749,17 @@ By default, the SDK will not throw an exception in this case. It will throw [`Op
749
749
If you would prefer to check that the response is completely well-typed upfront, then either call ` validate() ` :
750
750
751
751
``` java
752
- import com.openai.models.ChatCompletion ;
752
+ import com.openai.models.chat.completions. ChatCompletion ;
753
753
754
754
ChatCompletion chatCompletion = client. chat(). completions(). create(params). validate();
755
755
```
756
756
757
757
Or configure the method call to validate the response using the ` responseValidation ` method:
758
758
759
759
``` java
760
- import com.openai.models.ChatCompletion ;
761
- import com.openai.models.ChatCompletionCreateParams ;
762
760
import com.openai.models.ChatModel ;
761
+ import com.openai.models.chat.completions.ChatCompletion ;
762
+ import com.openai.models.chat.completions.ChatCompletionCreateParams ;
763
763
764
764
ChatCompletion chatCompletion = client. chat(). completions(). create(
765
765
params, RequestOptions . builder(). responseValidation(true ). build()
0 commit comments