Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Completions are no longer work] #284

Closed
AndraxDev opened this issue Dec 15, 2023 · 2 comments · Fixed by #285
Closed

[Completions are no longer work] #284

AndraxDev opened this issue Dec 15, 2023 · 2 comments · Fixed by #285

Comments

@AndraxDev
Copy link
Contributor

AndraxDev commented Dec 15, 2023

Description

Completions are no longer work

Steps to Reproduce

val completions: Flow<TextCompletion> = ai!!.completions(completionRequest)
completions.collect { v ->
    run {
        if (v.choices[0].text != "null") {
            response += v.choices[0].text
            messages[messages.size - 1]["message"] = "$response"
            adapter?.notifyDataSetChanged()
        }
    }
}

Environment

  • openai-kotlin version: 3.6.1
  • Kotlin version: 1.9.0
  • OS: Windows 11

Additional Info

com.aallam.openai.api.exception.OpenAIHttpException: Unexpected JSON token at offset 165: Unexpected 'null' value instead of string literal at path: $.choices[0].finish_reason
JSON input: .....obs":null,"finish_reason":null}],"model":"ada:ft-andraxdev:s.....
at com.aallam.openai.client.internal.http.HttpTransport.handleException(HttpTransport.kt:52)
at com.aallam.openai.client.internal.http.HttpTransport.perform(HttpTransport.kt:34)
at com.aallam.openai.client.internal.http.HttpTransport$perform$2.invokeSuspend(Unknown Source:15)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
at android.os.Handler.handleCallback(Handler.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7959)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:942)
Caused by: kotlinx.serialization.json.internal.JsonDecodingException: Unexpected JSON token at offset 165: Unexpected 'null' value instead of string literal at path: $.choices[0].finish_reason
JSON input: .....obs":null,"finish_reason":null}],"model":"ada:ft-andraxdev:s.....
at kotlinx.serialization.json.internal.JsonExceptionsKt.JsonDecodingException(JsonExceptions.kt:24)
at kotlinx.serialization.json.internal.JsonExceptionsKt.JsonDecodingException(JsonExceptions.kt:32)
at kotlinx.serialization.json.internal.AbstractJsonLexer.fail(AbstractJsonLexer.kt:584)
at kotlinx.serialization.json.internal.AbstractJsonLexer.fail$default(AbstractJsonLexer.kt:582)
at kotlinx.serialization.json.internal.AbstractJsonLexer.consumeStringLenientNotNull(AbstractJsonLexer.kt:430)
at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeString(StreamingJsonDecoder.kt:343)
at com.aallam.openai.api.core.FinishReason$$serializer.deserialize-NTudBxk(FinishReason.kt:6)
at com.aallam.openai.api.core.FinishReason$$serializer.deserialize(FinishReason.kt:6)
at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:70)
at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableValue(AbstractDecoder.kt:43)
at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableElement(AbstractDecoder.kt:70)
at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableElement(StreamingJsonDecoder.kt:165)
at com.aallam.openai.api.completion.Choice$$serializer.deserialize(Choice.kt:12)
at com.aallam.openai.api.completion.Choice$$serializer.deserialize(Choice.kt:12)
at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:70)
at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableValue(AbstractDecoder.kt:43)
at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableElement(AbstractDecoder.kt:70)
at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableElement(StreamingJsonDecoder.kt:165)
at kotlinx.serialization.encoding.CompositeDecoder$DefaultImpls.decodeSerializableElement$default(Decoding.kt:533)
at kotlinx.serialization.internal.CollectionLikeSerializer.readElement(CollectionSerializers.kt:80)
at kotlinx.serialization.internal.AbstractCollectionSerializer.readElement$default(CollectionSerializers.kt:51)
at kotlinx.serialization.internal.AbstractCollectionSerializer.merge(CollectionSerializers.kt:36)
at kotlinx.serialization.internal.AbstractCollectionSerializer.deserialize(CollectionSerializers.kt:43)
at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:70)
at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableValue(AbstractDecoder.kt:43)
at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableElement(AbstractDecoder.kt:70)
at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableElement(StreamingJsonDecoder.kt:165)
at com.aallam.openai.api.completion.TextCompletion$$serializer.deserialize(TextCompletion.kt:13)
at com.aallam.openai.api.completion.TextCompletion$$serializer.deserialize(TextCompletion.kt:13)
at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:70)
at kotlinx.serialization.json.Json.decodeFromString(Json.kt:107)
at com.aallam.openai.client.internal.api.CompletionsApi$completions$1$1.invokeSuspend(CompletionsApi.kt:61)
at com.aallam.openai.client.internal.api.CompletionsApi$completions$1$1.invoke(Unknown Source:8)
at com.aallam.openai.client.internal.api.CompletionsApi$completions$1$1.invoke(Unknown Source:4)
at io.ktor.client.statement.HttpStatement.execute(HttpStatement.kt:50)
at io.ktor.client.statement.HttpStatement$execute$1.invokeSuspend(Unknown Source:15)
... 10 more

@AndraxDev AndraxDev changed the title [Brief Issue Description] [Completions are no longer work] Dec 15, 2023
@aallam
Copy link
Owner

aallam commented Dec 15, 2023

Thank you for reporting this. Please note that the Completions is now considered 'legacy.' Most models supporting it will be discontinued on January 4th, 2024.

@AndraxDev
Copy link
Contributor Author

How can I use my Fine-tuned models? I tried to use chat completions but API said that this model does not support chat completions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants