安卓中的Gemini Api:类型序列化名称为

的字段’license’是必需的

我在Android Studio中创建新项目时尝试使用Gemini API Starter模板的代码。

默认模板使用的是很久之前就已废弃的“gemini-pro”模型(他们没有更新模板),所以我将其改成了gemini-1.5-flash。

但我一直遇到解析错误:

com.google.ai.client.generativeai.type.SerializationException: 尝试从服务器反序列化响应时出现问题。2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at com.google.ai.client.generativeai.type.GoogleGenerativeAIException$Companion.from(Exceptions.kt:39)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at com.google.ai.client.generativeai.GenerativeModel.generateContent(GenerativeModel.kt:88)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at com.google.ai.client.generativeai.GenerativeModel$generateContent$1.invokeSuspend(Unknown Source:15)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W  Caused by: io.ktor.serialization.JsonConvertException: 非法输入:类型序列化名称为'com.google.ai.client.generativeai.internal.api.server.CitationSources'的字段'license'是必需的,但在路径$.candidates[0].citationMetadata.citationSources[0]处缺失2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at io.ktor.serialization.kotlinx.KotlinxSerializationConverter.deserialize(KotlinxSerializationConverter.kt:90)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at io.ktor.serialization.ContentConverterKt$deserialize$$inlined$map$1$2.emit(Emitters.kt:224)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.coroutines.flow.FlowKt__BuildersKt$asFlow$$inlined$unsafeFlow$3.collect(SafeCollector.common.kt:116)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at io.ktor.serialization.ContentConverterKt$deserialize$$inlined$map$1.collect(SafeCollector.common.kt:113)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.coroutines.flow.FlowKt__ReduceKt.firstOrNull(Reduce.kt:243)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.coroutines.flow.FlowKt.firstOrNull(Unknown Source:1)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at io.ktor.serialization.ContentConverterKt.deserialize(ContentConverter.kt:123)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at io.ktor.client.plugins.contentnegotiation.ContentNegotiation.convertResponse$ktor_client_content_negotiation(ContentNegotiation.kt:230)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at io.ktor.client.plugins.contentnegotiation.ContentNegotiation$Plugin$install$2.invokeSuspend(ContentNegotiation.kt:262)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at io.ktor.client.plugins.contentnegotiation.ContentNegotiation$Plugin$install$2.invoke(Unknown Source:13)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at io.ktor.client.plugins.contentnegotiation.ContentNegotiation$Plugin$install$2.invoke(Unknown Source:6)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:120)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:78)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at io.ktor.client.HttpClient$4.invokeSuspend(HttpClient.kt:177)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at io.ktor.client.HttpClient$4.invoke(Unknown Source:11)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at io.ktor.client.HttpClient$4.invoke(Unknown Source:6)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:120)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:78)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at io.ktor.util.pipeline.SuspendFunctionGun.proceedWith(SuspendFunctionGun.kt:88)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at io.ktor.client.plugins.HttpCallValidator$Companion$install$2.invokeSuspend(HttpCallValidator.kt:142)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at io.ktor.client.plugins.HttpCallValidator$Companion$install$2.invoke(Unknown Source:13)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at io.ktor.client.plugins.HttpCallValidator$Companion$install$2.invoke(Unknown Source:6)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:120)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:78)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at io.ktor.util.pipeline.SuspendFunctionGun.execute$ktor_utils(SuspendFunctionGun.kt:98)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at io.ktor.util.pipeline.Pipeline.execute(Pipeline.kt:77)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at io.ktor.client.call.HttpClientCall.bodyNullable(HttpClientCall.kt:88)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at com.google.ai.client.generativeai.internal.api.APIController.generateContent(APIController.kt:198)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at com.google.ai.client.generativeai.internal.api.APIController$generateContent$1.invokeSuspend(Unknown Source:15)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W      ... 6 more2024-12-03 22:11:32.349  7350-7395  System.err              com.ayusch.genaitest                 W  Caused by: kotlinx.serialization.MissingFieldException: 类型序列化名称为'com.google.ai.client.generativeai.internal.api.server.CitationSources'的字段'license'是必需的,但在路径$.candidates[0].citationMetadata.citationSources[0]处缺失2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:93)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableValue(AbstractDecoder.kt:43)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableElement(AbstractDecoder.kt:70)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableElement(StreamingJsonDecoder.kt:165)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.encoding.CompositeDecoder$DefaultImpls.decodeSerializableElement$default(Decoding.kt:533)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.internal.CollectionLikeSerializer.readElement(CollectionSerializers.kt:80)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.internal.AbstractCollectionSerializer.readElement$default(CollectionSerializers.kt:51)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.internal.AbstractCollectionSerializer.merge(CollectionSerializers.kt:36)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.internal.AbstractCollectionSerializer.deserialize(CollectionSerializers.kt:43)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:70)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableValue(AbstractDecoder.kt:43)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableElement(AbstractDecoder.kt:70)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableElement(StreamingJsonDecoder.kt:165)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at com.google.ai.client.generativeai.internal.api.server.CitationMetadata$$serializer.deserialize(Types.kt:59)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at com.google.ai.client.generativeai.internal.api.server.CitationMetadata$$serializer.deserialize(Types.kt:59)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:70)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableValue(AbstractDecoder.kt:43)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.encoding.AbstractDecoder.decodeNullableSerializableElement(AbstractDecoder.kt:79)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at com.google.ai.client.generativeai.internal.api.server.Candidate$$serializer.deserialize(Types.kt:51)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at com.google.ai.client.generativeai.internal.api.server.Candidate$$serializer.deserialize(Types.kt:51)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:70)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableValue(AbstractDecoder.kt:43)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableElement(AbstractDecoder.kt:70)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableElement(StreamingJsonDecoder.kt:165)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.encoding.CompositeDecoder$DefaultImpls.decodeSerializableElement$default(Decoding.kt:533)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.internal.CollectionLikeSerializer.readElement(CollectionSerializers.kt:80)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.internal.AbstractCollectionSerializer.readElement$default(CollectionSerializers.kt:51)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.internal.AbstractCollectionSerializer.merge(CollectionSerializers.kt:36)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.internal.AbstractCollectionSerializer.deserialize(CollectionSerializers.kt:43)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:70)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableValue(AbstractDecoder.kt:43)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.encoding.AbstractDecoder.decodeNullableSerializableElement(AbstractDecoder.kt:79)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at com.google.ai.client.generativeai.internal.api.GenerateContentResponse$$serializer.deserialize(Response.kt:26)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at com.google.ai.client.generativeai.internal.api.GenerateContentResponse$$serializer.deserialize(Response.kt:26)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:70)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.json.Json.decodeFromString(Json.kt:107)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at io.ktor.serialization.kotlinx.KotlinxSerializationConverter.deserialize(KotlinxSerializationConverter.kt:82)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      ... 36 more2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W  Caused by: kotlinx.serialization.MissingFieldException: 类型序列化名称为'com.google.ai.client.generativeai.internal.api.server.CitationSources'的字段'license'是必需的,但缺失2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.internal.PluginExceptionsKt.throwMissingFieldException(PluginExceptions.kt:20)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at com.google.ai.client.generativeai.internal.api.server.CitationSources.<init>(Types.kt:64)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at com.google.ai.client.generativeai.internal.api.server.CitationSources$$serializer.deserialize(Types.kt:64)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at com.google.ai.client.generativeai.internal.api.server.CitationSources$$serializer.deserialize(Types.kt:64)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:70)2024-12-03 22:11:32.350  7350-7395  System.err              com.ayusch.genaitest                 W      ... 72 more

有人遇到过这个问题吗?

我看到一个类似的提问,API没有返回所需的字段,但据说已经修复了(是另一个字段):Gemini Api Android: SerializationException when deserializing response from server

提前感谢


回答:

我将generativeai依赖从0.2.2升级到了0.9.0,现在它可以工作了。你可以试试这个 👍

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注