AI Hybrid Inference: extract expected inputs from prompt
Problem Statement
Vertex doesn't require callers to pre-specify expected input types. Could we make the hybrid API do the same?
Now that Edge has added support for text inputs, but not image inputs, we need to remove the default image input type, which further motivates this change.
Solution
Since the AI SDK request object contains the intended input types, we can extract those and reformat them into the format expected by Chrome.
⚠️ No Changeset found
Latest commit: dae5fee4d82b5ccaca36bec62ef262de93816035
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
Click here to learn what changesets are, and how to add one.
Click here if you're a maintainer who wants to add a changeset to this PR
Vertex AI Mock Responses Check :warning:
A newer major version of the mock responses for Vertex AI unit tests is available. update_vertexai_responses.sh should be updated to clone the latest version of the responses: v11.0
Size Report 1
Affected Products
@firebase/aiType Base (58d92df) Merge (feb1e52) Diff browser 48.3 kB 49.0 kB +750 B (+1.6%) main 49.5 kB 50.4 kB +945 B (+1.9%) module 48.3 kB 49.0 kB +750 B (+1.6%) firebaseType Base (58d92df) Merge (feb1e52) Diff firebase-ai.js 38.1 kB 40.5 kB +2.34 kB (+6.1%) firebase-vertexai.js 38.1 kB 40.5 kB +2.34 kB (+6.1%)
Test Logs
Size Analysis Report 1
Affected Products
@firebase/aiAIErrorSize
Type Base (58d92df) Merge (feb1e52) Diff size 4.58 kB 4.60 kB +18 B (+0.4%) AIModelSize
Type Base (58d92df) Merge (feb1e52) Diff size 24.3 kB 24.3 kB +18 B (+0.1%) ArraySchemaSize
Type Base (58d92df) Merge (feb1e52) Diff size 6.37 kB 6.39 kB +18 B (+0.3%) BackendSize
Type Base (58d92df) Merge (feb1e52) Diff size 4.58 kB 4.60 kB +18 B (+0.4%) BackendTypeSize
Type Base (58d92df) Merge (feb1e52) Diff size 4.59 kB 4.61 kB +18 B (+0.4%) BlockReasonSize
Type Base (58d92df) Merge (feb1e52) Diff size 4.59 kB 4.61 kB +18 B (+0.4%) BooleanSchemaSize
Type Base (58d92df) Merge (feb1e52) Diff size 6.37 kB 6.39 kB +18 B (+0.3%) ChatSessionSize
Type Base (58d92df) Merge (feb1e52) Diff size 20.4 kB 20.5 kB +18 B (+0.1%) FinishReasonSize
Type Base (58d92df) Merge (feb1e52) Diff size 4.59 kB 4.61 kB +18 B (+0.4%) FunctionCallingModeSize
Type Base (58d92df) Merge (feb1e52) Diff size 4.60 kB 4.61 kB +18 B (+0.4%) GenerativeModelSize
Type Base (58d92df) Merge (feb1e52) Diff size 24.3 kB 24.3 kB +18 B (+0.1%) GoogleAIBackendSize
Type Base (58d92df) Merge (feb1e52) Diff size 4.59 kB 4.61 kB +18 B (+0.4%) HarmBlockMethodSize
Type Base (58d92df) Merge (feb1e52) Diff size 4.59 kB 4.61 kB +18 B (+0.4%) HarmBlockThresholdSize
Type Base (58d92df) Merge (feb1e52) Diff size 4.59 kB 4.61 kB +18 B (+0.4%) HarmCategorySize
Type Base (58d92df) Merge (feb1e52) Diff size 4.59 kB 4.61 kB +18 B (+0.4%) HarmProbabilitySize
Type Base (58d92df) Merge (feb1e52) Diff size 4.59 kB 4.61 kB +18 B (+0.4%) HarmSeveritySize
Type Base (58d92df) Merge (feb1e52) Diff size 4.59 kB 4.61 kB +18 B (+0.4%) ImagenAspectRatioSize
Type Base (58d92df) Merge (feb1e52) Diff size 4.59 kB 4.61 kB +18 B (+0.4%) ImagenImageFormatSize
Type Base (58d92df) Merge (feb1e52) Diff size 4.87 kB 4.89 kB +18 B (+0.4%) ImagenModelSize
Type Base (58d92df) Merge (feb1e52) Diff size 26.1 kB 26.1 kB +18 B (+0.1%) ImagenPersonFilterLevelSize
Type Base (58d92df) Merge (feb1e52) Diff size 4.60 kB 4.62 kB +18 B (+0.4%) ImagenSafetyFilterLevelSize
Type Base (58d92df) Merge (feb1e52) Diff size 4.60 kB 4.62 kB +18 B (+0.4%) IntegerSchemaSize
Type Base (58d92df) Merge (feb1e52) Diff size 6.37 kB 6.39 kB +18 B (+0.3%) ModalitySize
Type Base (58d92df) Merge (feb1e52) Diff size 4.58 kB 4.60 kB +18 B (+0.4%) NumberSchemaSize
Type Base (58d92df) Merge (feb1e52) Diff size 6.37 kB 6.39 kB +18 B (+0.3%) ObjectSchemaSize
Type Base (58d92df) Merge (feb1e52) Diff size 6.37 kB 6.39 kB +18 B (+0.3%) POSSIBLE_ROLESSize
Type Base (58d92df) Merge (feb1e52) Diff size 4.64 kB 4.65 kB +18 B (+0.4%) ResponseModalitySize
Type Base (58d92df) Merge (feb1e52) Diff size 4.63 kB 4.65 kB +18 B (+0.4%) SchemaSize
Type Base (58d92df) Merge (feb1e52) Diff size 6.37 kB 6.39 kB +18 B (+0.3%) SchemaTypeSize
Type Base (58d92df) Merge (feb1e52) Diff size 4.59 kB 4.60 kB +18 B (+0.4%) StringSchemaSize
Type Base (58d92df) Merge (feb1e52) Diff size 6.37 kB 6.39 kB +18 B (+0.3%) VertexAIBackendSize
Type Base (58d92df) Merge (feb1e52) Diff size 4.59 kB 4.61 kB +18 B (+0.4%) VertexAIErrorSize
Type Base (58d92df) Merge (feb1e52) Diff size 4.60 kB 4.62 kB +18 B (+0.4%) VertexAIModelSize
Type Base (58d92df) Merge (feb1e52) Diff size 24.3 kB 24.3 kB +18 B (+0.1%) getAISize
Type Base (58d92df) Merge (feb1e52) Diff size 4.95 kB 4.96 kB +18 B (+0.4%) getGenerativeModelSize
Type Base (58d92df) Merge (feb1e52) Diff size 28.0 kB 28.4 kB +393 B (+1.4%) size-with-ext-deps 47.1 kB 49.1 kB +2.06 kB (+4.4%) External Dependency
Module Base (58d92df) Merge (feb1e52) Diff deepmergedefault export
+ default exportgetImagenModelSize
Type Base (58d92df) Merge (feb1e52) Diff size 26.2 kB 26.2 kB +18 B (+0.1%) getVertexAISize
Type Base (58d92df) Merge (feb1e52) Diff size 4.98 kB 5.00 kB +18 B (+0.4%)