1
1
package sttp .openai
2
2
3
+ import sttp .capabilities .Streams
3
4
import sttp .client4 ._
4
5
import sttp .model .{Header , Uri }
5
6
import sttp .openai .OpenAIExceptions .OpenAIException
@@ -12,47 +13,31 @@ import sttp.openai.json.SttpUpickleApiExtension.{
12
13
}
13
14
import sttp .openai .requests .assistants .AssistantsRequestBody .{CreateAssistantBody , ModifyAssistantBody }
14
15
import sttp .openai .requests .assistants .AssistantsResponseData .{AssistantData , DeleteAssistantResponse , ListAssistantsResponse }
16
+ import sttp .openai .requests .audio .AudioResponseData .AudioResponse
17
+ import sttp .openai .requests .audio .RecognitionModel
18
+ import sttp .openai .requests .audio .transcriptions .TranscriptionConfig
19
+ import sttp .openai .requests .audio .translations .TranslationConfig
15
20
import sttp .openai .requests .completions .CompletionsRequestBody .CompletionsBody
16
21
import sttp .openai .requests .completions .CompletionsResponseData .CompletionsResponse
17
22
import sttp .openai .requests .completions .chat .ChatRequestBody .ChatBody
18
23
import sttp .openai .requests .completions .chat .ChatRequestResponseData .ChatResponse
19
- import sttp .openai .requests .completions .edit .EditRequestBody .EditBody
20
- import sttp .openai .requests .completions .edit .EditRequestResponseData .EditResponse
21
24
import sttp .openai .requests .embeddings .EmbeddingsRequestBody .EmbeddingsBody
22
25
import sttp .openai .requests .embeddings .EmbeddingsResponseBody .EmbeddingResponse
23
26
import sttp .openai .requests .files .FilesResponseData ._
24
- import sttp .openai .requests .finetunes .FineTunesRequestBody
25
- import sttp .openai .requests .finetunes .FineTunesResponseData .{
26
- DeleteFineTuneModelResponse ,
27
- FineTuneEventsResponse ,
28
- FineTuneResponse ,
29
- GetFineTunesResponse
30
- }
31
27
import sttp .openai .requests .images .ImageResponseData .ImageResponse
32
28
import sttp .openai .requests .images .creation .ImageCreationRequestBody .ImageCreationBody
33
29
import sttp .openai .requests .images .edit .ImageEditsConfig
34
30
import sttp .openai .requests .images .variations .ImageVariationsConfig
35
31
import sttp .openai .requests .models .ModelsResponseData .{ModelData , ModelsResponse }
36
32
import sttp .openai .requests .moderations .ModerationsRequestBody .ModerationsBody
37
33
import sttp .openai .requests .moderations .ModerationsResponseData .ModerationData
38
- import sttp .openai .requests .audio .AudioResponseData .AudioResponse
39
- import sttp .openai .requests .audio .transcriptions .TranscriptionConfig
40
- import sttp .openai .requests .audio .translations .TranslationConfig
41
- import sttp .openai .requests .audio .RecognitionModel
42
- import sttp .capabilities .Streams
34
+ import sttp .openai .requests .threads .QueryParameters
43
35
import sttp .openai .requests .threads .ThreadsRequestBody .CreateThreadBody
44
36
import sttp .openai .requests .threads .ThreadsResponseData .{DeleteThreadResponse , ThreadData }
45
37
import sttp .openai .requests .threads .messages .ThreadMessagesRequestBody .CreateMessage
46
38
import sttp .openai .requests .threads .messages .ThreadMessagesResponseData .{ListMessagesResponse , MessageData }
47
- import sttp .openai .requests .threads .runs .ThreadRunsRequestBody .{
48
- CreateRun ,
49
- CreateThreadAndRun ,
50
- ModifyRun ,
51
- SubmitToolOutputsToRun ,
52
- ToolOutput
53
- }
39
+ import sttp .openai .requests .threads .runs .ThreadRunsRequestBody ._
54
40
import sttp .openai .requests .threads .runs .ThreadRunsResponseData .{ListRunStepsResponse , ListRunsResponse , RunData , RunStepData }
55
- import sttp .openai .requests .threads .QueryParameters
56
41
import sttp .openai .requests .vectorstore .VectorStoreRequestBody .{CreateVectorStoreBody , ModifyVectorStoreBody }
57
42
import sttp .openai .requests .vectorstore .VectorStoreResponseData .{DeleteVectorStoreResponse , ListVectorStoresResponse , VectorStore }
58
43
import sttp .openai .requests .vectorstore .file .VectorStoreFileRequestBody .{CreateVectorStoreFileBody , ListVectorStoreFilesBody }
@@ -96,6 +81,8 @@ class OpenAI(authToken: String, baseUri: Uri = OpenAIUris.OpenAIBaseUri) {
96
81
*
97
82
* @param completionBody
98
83
* Create completion request body.
84
+ * @deprecated
85
+ * This is marked as Legacy in OpenAI API and might be removed in the future. Please use createChatCompletion instead.
99
86
*/
100
87
def createCompletion (completionBody : CompletionsBody ): Request [Either [OpenAIException , CompletionsResponse ]] =
101
88
openAIAuthRequest
@@ -245,19 +232,6 @@ class OpenAI(authToken: String, baseUri: Uri = OpenAIUris.OpenAIBaseUri) {
245
232
}
246
233
.response(asJson_parseErrors[ImageResponse ])
247
234
248
- /** Creates a new edit for provided request body.
249
- *
250
- * [[https://platform.openai.com/docs/api-reference/edits/create ]]
251
- *
252
- * @param editRequestBody
253
- * Edit request body.
254
- */
255
- def createEdit (editRequestBody : EditBody ): Request [Either [OpenAIException , EditResponse ]] =
256
- openAIAuthRequest
257
- .post(openAIUris.Edits )
258
- .body(editRequestBody)
259
- .response(asJson_parseErrors[EditResponse ])
260
-
261
235
/** Creates a model response for the given chat conversation defined in chatBody.
262
236
*
263
237
* [[https://platform.openai.com/docs/api-reference/chat/create ]]
@@ -567,42 +541,6 @@ class OpenAI(authToken: String, baseUri: Uri = OpenAIUris.OpenAIBaseUri) {
567
541
}
568
542
.response(asJson_parseErrors[AudioResponse ])
569
543
570
- /** Creates a job that fine-tunes a specified model from a given dataset.
571
- *
572
- * [[https://platform.openai.com/docs/api-reference/fine-tunes/create ]]
573
- *
574
- * @param fineTunesRequestBody
575
- * Request body that will be used to create a fine-tune.
576
- */
577
- def createFineTune (
578
- fineTunesRequestBody : FineTunesRequestBody
579
- ): Request [Either [OpenAIException , FineTuneResponse ]] =
580
- openAIAuthRequest
581
- .post(openAIUris.FineTunes )
582
- .body(fineTunesRequestBody)
583
- .response(asJson_parseErrors[FineTuneResponse ])
584
-
585
- /** List of your organization's fine-tuning jobs.
586
- *
587
- * [[https://platform.openai.com/docs/api-reference/fine-tunes/list ]]
588
- */
589
- def getFineTunes : Request [Either [OpenAIException , GetFineTunesResponse ]] =
590
- openAIAuthRequest
591
- .get(openAIUris.FineTunes )
592
- .response(asJson_parseErrors[GetFineTunesResponse ])
593
-
594
- /** Immediately cancel a fine-tune job.
595
- *
596
- * [[https://platform.openai.com/docs/api-reference/fine-tunes/cancel ]]
597
- *
598
- * @param fineTuneId
599
- * The ID of the fine-tune job to cancel.
600
- */
601
- def cancelFineTune (fineTuneId : String ): Request [Either [OpenAIException , FineTuneResponse ]] =
602
- openAIAuthRequest
603
- .post(openAIUris.cancelFineTune(fineTuneId))
604
- .response(asJson_parseErrors[FineTuneResponse ])
605
-
606
544
/** Gets info about the fine-tune job.
607
545
*
608
546
* [[https://platform.openai.com/docs/api-reference/embeddings/create ]]
@@ -616,42 +554,6 @@ class OpenAI(authToken: String, baseUri: Uri = OpenAIUris.OpenAIBaseUri) {
616
554
.body(embeddingsBody)
617
555
.response(asJson_parseErrors[EmbeddingResponse ])
618
556
619
- /** Gets info about the fine-tune job.
620
- *
621
- * [[https://platform.openai.com/docs/api-reference/fine-tunes/retrieve ]]
622
- *
623
- * @param fineTuneId
624
- * The ID of the fine-tune job.
625
- */
626
- def retrieveFineTune (fineTuneId : String ): Request [Either [OpenAIException , FineTuneResponse ]] =
627
- openAIAuthRequest
628
- .get(openAIUris.fineTune(fineTuneId))
629
- .response(asJson_parseErrors[FineTuneResponse ])
630
-
631
- /** Delete a fine-tuned model. You must have the Owner role in your organization.
632
- *
633
- * [[https://platform.openai.com/docs/api-reference/fine-tunes/delete-model ]]
634
- *
635
- * @param model
636
- * The model to delete.
637
- */
638
- def deleteFineTuneModel (model : String ): Request [Either [OpenAIException , DeleteFineTuneModelResponse ]] =
639
- openAIAuthRequest
640
- .delete(openAIUris.fineTuneModel(model))
641
- .response(asJson_parseErrors[DeleteFineTuneModelResponse ])
642
-
643
- /** Get fine-grained status updates for a fine-tune job.
644
- *
645
- * [[https://platform.openai.com/docs/api-reference/fine-tunes/events ]]
646
- *
647
- * @param fineTuneId
648
- * The ID of the fine-tune job to get events for.
649
- */
650
- def getFineTuneEvents (fineTuneId : String ): Request [Either [OpenAIException , FineTuneEventsResponse ]] =
651
- openAIAuthRequest
652
- .get(openAIUris.fineTuneEvents(fineTuneId))
653
- .response(asJson_parseErrors[FineTuneEventsResponse ])
654
-
655
557
/** Create a thread.
656
558
*
657
559
* [[https://platform.openai.com/docs/api-reference/threads/createThread ]]
@@ -1129,11 +1031,9 @@ private class OpenAIUris(val baseUri: Uri) {
1129
1031
val ChatCompletions : Uri = uri " $baseUri/chat/completions "
1130
1032
val Completions : Uri = uri " $baseUri/completions "
1131
1033
val CreateImage : Uri = imageBase.addPath(" generations" )
1132
- val Edits : Uri = uri " $baseUri/edits "
1133
1034
val Embeddings : Uri = uri " $baseUri/embeddings "
1134
1035
val EditImage : Uri = imageBase.addPath(" edits" )
1135
1036
val Files : Uri = uri " $baseUri/files "
1136
- val FineTunes : Uri = uri " $baseUri/fine-tunes "
1137
1037
val Models : Uri = uri " $baseUri/models "
1138
1038
val Moderations : Uri = uri " $baseUri/moderations "
1139
1039
val Transcriptions : Uri = audioBase.addPath(" transcriptions" )
@@ -1145,12 +1045,8 @@ private class OpenAIUris(val baseUri: Uri) {
1145
1045
val ThreadsRuns : Uri = uri " $baseUri/threads/runs "
1146
1046
val VectorStores : Uri = uri " $baseUri/vector_stores "
1147
1047
1148
- def cancelFineTune (fineTuneId : String ): Uri = FineTunes .addPath(fineTuneId, " cancel" )
1149
1048
def file (fileId : String ): Uri = Files .addPath(fileId)
1150
1049
def fileContent (fileId : String ): Uri = Files .addPath(fileId, " content" )
1151
- def fineTuneModel (model : String ): Uri = Models .addPath(model)
1152
- def fineTuneEvents (fineTuneId : String ): Uri = FineTunes .addPath(fineTuneId, " events" )
1153
- def fineTune (fineTuneId : String ): Uri = FineTunes .addPath(fineTuneId)
1154
1050
def model (modelId : String ): Uri = Models .addPath(modelId)
1155
1051
1156
1052
def assistant (assistantId : String ): Uri = Assistants .addPath(assistantId)
0 commit comments