Skip to content

Commit 58d92df

Browse files
authored
AI Hybrid Inference: flatten initial prompts type (#9066)
1 parent 177f546 commit 58d92df

File tree

10 files changed

+29
-114
lines changed

10 files changed

+29
-114
lines changed

common/api-review/ai.api.md

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -667,7 +667,7 @@ export class IntegerSchema extends Schema {
667667
// @public (undocumented)
668668
export interface LanguageModelCreateCoreOptions {
669669
// (undocumented)
670-
expectedInputs?: LanguageModelExpectedInput[];
670+
expectedInputs?: LanguageModelExpected[];
671671
// (undocumented)
672672
temperature?: number;
673673
// (undocumented)
@@ -677,24 +677,19 @@ export interface LanguageModelCreateCoreOptions {
677677
// @public (undocumented)
678678
export interface LanguageModelCreateOptions extends LanguageModelCreateCoreOptions {
679679
// (undocumented)
680-
initialPrompts?: LanguageModelInitialPrompts;
680+
initialPrompts?: LanguageModelMessage[];
681681
// (undocumented)
682682
signal?: AbortSignal;
683-
// (undocumented)
684-
systemPrompt?: string;
685683
}
686684

687685
// @public (undocumented)
688-
export interface LanguageModelExpectedInput {
686+
export interface LanguageModelExpected {
689687
// (undocumented)
690688
languages?: string[];
691689
// (undocumented)
692690
type: LanguageModelMessageType;
693691
}
694692

695-
// @public (undocumented)
696-
export type LanguageModelInitialPrompts = LanguageModelMessage[] | LanguageModelMessageShorthand[];
697-
698693
// @public (undocumented)
699694
export interface LanguageModelMessage {
700695
// (undocumented)
@@ -717,14 +712,6 @@ export type LanguageModelMessageContentValue = ImageBitmapSource | AudioBuffer |
717712
// @public (undocumented)
718713
export type LanguageModelMessageRole = 'system' | 'user' | 'assistant';
719714

720-
// @public (undocumented)
721-
export interface LanguageModelMessageShorthand {
722-
// (undocumented)
723-
content: string;
724-
// (undocumented)
725-
role: LanguageModelMessageRole;
726-
}
727-
728715
// @public (undocumented)
729716
export type LanguageModelMessageType = 'text' | 'image' | 'audio';
730717

docs-devsite/_toc.yaml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,14 +106,12 @@ toc:
106106
path: /docs/reference/js/ai.languagemodelcreatecoreoptions.md
107107
- title: LanguageModelCreateOptions
108108
path: /docs/reference/js/ai.languagemodelcreateoptions.md
109-
- title: LanguageModelExpectedInput
110-
path: /docs/reference/js/ai.languagemodelexpectedinput.md
109+
- title: LanguageModelExpected
110+
path: /docs/reference/js/ai.languagemodelexpected.md
111111
- title: LanguageModelMessage
112112
path: /docs/reference/js/ai.languagemodelmessage.md
113113
- title: LanguageModelMessageContent
114114
path: /docs/reference/js/ai.languagemodelmessagecontent.md
115-
- title: LanguageModelMessageShorthand
116-
path: /docs/reference/js/ai.languagemodelmessageshorthand.md
117115
- title: ModalityTokenCount
118116
path: /docs/reference/js/ai.modalitytokencount.md
119117
- title: ModelParams

docs-devsite/ai.languagemodelcreatecoreoptions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export interface LanguageModelCreateCoreOptions
2020

2121
| Property | Type | Description |
2222
| --- | --- | --- |
23-
| [expectedInputs](./ai.languagemodelcreatecoreoptions.md#languagemodelcreatecoreoptionsexpectedinputs) | [LanguageModelExpectedInput](./ai.languagemodelexpectedinput.md#languagemodelexpectedinput_interface)<!-- -->\[\] | |
23+
| [expectedInputs](./ai.languagemodelcreatecoreoptions.md#languagemodelcreatecoreoptionsexpectedinputs) | [LanguageModelExpected](./ai.languagemodelexpected.md#languagemodelexpected_interface)<!-- -->\[\] | |
2424
| [temperature](./ai.languagemodelcreatecoreoptions.md#languagemodelcreatecoreoptionstemperature) | number | |
2525
| [topK](./ai.languagemodelcreatecoreoptions.md#languagemodelcreatecoreoptionstopk) | number | |
2626

@@ -29,7 +29,7 @@ export interface LanguageModelCreateCoreOptions
2929
<b>Signature:</b>
3030

3131
```typescript
32-
expectedInputs?: LanguageModelExpectedInput[];
32+
expectedInputs?: LanguageModelExpected[];
3333
```
3434

3535
## LanguageModelCreateCoreOptions.temperature

docs-devsite/ai.languagemodelcreateoptions.md

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,15 @@ export interface LanguageModelCreateOptions extends LanguageModelCreateCoreOptio
2121
2222
| Property | Type | Description |
2323
| --- | --- | --- |
24-
| [initialPrompts](./ai.languagemodelcreateoptions.md#languagemodelcreateoptionsinitialprompts) | [LanguageModelInitialPrompts](./ai.md#languagemodelinitialprompts) | |
24+
| [initialPrompts](./ai.languagemodelcreateoptions.md#languagemodelcreateoptionsinitialprompts) | [LanguageModelMessage](./ai.languagemodelmessage.md#languagemodelmessage_interface)<!-- -->\[\] | |
2525
| [signal](./ai.languagemodelcreateoptions.md#languagemodelcreateoptionssignal) | AbortSignal | |
26-
| [systemPrompt](./ai.languagemodelcreateoptions.md#languagemodelcreateoptionssystemprompt) | string | |
2726
2827
## LanguageModelCreateOptions.initialPrompts
2928
3029
<b>Signature:</b>
3130
3231
```typescript
33-
initialPrompts?: LanguageModelInitialPrompts;
32+
initialPrompts?: LanguageModelMessage[];
3433
```
3534
3635
## LanguageModelCreateOptions.signal
@@ -40,11 +39,3 @@ initialPrompts?: LanguageModelInitialPrompts;
4039
```typescript
4140
signal?: AbortSignal;
4241
```
43-
44-
## LanguageModelCreateOptions.systemPrompt
45-
46-
<b>Signature:</b>
47-
48-
```typescript
49-
systemPrompt?: string;
50-
```

docs-devsite/ai.languagemodelexpectedinput.md renamed to docs-devsite/ai.languagemodelexpected.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,29 +9,29 @@ overwritten. Changes should be made in the source code at
99
https://github.com/firebase/firebase-js-sdk
1010
{% endcomment %}
1111

12-
# LanguageModelExpectedInput interface
12+
# LanguageModelExpected interface
1313
<b>Signature:</b>
1414

1515
```typescript
16-
export interface LanguageModelExpectedInput
16+
export interface LanguageModelExpected
1717
```
1818

1919
## Properties
2020

2121
| Property | Type | Description |
2222
| --- | --- | --- |
23-
| [languages](./ai.languagemodelexpectedinput.md#languagemodelexpectedinputlanguages) | string\[\] | |
24-
| [type](./ai.languagemodelexpectedinput.md#languagemodelexpectedinputtype) | [LanguageModelMessageType](./ai.md#languagemodelmessagetype) | |
23+
| [languages](./ai.languagemodelexpected.md#languagemodelexpectedlanguages) | string\[\] | |
24+
| [type](./ai.languagemodelexpected.md#languagemodelexpectedtype) | [LanguageModelMessageType](./ai.md#languagemodelmessagetype) | |
2525

26-
## LanguageModelExpectedInput.languages
26+
## LanguageModelExpected.languages
2727

2828
<b>Signature:</b>
2929

3030
```typescript
3131
languages?: string[];
3232
```
3333

34-
## LanguageModelExpectedInput.type
34+
## LanguageModelExpected.type
3535

3636
<b>Signature:</b>
3737

docs-devsite/ai.languagemodelmessagecontent.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,21 +20,21 @@ export interface LanguageModelMessageContent
2020

2121
| Property | Type | Description |
2222
| --- | --- | --- |
23-
| [content](./ai.languagemodelmessagecontent.md#languagemodelmessagecontentcontent) | [LanguageModelMessageContentValue](./ai.md#languagemodelmessagecontentvalue) | |
2423
| [type](./ai.languagemodelmessagecontent.md#languagemodelmessagecontenttype) | [LanguageModelMessageType](./ai.md#languagemodelmessagetype) | |
24+
| [value](./ai.languagemodelmessagecontent.md#languagemodelmessagecontentvalue) | [LanguageModelMessageContentValue](./ai.md#languagemodelmessagecontentvalue) | |
2525

26-
## LanguageModelMessageContent.content
26+
## LanguageModelMessageContent.type
2727

2828
<b>Signature:</b>
2929

3030
```typescript
31-
content: LanguageModelMessageContentValue;
31+
type: LanguageModelMessageType;
3232
```
3333

34-
## LanguageModelMessageContent.type
34+
## LanguageModelMessageContent.value
3535

3636
<b>Signature:</b>
3737

3838
```typescript
39-
type: LanguageModelMessageType;
39+
value: LanguageModelMessageContentValue;
4040
```

docs-devsite/ai.languagemodelmessageshorthand.md

Lines changed: 0 additions & 40 deletions
This file was deleted.

docs-devsite/ai.md

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -107,10 +107,9 @@ The Firebase AI Web SDK.
107107
| [InlineDataPart](./ai.inlinedatapart.md#inlinedatapart_interface) | Content part interface if the part represents an image. |
108108
| [LanguageModelCreateCoreOptions](./ai.languagemodelcreatecoreoptions.md#languagemodelcreatecoreoptions_interface) | |
109109
| [LanguageModelCreateOptions](./ai.languagemodelcreateoptions.md#languagemodelcreateoptions_interface) | |
110-
| [LanguageModelExpectedInput](./ai.languagemodelexpectedinput.md#languagemodelexpectedinput_interface) | |
110+
| [LanguageModelExpected](./ai.languagemodelexpected.md#languagemodelexpected_interface) | |
111111
| [LanguageModelMessage](./ai.languagemodelmessage.md#languagemodelmessage_interface) | |
112112
| [LanguageModelMessageContent](./ai.languagemodelmessagecontent.md#languagemodelmessagecontent_interface) | |
113-
| [LanguageModelMessageShorthand](./ai.languagemodelmessageshorthand.md#languagemodelmessageshorthand_interface) | |
114113
| [ModalityTokenCount](./ai.modalitytokencount.md#modalitytokencount_interface) | Represents token counting info for a single modality. |
115114
| [ModelParams](./ai.modelparams.md#modelparams_interface) | Params passed to [getGenerativeModel()](./ai.md#getgenerativemodel_c63f46a)<!-- -->. |
116115
| [ObjectSchemaInterface](./ai.objectschemainterface.md#objectschemainterface_interface) | Interface for [ObjectSchema](./ai.objectschema.md#objectschema_class) class. |
@@ -149,7 +148,6 @@ The Firebase AI Web SDK.
149148
| --- | --- |
150149
| [BackendType](./ai.md#backendtype) | Type alias representing valid backend types. It can be either <code>'VERTEX_AI'</code> or <code>'GOOGLE_AI'</code>. |
151150
| [InferenceMode](./ai.md#inferencemode) | Determines whether inference happens on-device or in-cloud. |
152-
| [LanguageModelInitialPrompts](./ai.md#languagemodelinitialprompts) | |
153151
| [LanguageModelMessageContentValue](./ai.md#languagemodelmessagecontentvalue) | |
154152
| [LanguageModelMessageRole](./ai.md#languagemodelmessagerole) | |
155153
| [LanguageModelMessageType](./ai.md#languagemodelmessagetype) | |
@@ -383,14 +381,6 @@ Determines whether inference happens on-device or in-cloud.
383381
export type InferenceMode = 'prefer_on_device' | 'only_on_device' | 'only_in_cloud';
384382
```
385383

386-
## LanguageModelInitialPrompts
387-
388-
<b>Signature:</b>
389-
390-
```typescript
391-
export type LanguageModelInitialPrompts = LanguageModelMessage[] | LanguageModelMessageShorthand[];
392-
```
393-
394384
## LanguageModelMessageContentValue
395385

396386
<b>Signature:</b>

packages/ai/src/types/index.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,10 @@ export * from './googleai';
2626
export {
2727
LanguageModelCreateOptions,
2828
LanguageModelCreateCoreOptions,
29-
LanguageModelExpectedInput,
30-
LanguageModelInitialPrompts,
29+
LanguageModelExpected,
3130
LanguageModelMessage,
3231
LanguageModelMessageContent,
3332
LanguageModelMessageContentValue,
3433
LanguageModelMessageRole,
35-
LanguageModelMessageShorthand,
3634
LanguageModelMessageType
3735
} from './language-model';

packages/ai/src/types/language-model.ts

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515
* limitations under the License.
1616
*/
1717
/**
18-
* {@see https://github.com/webmachinelearning/prompt-api#full-api-surface-in-web-idl}
18+
* The subset of the Prompt API
19+
* ({@see https://github.com/webmachinelearning/prompt-api#full-api-surface-in-web-idl})
20+
* required for hybrid functionality.
1921
*/
2022
export interface LanguageModel extends EventTarget {
2123
create(options?: LanguageModelCreateOptions): Promise<LanguageModel>;
@@ -43,37 +45,26 @@ export enum Availability {
4345
export interface LanguageModelCreateCoreOptions {
4446
topK?: number;
4547
temperature?: number;
46-
expectedInputs?: LanguageModelExpectedInput[];
48+
expectedInputs?: LanguageModelExpected[];
4749
}
4850
export interface LanguageModelCreateOptions
4951
extends LanguageModelCreateCoreOptions {
5052
signal?: AbortSignal;
51-
systemPrompt?: string;
52-
initialPrompts?: LanguageModelInitialPrompts;
53+
initialPrompts?: LanguageModelMessage[];
5354
}
5455
export interface LanguageModelPromptOptions {
5556
responseConstraint?: object;
5657
// TODO: Restore AbortSignal once the API is defined.
5758
}
58-
export interface LanguageModelExpectedInput {
59+
export interface LanguageModelExpected {
5960
type: LanguageModelMessageType;
6061
languages?: string[];
6162
}
62-
export type LanguageModelPrompt =
63-
| LanguageModelMessage[]
64-
| LanguageModelMessageShorthand[]
65-
| string;
66-
export type LanguageModelInitialPrompts =
67-
| LanguageModelMessage[]
68-
| LanguageModelMessageShorthand[];
63+
export type LanguageModelPrompt = LanguageModelMessage[];
6964
export interface LanguageModelMessage {
7065
role: LanguageModelMessageRole;
7166
content: LanguageModelMessageContent[];
7267
}
73-
export interface LanguageModelMessageShorthand {
74-
role: LanguageModelMessageRole;
75-
content: string;
76-
}
7768
export interface LanguageModelMessageContent {
7869
type: LanguageModelMessageType;
7970
value: LanguageModelMessageContentValue;

0 commit comments

Comments
 (0)