Skip to content

Commit 1a65445

Browse files
chore(client)!: move classes into subpackages and shorten names (#294)
1 parent 4453173 commit 1a65445

File tree

590 files changed

+4059
-4374
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

590 files changed

+4059
-4374
lines changed

README.md

+39-39
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@ See the [`openai-java-example`](openai-java-example/src/main/java/com/openai/exa
5151
```java
5252
import com.openai.client.OpenAIClient;
5353
import com.openai.client.okhttp.OpenAIOkHttpClient;
54-
import com.openai.models.ChatCompletion;
55-
import com.openai.models.ChatCompletionCreateParams;
5654
import com.openai.models.ChatModel;
55+
import com.openai.models.chat.completions.ChatCompletion;
56+
import com.openai.models.chat.completions.ChatCompletionCreateParams;
5757

5858
// Configures using the `OPENAI_API_KEY`, `OPENAI_ORG_ID` and `OPENAI_PROJECT_ID` environment variables
5959
OpenAIClient client = OpenAIOkHttpClient.fromEnv();
@@ -134,9 +134,9 @@ The default client is synchronous. To switch to asynchronous execution, call the
134134
```java
135135
import com.openai.client.OpenAIClient;
136136
import com.openai.client.okhttp.OpenAIOkHttpClient;
137-
import com.openai.models.ChatCompletion;
138-
import com.openai.models.ChatCompletionCreateParams;
139137
import com.openai.models.ChatModel;
138+
import com.openai.models.chat.completions.ChatCompletion;
139+
import com.openai.models.chat.completions.ChatCompletionCreateParams;
140140
import java.util.concurrent.CompletableFuture;
141141

142142
// 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:
154154
```java
155155
import com.openai.client.OpenAIClientAsync;
156156
import com.openai.client.okhttp.OpenAIOkHttpClientAsync;
157-
import com.openai.models.ChatCompletion;
158-
import com.openai.models.ChatCompletionCreateParams;
159157
import com.openai.models.ChatModel;
158+
import com.openai.models.chat.completions.ChatCompletion;
159+
import com.openai.models.chat.completions.ChatCompletionCreateParams;
160160
import java.util.concurrent.CompletableFuture;
161161

162162
// 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
181181

182182
```java
183183
import com.openai.core.http.StreamResponse;
184-
import com.openai.models.ChatCompletionChunk;
184+
import com.openai.models.chat.completions.ChatCompletionChunk;
185185

186186
try (StreamResponse<ChatCompletionChunk> streamResponse = client.chat().completions().createStreaming(params)) {
187187
streamResponse.stream().forEach(chunk -> {
@@ -195,7 +195,7 @@ Or [`AsyncStreamResponse`](openai-java-core/src/main/kotlin/com/openai/core/http
195195

196196
```java
197197
import com.openai.core.http.AsyncStreamResponse;
198-
import com.openai.models.ChatCompletionChunk;
198+
import com.openai.models.chat.completions.ChatCompletionChunk;
199199
import java.util.Optional;
200200

201201
client.async().chat().completions().createStreaming(params).subscribe(chunk -> {
@@ -270,9 +270,9 @@ The SDK defines methods that accept files.
270270
To upload a file, pass a [`Path`](https://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html):
271271

272272
```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;
276276
import java.nio.file.Paths;
277277

278278
FileCreateParams params = FileCreateParams.builder()
@@ -285,9 +285,9 @@ FileObject fileObject = client.files().create(params);
285285
Or an arbitrary [`InputStream`](https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html):
286286

287287
```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;
291291
import java.net.URL;
292292

293293
FileCreateParams params = FileCreateParams.builder()
@@ -300,9 +300,9 @@ FileObject fileObject = client.files().create(params);
300300
Or a `byte[]` array:
301301

302302
```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;
306306

307307
FileCreateParams params = FileCreateParams.builder()
308308
.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
315315

316316
```java
317317
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;
321321
import java.io.InputStream;
322322
import java.net.URL;
323323

@@ -339,7 +339,7 @@ These methods return [`HttpResponse`](openai-java-core/src/main/kotlin/com/opena
339339

340340
```java
341341
import com.openai.core.http.HttpResponse;
342-
import com.openai.models.FileContentParams;
342+
import com.openai.models.files.FileContentParams;
343343

344344
FileContentParams params = FileContentParams.builder()
345345
.fileId("file_id")
@@ -391,9 +391,9 @@ To access this data, prefix any HTTP method call on a client or service with `wi
391391
```java
392392
import com.openai.core.http.Headers;
393393
import com.openai.core.http.HttpResponseFor;
394-
import com.openai.models.ChatCompletion;
395-
import com.openai.models.ChatCompletionCreateParams;
396394
import com.openai.models.ChatModel;
395+
import com.openai.models.chat.completions.ChatCompletion;
396+
import com.openai.models.chat.completions.ChatCompletionCreateParams;
397397

398398
ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
399399
.addUserMessage("Say this is a test")
@@ -408,7 +408,7 @@ Headers headers = chatCompletion.headers();
408408
You can still deserialize the response into an instance of a Java class if needed:
409409

410410
```java
411-
import com.openai.models.ChatCompletion;
411+
import com.openai.models.chat.completions.ChatCompletion;
412412

413413
ChatCompletion parsedChatCompletion = chatCompletion.parse();
414414
```
@@ -447,11 +447,11 @@ To iterate through all results across all pages, you can use `autoPager`, which
447447
### Synchronous
448448

449449
```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;
452452

453453
// As an Iterable:
454-
FineTuningJobListPage page = client.fineTuning().jobs().list(params);
454+
JobListPage page = client.fineTuning().jobs().list(params);
455455
for (FineTuningJob job : page.autoPager()) {
456456
System.out.println(job);
457457
};
@@ -475,10 +475,10 @@ asyncClient.fineTuning().jobs().list(params).autoPager()
475475
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.
476476

477477
```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;
480480

481-
FineTuningJobListPage page = client.fineTuning().jobs().list(params);
481+
JobListPage page = client.fineTuning().jobs().list(params);
482482
while (page != null) {
483483
for (FineTuningJob job : page.data()) {
484484
System.out.println(job);
@@ -556,9 +556,9 @@ Requests time out after 10 minutes by default.
556556
To set a custom timeout, configure the method call using the `timeout` method:
557557

558558
```java
559-
import com.openai.models.ChatCompletion;
560-
import com.openai.models.ChatCompletionCreateParams;
561559
import com.openai.models.ChatModel;
560+
import com.openai.models.chat.completions.ChatCompletion;
561+
import com.openai.models.chat.completions.ChatCompletionCreateParams;
562562

563563
ChatCompletion chatCompletion = client.chat().completions().create(
564564
params, RequestOptions.builder().timeout(Duration.ofSeconds(30)).build()
@@ -608,7 +608,7 @@ To set undocumented parameters, call the `putAdditionalHeader`, `putAdditionalQu
608608

609609
```java
610610
import com.openai.core.JsonValue;
611-
import com.openai.models.ChatCompletionCreateParams;
611+
import com.openai.models.chat.completions.ChatCompletionCreateParams;
612612

613613
ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
614614
.putAdditionalHeader("Secret-Header", "42")
@@ -623,7 +623,7 @@ To set undocumented parameters on _nested_ headers, query params, or body classe
623623

624624
```java
625625
import com.openai.core.JsonValue;
626-
import com.openai.models.ChatCompletionCreateParams;
626+
import com.openai.models.chat.completions.ChatCompletionCreateParams;
627627

628628
ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
629629
.responseFormat(ChatCompletionCreateParams.ResponseFormat.builder()
@@ -638,7 +638,7 @@ To set a documented parameter or property to an undocumented or not yet supporte
638638

639639
```java
640640
import com.openai.core.JsonValue;
641-
import com.openai.models.ChatCompletionCreateParams;
641+
import com.openai.models.chat.completions.ChatCompletionCreateParams;
642642

643643
ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
644644
.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
721721

722722
```java
723723
import com.openai.core.JsonField;
724-
import com.openai.models.ChatCompletionMessageParam;
724+
import com.openai.models.chat.completions.ChatCompletionMessageParam;
725725
import java.util.Optional;
726726

727727
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
749749
If you would prefer to check that the response is completely well-typed upfront, then either call `validate()`:
750750

751751
```java
752-
import com.openai.models.ChatCompletion;
752+
import com.openai.models.chat.completions.ChatCompletion;
753753

754754
ChatCompletion chatCompletion = client.chat().completions().create(params).validate();
755755
```
756756

757757
Or configure the method call to validate the response using the `responseValidation` method:
758758

759759
```java
760-
import com.openai.models.ChatCompletion;
761-
import com.openai.models.ChatCompletionCreateParams;
762760
import com.openai.models.ChatModel;
761+
import com.openai.models.chat.completions.ChatCompletion;
762+
import com.openai.models.chat.completions.ChatCompletionCreateParams;
763763

764764
ChatCompletion chatCompletion = client.chat().completions().create(
765765
params, RequestOptions.builder().responseValidation(true).build()

openai-java-core/src/main/kotlin/com/openai/models/AudioModel.kt renamed to openai-java-core/src/main/kotlin/com/openai/models/audio/AudioModel.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// File generated from our OpenAPI spec by Stainless.
22

3-
package com.openai.models
3+
package com.openai.models.audio
44

55
import com.fasterxml.jackson.annotation.JsonCreator
66
import com.openai.core.Enum

openai-java-core/src/main/kotlin/com/openai/models/AudioResponseFormat.kt renamed to openai-java-core/src/main/kotlin/com/openai/models/audio/AudioResponseFormat.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// File generated from our OpenAPI spec by Stainless.
22

3-
package com.openai.models
3+
package com.openai.models.audio
44

55
import com.fasterxml.jackson.annotation.JsonCreator
66
import com.openai.core.Enum

openai-java-core/src/main/kotlin/com/openai/models/AudioSpeechCreateParams.kt renamed to openai-java-core/src/main/kotlin/com/openai/models/audio/speech/SpeechCreateParams.kt

+12-12
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// File generated from our OpenAPI spec by Stainless.
22

3-
package com.openai.models
3+
package com.openai.models.audio.speech
44

55
import com.fasterxml.jackson.annotation.JsonAnyGetter
66
import com.fasterxml.jackson.annotation.JsonAnySetter
@@ -23,7 +23,7 @@ import java.util.Objects
2323
import java.util.Optional
2424

2525
/** Generates audio from the input text. */
26-
class AudioSpeechCreateParams
26+
class SpeechCreateParams
2727
private constructor(
2828
private val body: Body,
2929
private val additionalHeaders: Headers,
@@ -356,7 +356,7 @@ private constructor(
356356
companion object {
357357

358358
/**
359-
* Returns a mutable builder for constructing an instance of [AudioSpeechCreateParams].
359+
* Returns a mutable builder for constructing an instance of [SpeechCreateParams].
360360
*
361361
* The following fields are required:
362362
* ```java
@@ -368,7 +368,7 @@ private constructor(
368368
@JvmStatic fun builder() = Builder()
369369
}
370370

371-
/** A builder for [AudioSpeechCreateParams]. */
371+
/** A builder for [SpeechCreateParams]. */
372372
@NoAutoDetect
373373
class Builder internal constructor() {
374374

@@ -377,10 +377,10 @@ private constructor(
377377
private var additionalQueryParams: QueryParams.Builder = QueryParams.builder()
378378

379379
@JvmSynthetic
380-
internal fun from(audioSpeechCreateParams: AudioSpeechCreateParams) = apply {
381-
body = audioSpeechCreateParams.body.toBuilder()
382-
additionalHeaders = audioSpeechCreateParams.additionalHeaders.toBuilder()
383-
additionalQueryParams = audioSpeechCreateParams.additionalQueryParams.toBuilder()
380+
internal fun from(speechCreateParams: SpeechCreateParams) = apply {
381+
body = speechCreateParams.body.toBuilder()
382+
additionalHeaders = speechCreateParams.additionalHeaders.toBuilder()
383+
additionalQueryParams = speechCreateParams.additionalQueryParams.toBuilder()
384384
}
385385

386386
/** The text to generate audio for. The maximum length is 4096 characters. */
@@ -568,8 +568,8 @@ private constructor(
568568
additionalQueryParams.removeAll(keys)
569569
}
570570

571-
fun build(): AudioSpeechCreateParams =
572-
AudioSpeechCreateParams(
571+
fun build(): SpeechCreateParams =
572+
SpeechCreateParams(
573573
body.build(),
574574
additionalHeaders.build(),
575575
additionalQueryParams.build(),
@@ -856,11 +856,11 @@ private constructor(
856856
return true
857857
}
858858

859-
return /* spotless:off */ other is AudioSpeechCreateParams && body == other.body && additionalHeaders == other.additionalHeaders && additionalQueryParams == other.additionalQueryParams /* spotless:on */
859+
return /* spotless:off */ other is SpeechCreateParams && body == other.body && additionalHeaders == other.additionalHeaders && additionalQueryParams == other.additionalQueryParams /* spotless:on */
860860
}
861861

862862
override fun hashCode(): Int = /* spotless:off */ Objects.hash(body, additionalHeaders, additionalQueryParams) /* spotless:on */
863863

864864
override fun toString() =
865-
"AudioSpeechCreateParams{body=$body, additionalHeaders=$additionalHeaders, additionalQueryParams=$additionalQueryParams}"
865+
"SpeechCreateParams{body=$body, additionalHeaders=$additionalHeaders, additionalQueryParams=$additionalQueryParams}"
866866
}

openai-java-core/src/main/kotlin/com/openai/models/SpeechModel.kt renamed to openai-java-core/src/main/kotlin/com/openai/models/audio/speech/SpeechModel.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// File generated from our OpenAPI spec by Stainless.
22

3-
package com.openai.models
3+
package com.openai.models.audio.speech
44

55
import com.fasterxml.jackson.annotation.JsonCreator
66
import com.openai.core.Enum

openai-java-core/src/main/kotlin/com/openai/models/Transcription.kt renamed to openai-java-core/src/main/kotlin/com/openai/models/audio/transcriptions/Transcription.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// File generated from our OpenAPI spec by Stainless.
22

3-
package com.openai.models
3+
package com.openai.models.audio.transcriptions
44

55
import com.fasterxml.jackson.annotation.JsonAnyGetter
66
import com.fasterxml.jackson.annotation.JsonAnySetter

0 commit comments

Comments
 (0)