File tree Expand file tree Collapse file tree 12 files changed +19
-0
lines changed
firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai Expand file tree Collapse file tree 12 files changed +19
-0
lines changed Original file line number Diff line number Diff line change @@ -26,6 +26,7 @@ import com.google.firebase.vertexai.type.BidiGenerateContentClientMessage
2626import com.google.firebase.vertexai.type.Content
2727import com.google.firebase.vertexai.type.LiveGenerationConfig
2828import com.google.firebase.vertexai.type.LiveSession
29+ import com.google.firebase.vertexai.type.PublicPreviewAPI
2930import com.google.firebase.vertexai.type.RequestOptions
3031import com.google.firebase.vertexai.type.ServiceConnectionHandshakeFailedException
3132import com.google.firebase.vertexai.type.Tool
@@ -41,6 +42,7 @@ import kotlinx.serialization.json.Json
4142 * Represents a multimodal model (like Gemini) capable of real-time content generation based on
4243 * various input types, supporting bidirectional streaming.
4344 */
45+ @PublicPreviewAPI
4446public class LiveGenerativeModel
4547internal constructor (
4648 private val modelName: String ,
Original file line number Diff line number Diff line change @@ -21,13 +21,15 @@ import com.google.common.util.concurrent.ListenableFuture
2121import com.google.firebase.vertexai.GenerativeModel
2222import com.google.firebase.vertexai.LiveGenerativeModel
2323import com.google.firebase.vertexai.type.LiveSession
24+ import com.google.firebase.vertexai.type.PublicPreviewAPI
2425import com.google.firebase.vertexai.type.ServiceConnectionHandshakeFailedException
2526
2627/* *
2728 * Wrapper class providing Java compatible methods for [GenerativeModel].
2829 *
2930 * @see [GenerativeModel]
3031 */
32+ @PublicPreviewAPI
3133public abstract class LiveModelFutures internal constructor() {
3234
3335 /* *
Original file line number Diff line number Diff line change @@ -25,6 +25,7 @@ import com.google.firebase.vertexai.type.FunctionResponsePart
2525import com.google.firebase.vertexai.type.LiveContentResponse
2626import com.google.firebase.vertexai.type.LiveSession
2727import com.google.firebase.vertexai.type.MediaData
28+ import com.google.firebase.vertexai.type.PublicPreviewAPI
2829import com.google.firebase.vertexai.type.SessionAlreadyReceivingException
2930import kotlinx.coroutines.reactive.asPublisher
3031import org.reactivestreams.Publisher
@@ -34,6 +35,7 @@ import org.reactivestreams.Publisher
3435 *
3536 * @see [LiveSession]
3637 */
38+ @PublicPreviewAPI
3739public abstract class LiveSessionFutures internal constructor() {
3840
3941 /* *
Original file line number Diff line number Diff line change @@ -27,6 +27,7 @@ import androidx.annotation.RequiresPermission
2727import kotlinx.coroutines.flow.Flow
2828import kotlinx.coroutines.flow.flow
2929
30+ @PublicPreviewAPI
3031internal class AudioHelper {
3132
3233 private lateinit var audioRecord: AudioRecord
Original file line number Diff line number Diff line change @@ -20,6 +20,7 @@ import kotlinx.serialization.ExperimentalSerializationApi
2020import kotlinx.serialization.Serializable
2121
2222@OptIn(ExperimentalSerializationApi ::class )
23+ @PublicPreviewAPI
2324internal class BidiGenerateContentClientMessage (
2425 val model : String ,
2526 val generationConfig : LiveGenerationConfig .Internal ? ,
Original file line number Diff line number Diff line change 1717package com.google.firebase.vertexai.type
1818
1919/* Represents the response from the server. */
20+ @PublicPreviewAPI
2021public class LiveContentResponse
2122internal constructor (
2223 public val data: Content ? ,
Original file line number Diff line number Diff line change @@ -64,6 +64,7 @@ import kotlinx.serialization.Serializable
6464 * [Control generated output](https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/control-generated-output)
6565 * guide for more details.
6666 */
67+ @PublicPreviewAPI
6768public class LiveGenerationConfig
6869private constructor (
6970 internal val temperature: Float? ,
@@ -206,6 +207,7 @@ private constructor(
206207 * }
207208 * ```
208209 */
210+ @OptIn(PublicPreviewAPI ::class )
209211public fun liveGenerationConfig (
210212 init : LiveGenerationConfig .Builder .() -> Unit
211213): LiveGenerationConfig {
Original file line number Diff line number Diff line change @@ -33,13 +33,16 @@ import kotlinx.coroutines.flow.Flow
3333import kotlinx.coroutines.flow.flow
3434import kotlinx.coroutines.flow.receiveAsFlow
3535import kotlinx.coroutines.launch
36+ import kotlinx.serialization.ExperimentalSerializationApi
3637import kotlinx.serialization.SerialName
3738import kotlinx.serialization.Serializable
3839import kotlinx.serialization.encodeToString
3940import kotlinx.serialization.json.Json
4041import kotlinx.serialization.json.JsonNull
4142
4243/* * Represents a live WebSocket session capable of streaming content to and from the server. */
44+ @PublicPreviewAPI
45+ @OptIn(ExperimentalSerializationApi ::class )
4346public class LiveSession
4447internal constructor (
4548 private val session: ClientWebSocketSession ? ,
@@ -76,6 +79,7 @@ internal constructor(
7679 fun toInternal () = Internal (Internal .ClientContent (turns, turnComplete))
7780 }
7881
82+ @OptIn(ExperimentalSerializationApi ::class )
7983 internal class ToolResponseSetup (
8084 val functionResponses : List <FunctionResponsePart .Internal .FunctionResponse >
8185 ) {
Original file line number Diff line number Diff line change @@ -26,6 +26,7 @@ import kotlinx.serialization.Serializable
2626 * @param mimeType an IANA standard MIME type. For supported MIME type values see the
2727 * [Firebase documentation](https://firebase.google.com/docs/vertex-ai/input-file-requirements).
2828 */
29+ @PublicPreviewAPI
2930public class MediaData (public val data : ByteArray , public val mimeType : String ) {
3031 @Serializable
3132 internal class Internal (
Original file line number Diff line number Diff line change @@ -22,6 +22,7 @@ import kotlinx.serialization.SerialName
2222import kotlinx.serialization.Serializable
2323
2424/* * Modality for bidirectional streaming. */
25+ @PublicPreviewAPI
2526public class ResponseModality private constructor(public val ordinal : Int ) {
2627
2728 @Serializable(Internal .Serializer ::class )
You can’t perform that action at this time.
0 commit comments