diff --git a/firebase-vertexai/CHANGELOG.md b/firebase-vertexai/CHANGELOG.md index 029813fe9be..557a2f10589 100644 --- a/firebase-vertexai/CHANGELOG.md +++ b/firebase-vertexai/CHANGELOG.md @@ -1,4 +1,5 @@ # Unreleased +* [fixed] Added support for new values sent by the server for `FinishReason` and `BlockReason`. * [changed] Added support for modality-based token count. (#6658) # 16.1.0 diff --git a/firebase-vertexai/api.txt b/firebase-vertexai/api.txt index 5bf1e3667bf..7bb2f629c51 100644 --- a/firebase-vertexai/api.txt +++ b/firebase-vertexai/api.txt @@ -95,8 +95,10 @@ package com.google.firebase.vertexai.type { method public int getOrdinal(); property public final String name; property public final int ordinal; + field public static final com.google.firebase.vertexai.type.BlockReason BLOCKLIST; field public static final com.google.firebase.vertexai.type.BlockReason.Companion Companion; field public static final com.google.firebase.vertexai.type.BlockReason OTHER; + field public static final com.google.firebase.vertexai.type.BlockReason PROHIBITED_CONTENT; field public static final com.google.firebase.vertexai.type.BlockReason SAFETY; field public static final com.google.firebase.vertexai.type.BlockReason UNKNOWN; } @@ -206,11 +208,15 @@ package com.google.firebase.vertexai.type { method public int getOrdinal(); property public final String name; property public final int ordinal; + field public static final com.google.firebase.vertexai.type.FinishReason BLOCKLIST; field public static final com.google.firebase.vertexai.type.FinishReason.Companion Companion; + field public static final com.google.firebase.vertexai.type.FinishReason MALFORMED_FUNCTION_CALL; field public static final com.google.firebase.vertexai.type.FinishReason MAX_TOKENS; field public static final com.google.firebase.vertexai.type.FinishReason OTHER; + field public static final com.google.firebase.vertexai.type.FinishReason PROHIBITED_CONTENT; field public static final com.google.firebase.vertexai.type.FinishReason RECITATION; field public static final com.google.firebase.vertexai.type.FinishReason SAFETY; + field public static final com.google.firebase.vertexai.type.FinishReason SPII; field public static final com.google.firebase.vertexai.type.FinishReason STOP; field public static final com.google.firebase.vertexai.type.FinishReason UNKNOWN; } diff --git a/firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai/type/Candidate.kt b/firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai/type/Candidate.kt index 54cca4a80b4..5d236c8ecc9 100644 --- a/firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai/type/Candidate.kt +++ b/firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai/type/Candidate.kt @@ -247,7 +247,11 @@ public class FinishReason private constructor(public val name: String, public va MAX_TOKENS, SAFETY, RECITATION, - OTHER; + OTHER, + BLOCKLIST, + PROHIBITED_CONTENT, + SPII, + MALFORMED_FUNCTION_CALL; internal object Serializer : KSerializer by FirstOrdinalSerializer(Internal::class) @@ -258,6 +262,10 @@ public class FinishReason private constructor(public val name: String, public va SAFETY -> FinishReason.SAFETY STOP -> FinishReason.STOP OTHER -> FinishReason.OTHER + BLOCKLIST -> FinishReason.BLOCKLIST + PROHIBITED_CONTENT -> FinishReason.PROHIBITED_CONTENT + SPII -> FinishReason.SPII + MALFORMED_FUNCTION_CALL -> FinishReason.MALFORMED_FUNCTION_CALL else -> FinishReason.UNKNOWN } } @@ -281,5 +289,21 @@ public class FinishReason private constructor(public val name: String, public va /** Model stopped for another reason. */ @JvmField public val OTHER: FinishReason = FinishReason("OTHER", 5) + + /** Token generation stopped because the content contains forbidden terms. */ + @JvmField public val BLOCKLIST: FinishReason = FinishReason("BLOCKLIST", 6) + + /** Token generation stopped for potentially containing prohibited content. */ + @JvmField public val PROHIBITED_CONTENT: FinishReason = FinishReason("PROHIBITED_CONTENT", 7) + + /** + * Token generation stopped because the content potentially contains Sensitive Personally + * Identifiable Information (SPII). + */ + @JvmField public val SPII: FinishReason = FinishReason("SPII", 8) + + /** The function call generated by the model is invalid. */ + @JvmField + public val MALFORMED_FUNCTION_CALL: FinishReason = FinishReason("MALFORMED_FUNCTION_CALL", 9) } } diff --git a/firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai/type/PromptFeedback.kt b/firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai/type/PromptFeedback.kt index 5f0e0edd017..f7e1ad0948a 100644 --- a/firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai/type/PromptFeedback.kt +++ b/firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai/type/PromptFeedback.kt @@ -56,7 +56,9 @@ public class BlockReason private constructor(public val name: String, public val UNKNOWN, @SerialName("BLOCKED_REASON_UNSPECIFIED") UNSPECIFIED, SAFETY, - OTHER; + OTHER, + BLOCKLIST, + PROHIBITED_CONTENT; internal object Serializer : KSerializer by FirstOrdinalSerializer(Internal::class) @@ -64,6 +66,8 @@ public class BlockReason private constructor(public val name: String, public val when (this) { SAFETY -> BlockReason.SAFETY OTHER -> BlockReason.OTHER + BLOCKLIST -> BlockReason.BLOCKLIST + PROHIBITED_CONTENT -> BlockReason.PROHIBITED_CONTENT else -> BlockReason.UNKNOWN } } @@ -76,5 +80,11 @@ public class BlockReason private constructor(public val name: String, public val /** Content was blocked for another reason. */ @JvmField public val OTHER: BlockReason = BlockReason("OTHER", 2) + + /** Content was blocked for another reason. */ + @JvmField public val BLOCKLIST: BlockReason = BlockReason("BLOCKLIST", 3) + + /** Candidates blocked due to the terms which are included from the terminology blocklist. */ + @JvmField public val PROHIBITED_CONTENT: BlockReason = BlockReason("PROHIBITED_CONTENT", 4) } }