Skip to content

Add missing optIn declarations to reduce compilation noise #6713

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Feb 24, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ import com.google.firebase.vertexai.type.content
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.catch
import kotlinx.coroutines.flow.map
import kotlinx.serialization.ExperimentalSerializationApi

/**
* Represents a multimodal model (like Gemini), capable of generating content based on various input
Expand Down Expand Up @@ -199,6 +200,7 @@ internal constructor(
return countTokens(content { image(prompt) })
}

@OptIn(ExperimentalSerializationApi::class)
private fun constructRequest(vararg prompt: Content) =
GenerateContentRequest(
modelName,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
@file:OptIn(ExperimentalSerializationApi::class)

package com.google.firebase.vertexai.common

Expand All @@ -24,6 +25,7 @@ import com.google.firebase.vertexai.type.PublicPreviewAPI
import com.google.firebase.vertexai.type.SafetySetting
import com.google.firebase.vertexai.type.Tool
import com.google.firebase.vertexai.type.ToolConfig
import kotlinx.serialization.ExperimentalSerializationApi
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

Expand All @@ -49,14 +51,6 @@ internal data class CountTokensRequest(
@SerialName("system_instruction") val systemInstruction: Content.Internal? = null,
) : Request {
companion object {
fun forGenAI(generateContentRequest: GenerateContentRequest) =
CountTokensRequest(
generateContentRequest =
generateContentRequest.model?.let {
generateContentRequest.copy(model = fullModelName(it))
}
?: generateContentRequest
)

fun forVertexAI(generateContentRequest: GenerateContentRequest) =
CountTokensRequest(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
* limitations under the License.
*/

@file:OptIn(ExperimentalSerializationApi::class)

package com.google.firebase.vertexai.type

import com.google.firebase.vertexai.common.util.FirstOrdinalSerializer
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ constructor(public val role: String? = "user", public val parts: List<Part>) {
public fun build(): Content = Content(role, parts)
}

@OptIn(ExperimentalSerializationApi::class)
internal fun toInternal() = Internal(this.role ?: "user", this.parts.map { it.toInternal() })

@ExperimentalSerializationApi
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ import io.ktor.http.content.TextContent
import io.ktor.http.headersOf
import kotlin.time.Duration.Companion.seconds
import kotlinx.coroutines.withTimeout
import kotlinx.serialization.ExperimentalSerializationApi
import kotlinx.serialization.encodeToString
import org.junit.Test

Expand Down Expand Up @@ -127,6 +128,7 @@ internal class GenerativeModelTesting {
exception.message shouldContain "location"
}

@OptIn(ExperimentalSerializationApi::class)
private fun generateContentResponseAsJsonString(text: String): String {
return JSON.encodeToString(
GenerateContentResponse.Internal(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ import kotlin.time.Duration.Companion.milliseconds
import kotlin.time.Duration.Companion.seconds
import kotlinx.coroutines.delay
import kotlinx.coroutines.withTimeout
import kotlinx.serialization.ExperimentalSerializationApi
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.JsonObject
import org.junit.Test
Expand Down Expand Up @@ -84,6 +85,7 @@ internal class APIControllerTests {
}
}

@OptIn(ExperimentalSerializationApi::class)
internal class RequestFormatTests {
@Test
fun `using default endpoint`() = doBlocking {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,10 @@ import kotlin.time.Duration.Companion.seconds
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.flow.toList
import kotlinx.coroutines.withTimeout
import kotlinx.serialization.ExperimentalSerializationApi
import org.junit.Test

@OptIn(ExperimentalSerializationApi::class)
internal class StreamingSnapshotTests {
private val testTimeout = 5.seconds

Expand Down
Loading