cssxsh / mirai-openai-plugin

Mirai Console OpenAI ChatBot 插件
GNU Affero General Public License v3.0
130 stars 13 forks source link

[Bug Report] 调用Fine-tune过模型经常报Illegal Input错 #11

Closed chenxi050402 closed 1 year ago

chenxi050402 commented 1 year ago

我Fine tune了一个curie模型,但调用有很大机率报错

io.ktor.serialization.JsonConvertException: Illegal input
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.serialization.kotlinx.KotlinxSerializationConverter.deserialize(KotlinxSerializationConverter.kt:79)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.serialization.ContentConverterKt$deserialize$$inlined$map$1$2.emit(Emitters.kt:224)
        at kotlinx.coroutines.flow.FlowKt__BuildersKt$asFlow$$inlined$unsafeFlow$3.collect(SafeCollector.common.kt:115)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.serialization.ContentConverterKt$deserialize$$inlined$map$1.collect(SafeCollector.common.kt:113)
        at kotlinx.coroutines.flow.FlowKt__ReduceKt.firstOrNull(Reduce.kt:243)
        at kotlinx.coroutines.flow.FlowKt.firstOrNull(Unknown Source)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.serialization.ContentConverterKt.deserialize(ContentConverter.kt:128)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.client.plugins.contentnegotiation.ContentNegotiation.convertResponse$ktor_client_content_negotiation(ContentNegotiation.kt:185)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.client.plugins.contentnegotiation.ContentNegotiation$Plugin$install$2.invokeSuspend(ContentNegotiation.kt:210)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.client.plugins.contentnegotiation.ContentNegotiation$Plugin$install$2.invoke(ContentNegotiation.kt)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.client.plugins.contentnegotiation.ContentNegotiation$Plugin$install$2.invoke(ContentNegotiation.kt)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:123)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:81)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.client.HttpClient$4.invokeSuspend(HttpClient.kt:177)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.client.HttpClient$4.invoke(HttpClient.kt)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.client.HttpClient$4.invoke(HttpClient.kt)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:123)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:81)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.proceedWith(SuspendFunctionGun.kt:91)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.client.plugins.compression.ContentEncoding$Companion$install$2.invokeSuspend(ContentEncoding.kt:144)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.client.plugins.compression.ContentEncoding$Companion$install$2.invoke(ContentEncoding.kt)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.client.plugins.compression.ContentEncoding$Companion$install$2.invoke(ContentEncoding.kt)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:123)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:81)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.proceedWith(SuspendFunctionGun.kt:91)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.client.plugins.HttpCallValidator$Companion$install$2.invokeSuspend(HttpCallValidator.kt:138)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.client.plugins.HttpCallValidator$Companion$install$2.invoke(HttpCallValidator.kt)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.client.plugins.HttpCallValidator$Companion$install$2.invoke(HttpCallValidator.kt)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:123)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:81)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.execute$ktor_utils(SuspendFunctionGun.kt:101)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.Pipeline.execute(Pipeline.kt:77)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.client.call.HttpClientCall.bodyNullable(HttpClientCall.kt:88)
        at mirai-openai-plugin-1.1.0.mirai2.jar//xyz.cssxsh.openai.completion.CompletionController.create(CompletionController.kt:54)
        at mirai-openai-plugin-1.1.0.mirai2.jar//xyz.cssxsh.openai.completion.CompletionController$create$1.invokeSuspend(CompletionController.kt)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:138)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:112)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:14)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:62)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:138)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:112)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:14)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:62)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:138)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:112)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:14)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:62)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:138)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:112)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:14)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:62)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:138)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:112)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:14)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:62)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:138)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:112)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:14)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:62)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
Caused by: kotlinx.serialization.json.internal.JsonDecodingException: Unexpected JSON token at offset 229: Expected string literal but 'null' literal was found at path: $.choices[0].finish_reason
Use 'coerceInputValues = true' in 'Json {}` builder to coerce nulls to default values.
JSON input: .....ogprobs":null,"finish_reason":null}],"usage":{"prompt_tokens.....
        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:528)
        at kotlinx.serialization.json.internal.AbstractJsonLexer.unexpectedToken(AbstractJsonLexer.kt:205)
        at kotlinx.serialization.json.internal.StringJsonLexer.consumeNextToken(StringJsonLexer.kt:74)
        at kotlinx.serialization.json.internal.StringJsonLexer.consumeKeyString(StringJsonLexer.kt:85)
        at kotlinx.serialization.json.internal.AbstractJsonLexer.consumeString(AbstractJsonLexer.kt:313)
        at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeString(StreamingJsonDecoder.kt:292)
        at kotlinx.serialization.encoding.AbstractDecoder.decodeStringElement(AbstractDecoder.kt:58)
        at mirai-openai-plugin-1.1.0.mirai2.jar//xyz.cssxsh.openai.Choice$$serializer.deserialize(Choice.kt:5)
        at mirai-openai-plugin-1.1.0.mirai2.jar//xyz.cssxsh.openai.Choice$$serializer.deserialize(Choice.kt:5)
        at kotlinx.serialization.json.internal.PolymorphicKt.decodeSerializableValuePolymorphic(Polymorphic.kt:59)
        at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:38)
        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:111)
        at kotlinx.serialization.encoding.CompositeDecoder$DefaultImpls.decodeSerializableElement$default(Decoding.kt:537)
        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.PolymorphicKt.decodeSerializableValuePolymorphic(Polymorphic.kt:59)
        at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:38)
        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:111)
        at mirai-openai-plugin-1.1.0.mirai2.jar//xyz.cssxsh.openai.completion.CompletionInfo$$serializer.deserialize(CompletionInfo.kt:6)
        at mirai-openai-plugin-1.1.0.mirai2.jar//xyz.cssxsh.openai.completion.CompletionInfo$$serializer.deserialize(CompletionInfo.kt:6)
        at kotlinx.serialization.json.internal.PolymorphicKt.decodeSerializableValuePolymorphic(Polymorphic.kt:59)
        at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:38)
        at kotlinx.serialization.json.Json.decodeFromString(Json.kt:100)
        at mirai-openai-plugin-1.1.0.mirai2.jar[private]//io.ktor.serialization.kotlinx.KotlinxSerializationConverter.deserialize(KotlinxSerializationConverter.kt:71)
        ... 70 more