Skip to content

Commit 5c22a5e

Browse files
author
David Motsonashvili
committed
Copy vertexai to firebase-ai
1 parent 534cc53 commit 5c22a5e

File tree

89 files changed

+10835
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

89 files changed

+10835
-0
lines changed

firebase-ai/CHANGELOG.md

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
# Unreleased
2+
* [changed] **Breaking Change**: `LiveModelFutures.connect` now returns `ListenableFuture<LiveSessionFutures>` instead of `ListenableFuture<LiveSession>`.
3+
* **Action Required:** Remove any transformations from LiveSession object to LiveSessionFutures object.
4+
* **Action Required:** Change type of variable handling `LiveModelFutures.connect` to `ListenableFuture<LiveSessionsFutures>`
5+
* [changed] **Breaking Change**: Removed `UNSPECIFIED` value for enum class `ResponseModality`
6+
* **Action Required:** Remove all references to `ResponseModality.UNSPECIFIED`
7+
* [changed] **Breaking Change**: Renamed `LiveGenerationConfig.setResponseModalities` to `LiveGenerationConfig.setResponseModality`
8+
* **Action Required:** Replace all references of `LiveGenerationConfig.setResponseModalities` with `LiveGenerationConfig.setResponseModality`
9+
* [feature] Added support for `HarmBlockThreshold.OFF`. See the
10+
[model documentation](https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/configure-safety-filters#how_to_configure_content_filters){: .external}
11+
for more information.
12+
* [fixed] Improved thread usage when using a `LiveGenerativeModel`. (#6870)
13+
* [fixed] Fixed an issue with `LiveContentResponse` audio data not being present when the model was
14+
interrupted or the turn completed. (#6870)
15+
* [fixed] Fixed an issue with `LiveSession` not converting exceptions to `FirebaseVertexAIException`. (#6870)
16+
17+
18+
# 16.3.0
19+
* [feature] Emits a warning when attempting to use an incompatible model with
20+
`GenerativeModel` or `ImagenModel`.
21+
* [changed] Added new exception type for quota exceeded scenarios.
22+
* [feature] `CountTokenRequest` now includes `GenerationConfig` from the model.
23+
* [feature] **Public Preview:** Added support for streaming input and output (including audio) using the [Gemini Live API](/docs/vertex-ai/live-api?platform=android)
24+
**Note**: This feature is in Public Preview, which means that it is not subject to any SLA or deprecation policy and could change in backwards-incompatible ways.
25+
* [changed] **Breaking Change**: `ImagenInlineImage.data` now returns the raw
26+
image bytes (in JPEG or PNG format, as specified in
27+
`ImagenInlineImage.mimeType`) instead of Base64-encoded data. (#6800)
28+
* **Action Required:** Remove any Base64 decoding from your
29+
`ImagenInlineImage.data` usage.
30+
* The `asBitmap()` helper method is unaffected and requires no code changes.
31+
32+
# 16.2.0
33+
* [fixed] Added support for new values sent by the server for `FinishReason` and `BlockReason`.
34+
* [changed] Added support for modality-based token count. (#6658)
35+
* [feature] Added support for generating images with Imagen models.
36+
37+
# 16.1.0
38+
* [changed] Internal improvements to correctly handle empty model responses.
39+
40+
# 16.0.2
41+
* [fixed] Improved error message when using an invalid location. (#6428)
42+
* [fixed] Fixed issue where Firebase App Check error tokens were unintentionally missing from the requests. (#6409)
43+
* [fixed] Clarified in the documentation that `Schema.integer` and `Schema.float` only provide hints to the model. (#6420)
44+
* [fixed] Fixed issue were `Schema.double` set the format parameter in `Schema`. (#6432)
45+
46+
# 16.0.1
47+
* [fixed] Fixed issue where authorization headers weren't correctly formatted and were ignored by the backend. (#6400)
48+
49+
# 16.0.0
50+
* [feature] {{firebase_vertexai}} is now Generally Available (GA) and can be
51+
used in production apps.
52+
53+
Use the {{firebase_vertexai_sdk}} to call the {{gemini_api_vertexai_long}}
54+
directly from your app. This client SDK is built specifically for use with
55+
Android apps, offering security options against unauthorized clients
56+
as well as integrations with other Firebase services.
57+
58+
* If you're new to this library, visit the
59+
[getting started guide](/docs/vertex-ai/get-started?platform=android).
60+
61+
* If you were using the preview version of the library, visit the
62+
[migration guide](/docs/vertex-ai/migrate-to-ga?platform=android) to learn
63+
about some important updates.
64+
* [changed] **Breaking Change**: Changed `functionCallingConfig` parameter type to be nullable in `ToolConfig`. (#6373)
65+
* [changed] **Breaking Change**: Removed `functionResponse` accessor method from `GenerateContentResponse`. (#6373)
66+
* [changed] **Breaking Change**: Migrated `FirebaseVertexAIException` from a sealed class to an abstract class, and marked constructors as internal. (#6368)
67+
* [feature] Added support for `title` and `publicationDate` in citations. (#6309)
68+
* [feature] Added support for `frequencyPenalty`, `presencePenalty`, and `HarmBlockMethod`. (#6309)
69+
* [changed] **Breaking Change**: Introduced `Citations` class. Now `CitationMetadata` wraps that type. (#6276)
70+
* [changed] **Breaking Change**: Reworked `Schema` declaration mechanism. (#6258)
71+
* [changed] **Breaking Change**: Reworked function calling mechanism to use the new `Schema` format. Function calls no longer use native types, nor include references to the actual executable code. (#6258)
72+
* [changed] **Breaking Change**: Made `totalBillableCharacters` field in `CountTokens` nullable and optional. (#6294)
73+
* [changed] **Breaking Change**: Removed `UNKNOWN` option for the `HarmBlockThreshold` enum. (#6294)
74+
* [changed] **Breaking Change**: Removed `UNSPECIFIED` option for the `HarmBlockThreshold`, `HarmProbability`, `HarmSeverity`, and `BlockReason` enums. (#6294)
75+
* [changed] **Breaking Change**: Renamed `BlockThreshold` as `HarmBlockThreshold`. (#6262)
76+
* [changed] **Breaking Change**: Renamed all types and methods starting with `blob` to start with `inlineData`. (#6309)
77+
* [changed] **Breaking Change**: Changed the order of arguments in `InlineDataPart` to match `ImagePart`. (#6340)
78+
* [changed] **Breaking Change**: Changed `RequestOption` to accept only `long` timeout values. (#6289)
79+
* [changed] **Breaking Change**: Moved `requestOptions` to the last positional argument in the `generativeModel` argument list. (#6292)
80+
* [changed] **Breaking Change**: Replaced sealed classes with abstract classes for `StringFormat`. (#6334)
81+
* [changed] **Breaking Change**: Refactored enum classes to be normal classes. (#6340)
82+
* [changed] **Breaking Change**: Marked `GenerativeModel` properties as private. (#6309)
83+
* [changed] **Breaking Change**: Changed `method` parameter type to be nullable in `SafetySettings`. (#6379)
84+
85+
# 16.0.0-beta05
86+
* [changed] Merged core networking code into VertexAI from a separate library
87+
* [feature] added support for `responseSchema` in `GenerationConfig`.
88+
89+
# 16.0.0-beta03
90+
* [changed] Breaking Change: changed `Schema.int` to return 32 bit integers instead of 64 bit (long).
91+
* [changed] Added `Schema.long` to return 64-bit integer numbers.
92+
* [changed] Added `Schema.double` to handle floating point numbers.
93+
* [changed] Marked `Schema.num` as deprecated, prefer using `Schema.double`.
94+
* [fixed] Fixed an issue with decoding JSON literals (#6028).
95+
96+
# 16.0.0-beta01
97+
* [feature] Added support for `responseMimeType` in `GenerationConfig`.
98+
* [changed] Renamed `GoogleGenerativeAIException` to `FirebaseVertexAIException`.
99+
* [changed] Updated the KDocs for various classes and functions.
100+

firebase-ai/README.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Firebase AI SDK
2+
3+
For developer documentation, please visit https://firebase.google.com/docs/vertex-ai.
4+
This README is for contributors building and running tests for the SDK.
5+
6+
## Building
7+
8+
All Gradle commands should be run from the root of this repository.
9+
10+
`./gradlew :firebase-ai:publishToMavenLocal`
11+
12+
## Running Tests
13+
14+
> [!IMPORTANT]
15+
> These unit tests require mock response files, which can be downloaded by running
16+
`./firebase-ai/update_responses.sh` from the root of this repository.
17+
18+
Unit tests:
19+
20+
`./gradlew :firebase-ai:check`
21+
22+
Integration tests, requiring a running and connected device (emulator or real):
23+
24+
`./gradlew :firebase-ai:deviceCheck`
25+
26+
## Code Formatting
27+
28+
Format Kotlin code in this SDK in Android Studio using
29+
the [spotless plugin]([https://plugins.jetbrains.com/plugin/14912-ktfmt](https://github.com/diffplug/spotless)
30+
by running:
31+
32+
`./gradlew firebase-ai:spotlessApply`

0 commit comments

Comments
 (0)