Contact emails

dome...@chromium.org, fer...@chromium.org, kenjibah...@chromium.org, 
m...@chromium.org, btri...@chromium.org, ds...@chromium.org, 
a...@chromium.org

Explainer

https://github.com/explainers-by-googlers/writing-assistance-apis/blob/main/README.md

Specification

https://webmachinelearning.github.io/writing-assistance-apis/#summarizer-api
 

Summary

A JavaScript API for producing summaries of input text, backed by an AI 
language model.


Blink component

Blink>AI>Summarization 
<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EAI%3ESummarization%22>

TAG review

https://github.com/w3ctag/design-reviews/issues/991

TAG review status

Pending

Origin Trial Name

Summarization API

Chromium Trial Name

AISummarizationAPI

Origin Trial documentation link

https://developer.chrome.com/docs/ai/summarizer-api 

WebFeature UseCounter name

kSummarizer_Summarize

Risks

Interoperability and Compatibility

This feature has definite interoperability and compatibility risks, due to 
the likelihood that different implementations will use different language 
models, prompts, and fine-tunings, and even within a single implementation 
such as Chrome, these pieces will likely change over time. Additionally, 
not all browsers and operating systems will have a built-in language model 
to expose, and not all devices will be powerful enough to run one 
effectively.

We are taking a variety of steps to attempt to mitigate these risks. For 
example, the specification is designed to allow the API to be backed by a 
cloud-based language model. This approach could extend the functionality to 
a wider range of devices and users. The API is designed to abstract away 
the specifics of the underlying language model, including prompts and 
fine-tuning. This prevents developers from relying on specific outputs, 
ensuring they receive a generalized summary rather than structured data 
that might vary across implementations. Finally, the API surface is 
designed with many clear points of failure, that encourage the developer to 
probe for capabilities ahead of time and fall back to other techniques if a 
capability is not available.

Nevertheless, interoperability and compatibility risk remains high for 
these sorts of APIs, and we'll be closely monitoring it during the 
experimentation period.


Gecko: Defer (https://github.com/mozilla/standards-positions/issues/1067)

WebKit: No signal (https://github.com/WebKit/standards-positions/issues/393)

Web developers: Mixed signals (https://github.com/WICG/proposals/issues/163) 
Prototyping with partners behind a flag revealed enthusiasm and many 
prototypes built, from which we drew the discussion of potential use cases 
[1]. Feedback on the WICG thread was more mixed. Some themes we saw 
include: asking for more capabilities (e.g. full prompting of a language 
model instead of higher-level APIs (our response at [2]); multi-modal 
support); desire to make sure the API actually works robustly in many 
real-world use cases; removal of any safety/ethical safeguards; and 
confusion about client-side vs. cloud APIs. [1]: 
https://github.com/WICG/writing-assistance-apis/blob/main/README.md#summarizer-api
 
[2]: 
https://github.com/WICG/writing-assistance-apis/blob/main/README.md#directly-exposing-a-prompt-api

Other signals:

Activation

This feature would definitely benefit from having polyfills, backed by any 
of: cloud services, lazily-loaded client-side models using WebGPU, or the 
web developer's own server. We anticipate seeing an ecosystem of such 
polyfills grow as more developers experiment with this API.


WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that 
it has potentially high risk for Android WebView-based applications?

None


Goals for experimentation
We're most interested in feedback on whether the summarization quality we 
can provide is useful to sites, and whether the options we've defined for 
controlling the summarization are useful. Additionally, we want to learn 
about the impact of the current API's limitations, e.g. maximum input 
length, to determine where we should spend our best effort lifting those 
limits.
The origin trial will be limited to English-language input to start. We are 
hoping to add support for more languages over time. Learning how much of a 
limitation this is, and which languages ought to be prioritized, will also 
be helpful.
Finally, we're also interested in feedback about the API shape and ease of 
use.

Reason this experiment is being extended

Since the start of Origin Trial we've incorporated developer feedback and 
have iterated on API shape, making several breaking changes. We would like 
to continue experimenting and collect feedback on the new shape before 
launch.

Progress since the original intent includes:

   - 
   
   Spec: Spec 
   
<https://webmachinelearning.github.io/writing-assistance-apis/#summarizer-api> 
   is now complete
   - 
   
   TAG review: Still pending 
   <https://github.com/w3ctag/design-reviews/issues/991>
   - 
   
   Signals requests: Firefox has updated to defer 
   <https://github.com/mozilla/standards-positions/issues/1067>
   - 
   
   Outreach for feedback from spec community: This API has been discussed 
   at Web ML Community Group meetings.
   - 
   
   WPT tests: We’ve added some basic WPT tests 
   
<https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/external/wpt/ai/summarizer/>
   
API interface updates made since original intent:

   - 
   
   Removed the “ai” namespace 
   <https://github.com/webmachinelearning/writing-assistance-apis/issues/9>
   - 
   
   Updating model availability values 
   <https://github.com/webmachinelearning/writing-assistance-apis/issues/29>
   - 
   
   Updating interface for availability testing and expected language options 
   <https://github.com/webmachinelearning/writing-assistance-apis/pull/22>
   - 
   
   Adding permissions policies & removing worker support 
   <https://github.com/webmachinelearning/writing-assistance-apis/pull/46>
   - 
   
   Updating values for model download progress 
   <https://github.com/webmachinelearning/writing-assistance-apis/pull/30>
   

Ongoing technical constraints

None.


Debuggability

It is possible that giving DevTools more insight into the nondeterministic 
states of the model, e.g. random seeds, could help with debugging. See 
related discussion at 
https://github.com/explainers-by-googlers/prompt-api/issues/9.


Will this feature be supported on all six Blink platforms (Windows, Mac, 
Linux, ChromeOS, Android, and Android WebView)?

No

Not all platforms will come with a language model. In particular, in the 
initial stages we are focusing on Windows, Mac, and Linux.


Is this feature fully tested by web-platform-tests 
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
?

No

We have added some web platform test coverage for this feature (
https://wpt.fyi/results/ai/summarizer?label=experimental&label=master&aligned), 
and plan to expand coverage of the API surface over the course of the 
Origin Trial. How much we are able to test beyond the surface API is 
unclear, given the nondeterministic nature of the output. The explainer 
discusses this in 
https://github.com/WICG/writing-assistance-apis/blob/main/README.md#specifications-and-tests
.


Flag name on about://flags

summarization-api-for-gemini-nano

Finch feature name

EnableAISummarizationAPI

Requires code in //chrome?

True

Tracking bug

https://issues.chromium.org/issues/351744634

Estimated milestones

Origin trial desktop first

131

Origin trial desktop last

136

Origin trial extension 1 end milestone

139

DevTrial on desktop

129


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5193953788559360

Links to previous Intent discussions

Intent to Prototype: 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra8iMt24s_jP9Ng9_RKU3cH4wFywAt00kitJCeMJ3CaUAw%40mail.gmail.com

Intent to Experiment: 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra8d6bZo%2B9-8Rum0N%3D4oFpwVfquqAzRC7mu1GTyVeDWw5A%40mail.gmail.com

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/36e92da7-5011-4a2a-ae69-7103a3fb985bn%40chromium.org.

Reply via email to