diff --git a/common/api-review/ai.api.md b/common/api-review/ai.api.md index 97d25b9e03..76e0b48dda 100644 --- a/common/api-review/ai.api.md +++ b/common/api-review/ai.api.md @@ -667,7 +667,7 @@ export class IntegerSchema extends Schema { // @public (undocumented) export interface LanguageModelCreateCoreOptions { // (undocumented) - expectedInputs?: LanguageModelExpectedInput[]; + expectedInputs?: LanguageModelExpected[]; // (undocumented) temperature?: number; // (undocumented) @@ -677,24 +677,19 @@ export interface LanguageModelCreateCoreOptions { // @public (undocumented) export interface LanguageModelCreateOptions extends LanguageModelCreateCoreOptions { // (undocumented) - initialPrompts?: LanguageModelInitialPrompts; + initialPrompts?: LanguageModelMessage[]; // (undocumented) signal?: AbortSignal; - // (undocumented) - systemPrompt?: string; } // @public (undocumented) -export interface LanguageModelExpectedInput { +export interface LanguageModelExpected { // (undocumented) languages?: string[]; // (undocumented) type: LanguageModelMessageType; } -// @public (undocumented) -export type LanguageModelInitialPrompts = LanguageModelMessage[] | LanguageModelMessageShorthand[]; - // @public (undocumented) export interface LanguageModelMessage { // (undocumented) @@ -717,14 +712,6 @@ export type LanguageModelMessageContentValue = ImageBitmapSource | AudioBuffer | // @public (undocumented) export type LanguageModelMessageRole = 'system' | 'user' | 'assistant'; -// @public (undocumented) -export interface LanguageModelMessageShorthand { - // (undocumented) - content: string; - // (undocumented) - role: LanguageModelMessageRole; -} - // @public (undocumented) export type LanguageModelMessageType = 'text' | 'image' | 'audio'; diff --git a/docs-devsite/_toc.yaml b/docs-devsite/_toc.yaml index e8359727cd..621c6af9e9 100644 --- a/docs-devsite/_toc.yaml +++ b/docs-devsite/_toc.yaml @@ -106,14 +106,12 @@ toc: path: /docs/reference/js/ai.languagemodelcreatecoreoptions.md - title: LanguageModelCreateOptions path: /docs/reference/js/ai.languagemodelcreateoptions.md - - title: LanguageModelExpectedInput - path: /docs/reference/js/ai.languagemodelexpectedinput.md + - title: LanguageModelExpected + path: /docs/reference/js/ai.languagemodelexpected.md - title: LanguageModelMessage path: /docs/reference/js/ai.languagemodelmessage.md - title: LanguageModelMessageContent path: /docs/reference/js/ai.languagemodelmessagecontent.md - - title: LanguageModelMessageShorthand - path: /docs/reference/js/ai.languagemodelmessageshorthand.md - title: ModalityTokenCount path: /docs/reference/js/ai.modalitytokencount.md - title: ModelParams diff --git a/docs-devsite/ai.languagemodelcreatecoreoptions.md b/docs-devsite/ai.languagemodelcreatecoreoptions.md index 2c9f61b149..45c2e7f5db 100644 --- a/docs-devsite/ai.languagemodelcreatecoreoptions.md +++ b/docs-devsite/ai.languagemodelcreatecoreoptions.md @@ -20,7 +20,7 @@ export interface LanguageModelCreateCoreOptions | Property | Type | Description | | --- | --- | --- | -| [expectedInputs](./ai.languagemodelcreatecoreoptions.md#languagemodelcreatecoreoptionsexpectedinputs) | [LanguageModelExpectedInput](./ai.languagemodelexpectedinput.md#languagemodelexpectedinput_interface)\[\] | | +| [expectedInputs](./ai.languagemodelcreatecoreoptions.md#languagemodelcreatecoreoptionsexpectedinputs) | [LanguageModelExpected](./ai.languagemodelexpected.md#languagemodelexpected_interface)\[\] | | | [temperature](./ai.languagemodelcreatecoreoptions.md#languagemodelcreatecoreoptionstemperature) | number | | | [topK](./ai.languagemodelcreatecoreoptions.md#languagemodelcreatecoreoptionstopk) | number | | @@ -29,7 +29,7 @@ export interface LanguageModelCreateCoreOptions Signature: ```typescript -expectedInputs?: LanguageModelExpectedInput[]; +expectedInputs?: LanguageModelExpected[]; ``` ## LanguageModelCreateCoreOptions.temperature diff --git a/docs-devsite/ai.languagemodelcreateoptions.md b/docs-devsite/ai.languagemodelcreateoptions.md index 44edcf7e22..417519a54b 100644 --- a/docs-devsite/ai.languagemodelcreateoptions.md +++ b/docs-devsite/ai.languagemodelcreateoptions.md @@ -21,16 +21,15 @@ export interface LanguageModelCreateOptions extends LanguageModelCreateCoreOptio | Property | Type | Description | | --- | --- | --- | -| [initialPrompts](./ai.languagemodelcreateoptions.md#languagemodelcreateoptionsinitialprompts) | [LanguageModelInitialPrompts](./ai.md#languagemodelinitialprompts) | | +| [initialPrompts](./ai.languagemodelcreateoptions.md#languagemodelcreateoptionsinitialprompts) | [LanguageModelMessage](./ai.languagemodelmessage.md#languagemodelmessage_interface)\[\] | | | [signal](./ai.languagemodelcreateoptions.md#languagemodelcreateoptionssignal) | AbortSignal | | -| [systemPrompt](./ai.languagemodelcreateoptions.md#languagemodelcreateoptionssystemprompt) | string | | ## LanguageModelCreateOptions.initialPrompts Signature: ```typescript -initialPrompts?: LanguageModelInitialPrompts; +initialPrompts?: LanguageModelMessage[]; ``` ## LanguageModelCreateOptions.signal @@ -40,11 +39,3 @@ initialPrompts?: LanguageModelInitialPrompts; ```typescript signal?: AbortSignal; ``` - -## LanguageModelCreateOptions.systemPrompt - -Signature: - -```typescript -systemPrompt?: string; -``` diff --git a/docs-devsite/ai.languagemodelexpectedinput.md b/docs-devsite/ai.languagemodelexpected.md similarity index 57% rename from docs-devsite/ai.languagemodelexpectedinput.md rename to docs-devsite/ai.languagemodelexpected.md index d6cbe028fc..26ed28b741 100644 --- a/docs-devsite/ai.languagemodelexpectedinput.md +++ b/docs-devsite/ai.languagemodelexpected.md @@ -9,21 +9,21 @@ overwritten. Changes should be made in the source code at https://github.com/firebase/firebase-js-sdk {% endcomment %} -# LanguageModelExpectedInput interface +# LanguageModelExpected interface Signature: ```typescript -export interface LanguageModelExpectedInput +export interface LanguageModelExpected ``` ## Properties | Property | Type | Description | | --- | --- | --- | -| [languages](./ai.languagemodelexpectedinput.md#languagemodelexpectedinputlanguages) | string\[\] | | -| [type](./ai.languagemodelexpectedinput.md#languagemodelexpectedinputtype) | [LanguageModelMessageType](./ai.md#languagemodelmessagetype) | | +| [languages](./ai.languagemodelexpected.md#languagemodelexpectedlanguages) | string\[\] | | +| [type](./ai.languagemodelexpected.md#languagemodelexpectedtype) | [LanguageModelMessageType](./ai.md#languagemodelmessagetype) | | -## LanguageModelExpectedInput.languages +## LanguageModelExpected.languages Signature: @@ -31,7 +31,7 @@ export interface LanguageModelExpectedInput languages?: string[]; ``` -## LanguageModelExpectedInput.type +## LanguageModelExpected.type Signature: diff --git a/docs-devsite/ai.languagemodelmessagecontent.md b/docs-devsite/ai.languagemodelmessagecontent.md index 06830ace27..40b4cc16bc 100644 --- a/docs-devsite/ai.languagemodelmessagecontent.md +++ b/docs-devsite/ai.languagemodelmessagecontent.md @@ -20,21 +20,21 @@ export interface LanguageModelMessageContent | Property | Type | Description | | --- | --- | --- | -| [content](./ai.languagemodelmessagecontent.md#languagemodelmessagecontentcontent) | [LanguageModelMessageContentValue](./ai.md#languagemodelmessagecontentvalue) | | | [type](./ai.languagemodelmessagecontent.md#languagemodelmessagecontenttype) | [LanguageModelMessageType](./ai.md#languagemodelmessagetype) | | +| [value](./ai.languagemodelmessagecontent.md#languagemodelmessagecontentvalue) | [LanguageModelMessageContentValue](./ai.md#languagemodelmessagecontentvalue) | | -## LanguageModelMessageContent.content +## LanguageModelMessageContent.type Signature: ```typescript -content: LanguageModelMessageContentValue; +type: LanguageModelMessageType; ``` -## LanguageModelMessageContent.type +## LanguageModelMessageContent.value Signature: ```typescript -type: LanguageModelMessageType; +value: LanguageModelMessageContentValue; ``` diff --git a/docs-devsite/ai.languagemodelmessageshorthand.md b/docs-devsite/ai.languagemodelmessageshorthand.md deleted file mode 100644 index bf821b31d5..0000000000 --- a/docs-devsite/ai.languagemodelmessageshorthand.md +++ /dev/null @@ -1,40 +0,0 @@ -Project: /docs/reference/js/_project.yaml -Book: /docs/reference/_book.yaml -page_type: reference - -{% comment %} -DO NOT EDIT THIS FILE! -This is generated by the JS SDK team, and any local changes will be -overwritten. Changes should be made in the source code at -https://github.com/firebase/firebase-js-sdk -{% endcomment %} - -# LanguageModelMessageShorthand interface -Signature: - -```typescript -export interface LanguageModelMessageShorthand -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [content](./ai.languagemodelmessageshorthand.md#languagemodelmessageshorthandcontent) | string | | -| [role](./ai.languagemodelmessageshorthand.md#languagemodelmessageshorthandrole) | [LanguageModelMessageRole](./ai.md#languagemodelmessagerole) | | - -## LanguageModelMessageShorthand.content - -Signature: - -```typescript -content: string; -``` - -## LanguageModelMessageShorthand.role - -Signature: - -```typescript -role: LanguageModelMessageRole; -``` diff --git a/docs-devsite/ai.md b/docs-devsite/ai.md index 699d3a83cd..b087d7037e 100644 --- a/docs-devsite/ai.md +++ b/docs-devsite/ai.md @@ -107,10 +107,9 @@ The Firebase AI Web SDK. | [InlineDataPart](./ai.inlinedatapart.md#inlinedatapart_interface) | Content part interface if the part represents an image. | | [LanguageModelCreateCoreOptions](./ai.languagemodelcreatecoreoptions.md#languagemodelcreatecoreoptions_interface) | | | [LanguageModelCreateOptions](./ai.languagemodelcreateoptions.md#languagemodelcreateoptions_interface) | | -| [LanguageModelExpectedInput](./ai.languagemodelexpectedinput.md#languagemodelexpectedinput_interface) | | +| [LanguageModelExpected](./ai.languagemodelexpected.md#languagemodelexpected_interface) | | | [LanguageModelMessage](./ai.languagemodelmessage.md#languagemodelmessage_interface) | | | [LanguageModelMessageContent](./ai.languagemodelmessagecontent.md#languagemodelmessagecontent_interface) | | -| [LanguageModelMessageShorthand](./ai.languagemodelmessageshorthand.md#languagemodelmessageshorthand_interface) | | | [ModalityTokenCount](./ai.modalitytokencount.md#modalitytokencount_interface) | Represents token counting info for a single modality. | | [ModelParams](./ai.modelparams.md#modelparams_interface) | Params passed to [getGenerativeModel()](./ai.md#getgenerativemodel_c63f46a). | | [ObjectSchemaInterface](./ai.objectschemainterface.md#objectschemainterface_interface) | Interface for [ObjectSchema](./ai.objectschema.md#objectschema_class) class. | @@ -149,7 +148,6 @@ The Firebase AI Web SDK. | --- | --- | | [BackendType](./ai.md#backendtype) | Type alias representing valid backend types. It can be either 'VERTEX_AI' or 'GOOGLE_AI'. | | [InferenceMode](./ai.md#inferencemode) | Determines whether inference happens on-device or in-cloud. | -| [LanguageModelInitialPrompts](./ai.md#languagemodelinitialprompts) | | | [LanguageModelMessageContentValue](./ai.md#languagemodelmessagecontentvalue) | | | [LanguageModelMessageRole](./ai.md#languagemodelmessagerole) | | | [LanguageModelMessageType](./ai.md#languagemodelmessagetype) | | @@ -383,14 +381,6 @@ Determines whether inference happens on-device or in-cloud. export type InferenceMode = 'prefer_on_device' | 'only_on_device' | 'only_in_cloud'; ``` -## LanguageModelInitialPrompts - -Signature: - -```typescript -export type LanguageModelInitialPrompts = LanguageModelMessage[] | LanguageModelMessageShorthand[]; -``` - ## LanguageModelMessageContentValue Signature: diff --git a/packages/ai/src/types/index.ts b/packages/ai/src/types/index.ts index 698f15b8ae..bd13140566 100644 --- a/packages/ai/src/types/index.ts +++ b/packages/ai/src/types/index.ts @@ -26,12 +26,10 @@ export * from './googleai'; export { LanguageModelCreateOptions, LanguageModelCreateCoreOptions, - LanguageModelExpectedInput, - LanguageModelInitialPrompts, + LanguageModelExpected, LanguageModelMessage, LanguageModelMessageContent, LanguageModelMessageContentValue, LanguageModelMessageRole, - LanguageModelMessageShorthand, LanguageModelMessageType } from './language-model'; diff --git a/packages/ai/src/types/language-model.ts b/packages/ai/src/types/language-model.ts index 503f3d49d0..83a728dc3b 100644 --- a/packages/ai/src/types/language-model.ts +++ b/packages/ai/src/types/language-model.ts @@ -15,7 +15,9 @@ * limitations under the License. */ /** - * {@see https://github.com/webmachinelearning/prompt-api#full-api-surface-in-web-idl} + * The subset of the Prompt API + * ({@see https://github.com/webmachinelearning/prompt-api#full-api-surface-in-web-idl}) + * required for hybrid functionality. */ export interface LanguageModel extends EventTarget { create(options?: LanguageModelCreateOptions): Promise; @@ -43,37 +45,26 @@ export enum Availability { export interface LanguageModelCreateCoreOptions { topK?: number; temperature?: number; - expectedInputs?: LanguageModelExpectedInput[]; + expectedInputs?: LanguageModelExpected[]; } export interface LanguageModelCreateOptions extends LanguageModelCreateCoreOptions { signal?: AbortSignal; - systemPrompt?: string; - initialPrompts?: LanguageModelInitialPrompts; + initialPrompts?: LanguageModelMessage[]; } export interface LanguageModelPromptOptions { responseConstraint?: object; // TODO: Restore AbortSignal once the API is defined. } -export interface LanguageModelExpectedInput { +export interface LanguageModelExpected { type: LanguageModelMessageType; languages?: string[]; } -export type LanguageModelPrompt = - | LanguageModelMessage[] - | LanguageModelMessageShorthand[] - | string; -export type LanguageModelInitialPrompts = - | LanguageModelMessage[] - | LanguageModelMessageShorthand[]; +export type LanguageModelPrompt = LanguageModelMessage[]; export interface LanguageModelMessage { role: LanguageModelMessageRole; content: LanguageModelMessageContent[]; } -export interface LanguageModelMessageShorthand { - role: LanguageModelMessageRole; - content: string; -} export interface LanguageModelMessageContent { type: LanguageModelMessageType; value: LanguageModelMessageContentValue;