Skip to content

Commit 8a2dae2

Browse files
pashankagsiddh
authored andcommitted
Complete Hybrid inference impl
--------- Co-authored-by: Erik Eldridge <erikeldridge@google.com> Moving to in-cloud naming (#8938) Co-authored-by: Erik Eldridge <erikeldridge@google.com> Moving to string type for the inference mode (#8941) Define ChromeAdapter class (#8942) Co-authored-by: Erik Eldridge <erikeldridge@google.com> VinF Hybrid Inference: Implement ChromeAdapter (rebased) (#8943) Adding count token impl (#8950) VinF Hybrid Inference #4: ChromeAdapter in stream methods (rebased) (#8949) Define values for Availability enum (#8951) VinF Hybrid Inference: narrow Chrome input type (#8953) Add image inference support (#8954) * Adding image based input for inference * adding image as input to create language model object disable count tokens api for on-device inference (#8962) VinF Hybrid Inference: throw if only_on_device and model is unavailable (#8965) VinF Hybrid Inference: update docs (#8970) VinF Hybrid Inference: consolidate onDeviceParams initialization (#8969) VinF Hybrid Inference: disable multi-turn support (#8973) VinF Hybrid Inference: remove default expected input types (#8974) VinF Hybrid Inference: set image (and text) as default input type (#8984) VinF Hybrid Inference: log debug messages in conditional logic (#8992) VinF Hybrid Inference: support structured output (#9009)
1 parent 475c81a commit 8a2dae2

Some content is hidden

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

46 files changed

+1970
-605
lines changed

common/api-review/firestore.api.md

Lines changed: 18 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -375,15 +375,14 @@ export interface LoadBundleTaskProgress {
375375
export { LogLevel }
376376

377377
// @public
378-
export interface MemoryCacheSettings {
378+
export type MemoryCacheSettings = {
379379
garbageCollector?: MemoryGarbageCollector;
380-
}
380+
};
381381

382382
// @public
383-
export interface MemoryEagerGarbageCollector {
384-
// (undocumented)
383+
export type MemoryEagerGarbageCollector = {
385384
kind: 'memoryEager';
386-
}
385+
};
387386

388387
// @public
389388
export function memoryEagerGarbageCollector(): MemoryEagerGarbageCollector;
@@ -392,19 +391,17 @@ export function memoryEagerGarbageCollector(): MemoryEagerGarbageCollector;
392391
export type MemoryGarbageCollector = MemoryEagerGarbageCollector | MemoryLruGarbageCollector;
393392

394393
// @public
395-
export interface MemoryLocalCache {
396-
// (undocumented)
394+
export type MemoryLocalCache = {
397395
kind: 'memory';
398-
}
396+
};
399397

400398
// @public
401399
export function memoryLocalCache(settings?: MemoryCacheSettings): MemoryLocalCache;
402400

403401
// @public
404-
export interface MemoryLruGarbageCollector {
405-
// (undocumented)
402+
export type MemoryLruGarbageCollector = {
406403
kind: 'memoryLru';
407-
}
404+
};
408405

409406
// @public
410407
export function memoryLruGarbageCollector(settings?: {
@@ -494,42 +491,39 @@ export class PersistentCacheIndexManager {
494491
}
495492

496493
// @public
497-
export interface PersistentCacheSettings {
494+
export type PersistentCacheSettings = {
498495
cacheSizeBytes?: number;
499496
tabManager?: PersistentTabManager;
500-
}
497+
};
501498

502499
// @public
503-
export interface PersistentLocalCache {
504-
// (undocumented)
500+
export type PersistentLocalCache = {
505501
kind: 'persistent';
506-
}
502+
};
507503

508504
// @public
509505
export function persistentLocalCache(settings?: PersistentCacheSettings): PersistentLocalCache;
510506

511507
// @public
512-
export interface PersistentMultipleTabManager {
513-
// (undocumented)
508+
export type PersistentMultipleTabManager = {
514509
kind: 'PersistentMultipleTab';
515-
}
510+
};
516511

517512
// @public
518513
export function persistentMultipleTabManager(): PersistentMultipleTabManager;
519514

520515
// @public
521-
export interface PersistentSingleTabManager {
522-
// (undocumented)
516+
export type PersistentSingleTabManager = {
523517
kind: 'persistentSingleTab';
524-
}
518+
};
525519

526520
// @public
527521
export function persistentSingleTabManager(settings: PersistentSingleTabManagerSettings | undefined): PersistentSingleTabManager;
528522

529523
// @public
530-
export interface PersistentSingleTabManagerSettings {
524+
export type PersistentSingleTabManagerSettings = {
531525
forceOwnership?: boolean;
532-
}
526+
};
533527

534528
// @public
535529
export type PersistentTabManager = PersistentSingleTabManager | PersistentMultipleTabManager;

common/api-review/vertexai.api.md

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,8 @@ export class BooleanSchema extends Schema {
112112

113113
// @public
114114
export class ChatSession {
115-
constructor(apiSettings: ApiSettings, model: string, params?: StartChatParams | undefined, requestOptions?: RequestOptions | undefined);
115+
// Warning: (ae-forgotten-export) The symbol "ChromeAdapter" needs to be exported by the entry point index.d.ts
116+
constructor(apiSettings: ApiSettings, model: string, chromeAdapter: ChromeAdapter, params?: StartChatParams | undefined, requestOptions?: RequestOptions | undefined);
116117
getHistory(): Promise<Content[]>;
117118
// (undocumented)
118119
model: string;
@@ -392,8 +393,9 @@ export interface GenerativeContentBlob {
392393

393394
// @public
394395
export class GenerativeModel extends AIModel {
395-
constructor(ai: AI, modelParams: ModelParams, requestOptions?: RequestOptions);
396+
constructor(ai: AI, modelParams: ModelParams, chromeAdapter: ChromeAdapter, requestOptions?: RequestOptions);
396397
countTokens(request: CountTokensRequest | string | Array<string | Part>): Promise<CountTokensResponse>;
398+
static DEFAULT_HYBRID_IN_CLOUD_MODEL: string;
397399
generateContent(request: GenerateContentRequest | string | Array<string | Part>): Promise<GenerateContentResult>;
398400
generateContentStream(request: GenerateContentRequest | string | Array<string | Part>): Promise<GenerateContentStreamResult>;
399401
// (undocumented)
@@ -415,7 +417,7 @@ export class GenerativeModel extends AIModel {
415417
export function getAI(app?: FirebaseApp, options?: AIOptions): AI;
416418

417419
// @public
418-
export function getGenerativeModel(ai: AI, modelParams: ModelParams, requestOptions?: RequestOptions): GenerativeModel;
420+
export function getGenerativeModel(ai: AI, modelParams: ModelParams | HybridParams, requestOptions?: RequestOptions): GenerativeModel;
419421

420422
// @beta
421423
export function getImagenModel(ai: AI, modelParams: ImagenModelParams, requestOptions?: RequestOptions): ImagenModel;
@@ -547,6 +549,13 @@ export enum HarmSeverity {
547549
HARM_SEVERITY_UNSUPPORTED = "HARM_SEVERITY_UNSUPPORTED"
548550
}
549551

552+
// @public
553+
export interface HybridParams {
554+
inCloudParams?: ModelParams;
555+
mode: InferenceMode;
556+
onDeviceParams?: OnDeviceParams;
557+
}
558+
550559
// @beta
551560
export enum ImagenAspectRatio {
552561
LANDSCAPE_16x9 = "16:9",
@@ -631,6 +640,9 @@ export interface ImagenSafetySettings {
631640
safetyFilterLevel?: ImagenSafetyFilterLevel;
632641
}
633642

643+
// @public
644+
export type InferenceMode = 'prefer_on_device' | 'only_on_device' | 'only_in_cloud';
645+
634646
// @public
635647
export interface InlineDataPart {
636648
// (undocumented)
@@ -705,6 +717,18 @@ export interface ObjectSchemaInterface extends SchemaInterface {
705717
type: SchemaType.OBJECT;
706718
}
707719

720+
// @public
721+
export interface OnDeviceParams {
722+
// Warning: (ae-forgotten-export) The symbol "LanguageModelCreateOptions" needs to be exported by the entry point index.d.ts
723+
//
724+
// (undocumented)
725+
createOptions?: LanguageModelCreateOptions;
726+
// Warning: (ae-forgotten-export) The symbol "LanguageModelPromptOptions" needs to be exported by the entry point index.d.ts
727+
//
728+
// (undocumented)
729+
promptOptions?: LanguageModelPromptOptions;
730+
}
731+
708732
// @public
709733
export type Part = TextPart | InlineDataPart | FunctionCallPart | FunctionResponsePart | FileDataPart;
710734

docs-devsite/_toc.yaml

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -245,28 +245,10 @@ toc:
245245
path: /docs/reference/js/firestore_.loadbundletask.md
246246
- title: LoadBundleTaskProgress
247247
path: /docs/reference/js/firestore_.loadbundletaskprogress.md
248-
- title: MemoryCacheSettings
249-
path: /docs/reference/js/firestore_.memorycachesettings.md
250-
- title: MemoryEagerGarbageCollector
251-
path: /docs/reference/js/firestore_.memoryeagergarbagecollector.md
252-
- title: MemoryLocalCache
253-
path: /docs/reference/js/firestore_.memorylocalcache.md
254-
- title: MemoryLruGarbageCollector
255-
path: /docs/reference/js/firestore_.memorylrugarbagecollector.md
256248
- title: PersistenceSettings
257249
path: /docs/reference/js/firestore_.persistencesettings.md
258250
- title: PersistentCacheIndexManager
259251
path: /docs/reference/js/firestore_.persistentcacheindexmanager.md
260-
- title: PersistentCacheSettings
261-
path: /docs/reference/js/firestore_.persistentcachesettings.md
262-
- title: PersistentLocalCache
263-
path: /docs/reference/js/firestore_.persistentlocalcache.md
264-
- title: PersistentMultipleTabManager
265-
path: /docs/reference/js/firestore_.persistentmultipletabmanager.md
266-
- title: PersistentSingleTabManager
267-
path: /docs/reference/js/firestore_.persistentsingletabmanager.md
268-
- title: PersistentSingleTabManagerSettings
269-
path: /docs/reference/js/firestore_.persistentsingletabmanagersettings.md
270252
- title: Query
271253
path: /docs/reference/js/firestore_.query.md
272254
- title: QueryCompositeFilterConstraint
@@ -482,6 +464,8 @@ toc:
482464
path: /docs/reference/js/vertexai.aioptions.md
483465
- title: ArraySchema
484466
path: /docs/reference/js/vertexai.arrayschema.md
467+
- title: Backend
468+
path: /docs/reference/js/vertexai.backend.md
485469
- title: BaseParams
486470
path: /docs/reference/js/vertexai.baseparams.md
487471
- title: BooleanSchema
@@ -540,10 +524,14 @@ toc:
540524
path: /docs/reference/js/vertexai.generativecontentblob.md
541525
- title: GenerativeModel
542526
path: /docs/reference/js/vertexai.generativemodel.md
527+
- title: GoogleAIBackend
528+
path: /docs/reference/js/vertexai.googleaibackend.md
543529
- title: GroundingAttribution
544530
path: /docs/reference/js/vertexai.groundingattribution.md
545531
- title: GroundingMetadata
546532
path: /docs/reference/js/vertexai.groundingmetadata.md
533+
- title: HybridParams
534+
path: /docs/reference/js/vertexai.hybridparams.md
547535
- title: ImagenGCSImage
548536
path: /docs/reference/js/vertexai.imagengcsimage.md
549537
- title: ImagenGenerationConfig
@@ -574,6 +562,8 @@ toc:
574562
path: /docs/reference/js/vertexai.objectschema.md
575563
- title: ObjectSchemaInterface
576564
path: /docs/reference/js/vertexai.objectschemainterface.md
565+
- title: OnDeviceParams
566+
path: /docs/reference/js/vertexai.ondeviceparams.md
577567
- title: PromptFeedback
578568
path: /docs/reference/js/vertexai.promptfeedback.md
579569
- title: RequestOptions
@@ -606,6 +596,8 @@ toc:
606596
path: /docs/reference/js/vertexai.toolconfig.md
607597
- title: UsageMetadata
608598
path: /docs/reference/js/vertexai.usagemetadata.md
599+
- title: VertexAIBackend
600+
path: /docs/reference/js/vertexai.vertexaibackend.md
609601
- title: VertexAIOptions
610602
path: /docs/reference/js/vertexai.vertexaioptions.md
611603
- title: VideoMetadata

0 commit comments

Comments
 (0)