File tree Expand file tree Collapse file tree 3 files changed +15
-9
lines changed
firebase-ai/src/main/kotlin/com/google/firebase/ai Expand file tree Collapse file tree 3 files changed +15
-9
lines changed Original file line number Diff line number Diff line change @@ -33,6 +33,9 @@ import com.google.firebase.auth.internal.InternalAuthProvider
3333import kotlinx.coroutines.flow.Flow
3434import kotlinx.coroutines.flow.catch
3535import kotlinx.coroutines.flow.map
36+ import kotlinx.serialization.json.Json
37+ import kotlinx.serialization.json.jsonObject
38+ import org.json.JSONObject
3639
3740/* *
3841 * Represents a multimodal model (like Gemini), capable of generating content based on various
@@ -111,7 +114,9 @@ internal constructor(
111114 .map { it.toPublic().validate() }
112115
113116 internal fun constructRequest (inputs : Map <String , Any >): TemplateGenerateContentRequest {
114- return TemplateGenerateContentRequest (inputs)
117+ return TemplateGenerateContentRequest (
118+ Json .parseToJsonElement(JSONObject (inputs).toString()).jsonObject
119+ )
115120 }
116121
117122 private fun GenerateContentResponse.validate () = apply {
Original file line number Diff line number Diff line change @@ -27,6 +27,9 @@ import com.google.firebase.ai.type.PublicPreviewAPI
2727import com.google.firebase.ai.type.RequestOptions
2828import com.google.firebase.appcheck.interop.InteropAppCheckTokenProvider
2929import com.google.firebase.auth.internal.InternalAuthProvider
30+ import kotlinx.serialization.json.Json
31+ import kotlinx.serialization.json.jsonObject
32+ import org.json.JSONObject
3033
3134/* *
3235 * Represents a generative model (like Imagen), capable of generating images based a template.
@@ -92,7 +95,9 @@ internal constructor(
9295 private fun constructTemplateGenerateImageRequest (
9396 inputs : Map <String , Any >
9497 ): TemplateGenerateImageRequest {
95- return TemplateGenerateImageRequest (inputs)
98+ return TemplateGenerateImageRequest (
99+ Json .parseToJsonElement(JSONObject (inputs).toString()).jsonObject
100+ )
96101 }
97102
98103 internal companion object {
Original file line number Diff line number Diff line change @@ -28,10 +28,10 @@ import com.google.firebase.ai.type.PublicPreviewAPI
2828import com.google.firebase.ai.type.SafetySetting
2929import com.google.firebase.ai.type.Tool
3030import com.google.firebase.ai.type.ToolConfig
31- import kotlinx.serialization.Contextual
3231import kotlinx.serialization.ExperimentalSerializationApi
3332import kotlinx.serialization.SerialName
3433import kotlinx.serialization.Serializable
34+ import kotlinx.serialization.json.JsonObject
3535
3636internal interface Request
3737
@@ -46,13 +46,9 @@ internal data class GenerateContentRequest(
4646 @SerialName(" system_instruction" ) val systemInstruction : Content .Internal ? = null ,
4747) : Request
4848
49- @Serializable
50- internal data class TemplateGenerateContentRequest (val inputs : Map <String , @Contextual Any >) :
51- Request
49+ @Serializable internal data class TemplateGenerateContentRequest (val inputs : JsonObject ) : Request
5250
53- @Serializable
54- internal data class TemplateGenerateImageRequest (val inputs : Map <String , @Contextual Any >) :
55- Request
51+ @Serializable internal data class TemplateGenerateImageRequest (val inputs : JsonObject ) : Request
5652
5753@Serializable
5854internal data class CountTokensRequest (
You can’t perform that action at this time.
0 commit comments