From f6349cd408e38bae14212a215cb30949461e87a1 Mon Sep 17 00:00:00 2001 From: Rodrigo Lazo Paz Date: Thu, 3 Oct 2024 17:42:20 -0400 Subject: [PATCH] Change InlineDataPart to match ImagePart The order of the parameters should be consistent between them, and it should be (url/byte, mime-type). --- .../google/firebase/vertexai/internal/util/conversions.kt | 2 +- .../main/kotlin/com/google/firebase/vertexai/type/Content.kt | 2 +- .../main/kotlin/com/google/firebase/vertexai/type/Part.kt | 5 ++--- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai/internal/util/conversions.kt b/firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai/internal/util/conversions.kt index ed846375d23..87a5399d4c7 100644 --- a/firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai/internal/util/conversions.kt +++ b/firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai/internal/util/conversions.kt @@ -217,7 +217,7 @@ internal fun com.google.firebase.vertexai.common.shared.Part.toPublic(): Part { if (inlineData.mimeType.contains("image")) { ImagePart(decodeBitmapFromImage(data)) } else { - InlineDataPart(inlineData.mimeType, data) + InlineDataPart(data, inlineData.mimeType) } } is com.google.firebase.vertexai.common.shared.FunctionCallPart -> diff --git a/firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai/type/Content.kt b/firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai/type/Content.kt index 74bcf8e5f7d..91823fb6b53 100644 --- a/firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai/type/Content.kt +++ b/firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai/type/Content.kt @@ -56,7 +56,7 @@ constructor(public val role: String? = "user", public val parts: List) { */ @JvmName("addInlineData") public fun inlineData(mimeType: String, bytes: ByteArray): Content.Builder = - part(InlineDataPart(mimeType, bytes)) + part(InlineDataPart(bytes, mimeType)) /** Wraps the provided [image] inside an [ImagePart] and adds it to the [parts] list. */ @JvmName("addImage") public fun image(image: Bitmap): Content.Builder = part(ImagePart(image)) diff --git a/firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai/type/Part.kt b/firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai/type/Part.kt index 556e518534a..9e133896b89 100644 --- a/firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai/type/Part.kt +++ b/firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai/type/Part.kt @@ -37,12 +37,11 @@ public class ImagePart(public val image: Bitmap) : Part /** * Represents binary data with an associated MIME type sent to and received from requests. * + * @param inlineData the binary data as a [ByteArray] * @param mimeType an IANA standard MIME type. For supported values, see the * [Vertex AI documentation](https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/send-multimodal-prompts#media_requirements) - * . - * @param inlineData the binary data as a [ByteArray] */ -public class InlineDataPart(public val mimeType: String, public val inlineData: ByteArray) : Part +public class InlineDataPart(public val inlineData: ByteArray, public val mimeType: String) : Part /** * Represents a function call request from the model