softwaremill / sttp-openai

Apache License 2.0
41 stars 9 forks source link

Redefine chat completion case classes #136

Closed DybekK closed 11 months ago

DybekK commented 11 months ago

This PR redefines case classes for Create chat completion to align with the latest OpenAI API.

guersam commented 11 months ago

In Scala 3, missing toolCalls causes a deserialization error when there are no tools:

OpenAISyncClient(secret).createChatCompletion(ChatBody(
  model = ChatCompletionModel.GPT4Turbo,
  messages = Seq(
    Message.UserMessage(
      content = Content.TextContent("Hello!")
    )
  )
))
Fail(sttp.openai.OpenAIExceptions$OpenAIException$DeserializationOpenAIException: missing keys in dictionary: toolCalls at index 352
guersam commented 11 months ago

Opened #137.