diff --git a/docs-devsite/ai.chromeadapter.md b/docs-devsite/ai.chromeadapter.md index f497312c609..e9207614992 100644 --- a/docs-devsite/ai.chromeadapter.md +++ b/docs-devsite/ai.chromeadapter.md @@ -24,15 +24,15 @@ export interface ChromeAdapter | Method | Description | | --- | --- | -| [generateContent(request)](./ai.chromeadapter.md#chromeadaptergeneratecontent) | Generates content using on-device inference.

This is comparable to [GenerativeModel.generateContent()](./ai.generativemodel.md#generativemodelgeneratecontent) for generating content using in-cloud inference.

| -| [generateContentStream(request)](./ai.chromeadapter.md#chromeadaptergeneratecontentstream) | Generates a content stream using on-device inference.

This is comparable to [GenerativeModel.generateContentStream()](./ai.generativemodel.md#generativemodelgeneratecontentstream) for generating a content stream using in-cloud inference.

| +| [generateContent(request)](./ai.chromeadapter.md#chromeadaptergeneratecontent) | Generates content using on-device inference. | +| [generateContentStream(request)](./ai.chromeadapter.md#chromeadaptergeneratecontentstream) | Generates a content stream using on-device inference. | | [isAvailable(request)](./ai.chromeadapter.md#chromeadapterisavailable) | Checks if the on-device model is capable of handling a given request. | ## ChromeAdapter.generateContent() Generates content using on-device inference. -

This is comparable to [GenerativeModel.generateContent()](./ai.generativemodel.md#generativemodelgeneratecontent) for generating content using in-cloud inference.

+This is comparable to [GenerativeModel.generateContent()](./ai.generativemodel.md#generativemodelgeneratecontent) for generating content using in-cloud inference. Signature: @@ -54,7 +54,7 @@ Promise<Response> Generates a content stream using on-device inference. -

This is comparable to [GenerativeModel.generateContentStream()](./ai.generativemodel.md#generativemodelgeneratecontentstream) for generating a content stream using in-cloud inference.

+This is comparable to [GenerativeModel.generateContentStream()](./ai.generativemodel.md#generativemodelgeneratecontentstream) for generating a content stream using in-cloud inference. Signature: diff --git a/docs-devsite/ai.requestoptions.md b/docs-devsite/ai.requestoptions.md index 8178ef5b696..c04230fcd62 100644 --- a/docs-devsite/ai.requestoptions.md +++ b/docs-devsite/ai.requestoptions.md @@ -22,12 +22,12 @@ export interface RequestOptions | Property | Type | Description | | --- | --- | --- | -| [baseUrl](./ai.requestoptions.md#requestoptionsbaseurl) | string | Base url for endpoint. Defaults to https://firebasevertexai.googleapis.com | +| [baseUrl](./ai.requestoptions.md#requestoptionsbaseurl) | string | Base url for endpoint. Defaults to https://firebasevertexai.googleapis.com, which is the [Firebase AI Logic API](https://console.cloud.google.com/apis/library/firebasevertexai.googleapis.com?project=_) (used regardless of your chosen Gemini API provider). | | [timeout](./ai.requestoptions.md#requestoptionstimeout) | number | Request timeout in milliseconds. Defaults to 180 seconds (180000ms). | ## RequestOptions.baseUrl -Base url for endpoint. Defaults to https://firebasevertexai.googleapis.com +Base url for endpoint. Defaults to https://firebasevertexai.googleapis.com, which is the [Firebase AI Logic API](https://console.cloud.google.com/apis/library/firebasevertexai.googleapis.com?project=_) (used regardless of your chosen Gemini API provider). Signature: diff --git a/packages/ai/src/methods/chrome-adapter.ts b/packages/ai/src/methods/chrome-adapter.ts index 4dea4170c0d..8fc4b23e665 100644 --- a/packages/ai/src/methods/chrome-adapter.ts +++ b/packages/ai/src/methods/chrome-adapter.ts @@ -61,17 +61,17 @@ export class ChromeAdapterImpl implements ChromeAdapter { /** * Checks if a given request can be made on-device. * - *
    Encapsulates a few concerns: - *
  1. the mode
  2. - *
  3. API existence
  4. - *
  5. prompt formatting
  6. - *
  7. model availability, including triggering download if necessary
  8. - *
+ * Encapsulates a few concerns: + * the mode + * API existence + * prompt formatting + * model availability, including triggering download if necessary * - *

Pros: callers needn't be concerned with details of on-device availability.

- *

Cons: this method spans a few concerns and splits request validation from usage. + * + * Pros: callers needn't be concerned with details of on-device availability.

+ * Cons: this method spans a few concerns and splits request validation from usage. * If instance variables weren't already part of the API, we could consider a better - * separation of concerns.

+ * separation of concerns. */ async isAvailable(request: GenerateContentRequest): Promise { if (!this.mode) { @@ -129,8 +129,9 @@ export class ChromeAdapterImpl implements ChromeAdapter { /** * Generates content on device. * - *

This is comparable to {@link GenerativeModel.generateContent} for generating content in - * Cloud.

+ * @remarks + * This is comparable to {@link GenerativeModel.generateContent} for generating content in + * Cloud. * @param request - a standard Firebase AI {@link GenerateContentRequest} * @returns {@link Response}, so we can reuse common response formatting. */ @@ -149,8 +150,9 @@ export class ChromeAdapterImpl implements ChromeAdapter { /** * Generates content stream on device. * - *

This is comparable to {@link GenerativeModel.generateContentStream} for generating content in - * Cloud.

+ * @remarks + * This is comparable to {@link GenerativeModel.generateContentStream} for generating content in + * Cloud. * @param request - a standard Firebase AI {@link GenerateContentRequest} * @returns {@link Response}, so we can reuse common response formatting. */ @@ -228,11 +230,11 @@ export class ChromeAdapterImpl implements ChromeAdapter { /** * Triggers out-of-band download of an on-device model. * - *

Chrome only downloads models as needed. Chrome knows a model is needed when code calls - * LanguageModel.create.

+ * Chrome only downloads models as needed. Chrome knows a model is needed when code calls + * LanguageModel.create. * - *

Since Chrome manages the download, the SDK can only avoid redundant download requests by - * tracking if a download has previously been requested.

+ * Since Chrome manages the download, the SDK can only avoid redundant download requests by + * tracking if a download has previously been requested. */ private download(): void { if (this.isDownloading) { @@ -302,12 +304,12 @@ export class ChromeAdapterImpl implements ChromeAdapter { /** * Abstracts Chrome session creation. * - *

Chrome uses a multi-turn session for all inference. Firebase AI uses single-turn for all + * Chrome uses a multi-turn session for all inference. Firebase AI uses single-turn for all * inference. To map the Firebase AI API to Chrome's API, the SDK creates a new session for all - * inference.

+ * inference. * - *

Chrome will remove a model from memory if it's no longer in use, so this method ensures a - * new session is created before an old session is destroyed.

+ * Chrome will remove a model from memory if it's no longer in use, so this method ensures a + * new session is created before an old session is destroyed. */ private async createSession(): Promise { if (!this.languageModelProvider) { diff --git a/packages/ai/src/types/chrome-adapter.ts b/packages/ai/src/types/chrome-adapter.ts index 77c52eb9391..9ec0dc2a0ab 100644 --- a/packages/ai/src/types/chrome-adapter.ts +++ b/packages/ai/src/types/chrome-adapter.ts @@ -37,8 +37,9 @@ export interface ChromeAdapter { /** * Generates content using on-device inference. * - *

This is comparable to {@link GenerativeModel.generateContent} for generating - * content using in-cloud inference.

+ * @remarks + * This is comparable to {@link GenerativeModel.generateContent} for generating + * content using in-cloud inference. * @param request - a standard Firebase AI {@link GenerateContentRequest} */ generateContent(request: GenerateContentRequest): Promise; @@ -46,8 +47,9 @@ export interface ChromeAdapter { /** * Generates a content stream using on-device inference. * - *

This is comparable to {@link GenerativeModel.generateContentStream} for generating - * a content stream using in-cloud inference.

+ * @remarks + * This is comparable to {@link GenerativeModel.generateContentStream} for generating + * a content stream using in-cloud inference. * @param request - a standard Firebase AI {@link GenerateContentRequest} */ generateContentStream(request: GenerateContentRequest): Promise; diff --git a/packages/ai/src/types/requests.ts b/packages/ai/src/types/requests.ts index b1bde0bc290..ce18710192e 100644 --- a/packages/ai/src/types/requests.ts +++ b/packages/ai/src/types/requests.ts @@ -165,7 +165,10 @@ export interface RequestOptions { */ timeout?: number; /** - * Base url for endpoint. Defaults to https://firebasevertexai.googleapis.com + * Base url for endpoint. Defaults to + * https://firebasevertexai.googleapis.com, which is the + * {@link https://console.cloud.google.com/apis/library/firebasevertexai.googleapis.com?project=_ | Firebase AI Logic API} + * (used regardless of your chosen Gemini API provider). */ baseUrl?: string; }