Skip to content

Commit 741113f

Browse files
committed
To distinguish between a vanilla chat completion call and a function_call one, a new message holder called FunMessageSpec was added. Also, Command renamed to EndPoint and Tag renamed to Param.
1 parent 943dda0 commit 741113f

File tree

10 files changed

+239
-209
lines changed

10 files changed

+239
-209
lines changed

openai-client-stream/src/main/scala/io/cequence/openaiscala/service/OpenAIServiceStreamedImpl.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ private trait OpenAIServiceStreamedExtraImpl extends OpenAIServiceStreamedExtra
3232
settings: CreateCompletionSettings
3333
): Source[TextCompletionResponse, NotUsed] =
3434
execJsonStreamAux(
35-
Command.completions,
35+
EndPoint.completions,
3636
"POST",
3737
bodyParams = createBodyParamsForCompletion(prompt, settings, stream = true)
3838
).map { (json: JsValue) =>
@@ -48,7 +48,7 @@ private trait OpenAIServiceStreamedExtraImpl extends OpenAIServiceStreamedExtra
4848
settings: CreateChatCompletionSettings = DefaultSettings.CreateChatCompletion
4949
): Source[ChatCompletionChunkResponse, NotUsed] =
5050
execJsonStreamAux(
51-
Command.chat_completions,
51+
EndPoint.chat_completions,
5252
"POST",
5353
bodyParams = createBodyParamsForChatCompletion(messages, settings, stream = true)
5454
).map { (json: JsValue) =>
@@ -63,11 +63,11 @@ private trait OpenAIServiceStreamedExtraImpl extends OpenAIServiceStreamedExtra
6363
fineTuneId: String
6464
): Source[FineTuneEvent, NotUsed] =
6565
execJsonStreamAux(
66-
Command.fine_tunes,
66+
EndPoint.fine_tunes,
6767
"GET",
6868
endPointParam = Some(s"$fineTuneId/events"),
6969
params = Seq(
70-
Tag.stream -> Some(true)
70+
Param.stream -> Some(true)
7171
)
7272
).map { json =>
7373
(json \ "error").toOption.map { error =>

openai-client/src/main/scala/io/cequence/openaiscala/JsonFormats.scala

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.cequence.openaiscala
22

33
import io.cequence.openaiscala.JsonUtil.JsonOps
4-
import io.cequence.openaiscala.domain.{ChatRole, FunctionSpec, MessageSpec, FunctionCallSpec}
4+
import io.cequence.openaiscala.domain.{ChatRole, FunMessageSpec, FunctionCallSpec, FunctionSpec, MessageSpec}
55

66
import java.{util => ju}
77
import io.cequence.openaiscala.domain.response._
@@ -39,9 +39,10 @@ object JsonFormats {
3939
}
4040
}
4141

42+
implicit val functionCallSpecFormat: Format[FunctionCallSpec] = Json.format[FunctionCallSpec]
4243
implicit val messageSpecFormat: Format[MessageSpec] = Json.format[MessageSpec]
44+
implicit val funMessageSpecFormat: Format[FunMessageSpec] = Json.format[FunMessageSpec]
4345
private implicit val stringAnyMapFormat: Format[Map[String, Any]] = JsonUtil.StringAnyMapFormat
44-
implicit val functionCallSpecFormat: Format[FunctionCallSpec] = Json.format[FunctionCallSpec]
4546
implicit val functionSpecFormat: Format[FunctionSpec] = Json.format[FunctionSpec]
4647
implicit val chatMessageFormat: Format[ChatMessage] = Json.format[ChatMessage]
4748
implicit val chatCompletionChoiceInfoFormat: Format[ChatCompletionChoiceInfo] = Json.format[ChatCompletionChoiceInfo]

openai-client/src/main/scala/io/cequence/openaiscala/service/Command.scala

Lines changed: 0 additions & 64 deletions
This file was deleted.
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
package io.cequence.openaiscala.service
2+
3+
import io.cequence.openaiscala.domain.EnumValue
4+
5+
sealed abstract class EndPoint(value: String = "") extends EnumValue(value)
6+
7+
object EndPoint extends Enumeration {
8+
case object models extends EndPoint
9+
case object completions extends EndPoint
10+
case object chat_completions extends EndPoint("chat/completions")
11+
case object edits extends EndPoint
12+
case object images_generations extends EndPoint("images/generations")
13+
case object images_edits extends EndPoint("images/edits")
14+
case object images_variations extends EndPoint("images/variations")
15+
case object embeddings extends EndPoint
16+
case object audio_transcriptions extends EndPoint("audio/transcriptions")
17+
case object audio_translations extends EndPoint("audio/translations")
18+
case object files extends EndPoint
19+
case object fine_tunes extends EndPoint("fine-tunes")
20+
case object moderations extends EndPoint
21+
}
22+
23+
sealed abstract class Param extends EnumValue()
24+
25+
object Param {
26+
case object model extends Param
27+
case object prompt extends Param
28+
case object suffix extends Param
29+
case object max_tokens extends Param
30+
case object temperature extends Param
31+
case object top_p extends Param
32+
case object n extends Param
33+
case object stream extends Param
34+
case object logprobs extends Param
35+
case object echo extends Param
36+
case object stop extends Param
37+
case object presence_penalty extends Param
38+
case object frequency_penalty extends Param
39+
case object best_of extends Param
40+
case object logit_bias extends Param
41+
case object user extends Param
42+
case object messages extends Param
43+
case object input extends Param
44+
case object image extends Param
45+
case object mask extends Param
46+
case object instruction extends Param
47+
case object size extends Param
48+
case object response_format extends Param
49+
case object file extends Param
50+
case object purpose extends Param
51+
case object training_file extends Param
52+
case object validation_file extends Param
53+
case object n_epochs extends Param
54+
case object batch_size extends Param
55+
case object learning_rate_multiplier extends Param
56+
case object prompt_loss_weight extends Param
57+
case object compute_classification_metrics extends Param
58+
case object classification_n_classes extends Param
59+
case object classification_positive_class extends Param
60+
case object classification_betas extends Param
61+
case object language extends Param
62+
case object functions extends Param
63+
case object function_call extends Param
64+
}

0 commit comments

Comments
 (0)