Intent to Experiment: Proofreader API

30 views
Skip to first unread message

Queenie Zhang

unread,
12:52 PM (5 hours ago) 12:52 PM
to blin...@chromium.org

Contact emails

queeni...@google.com, yaej...@google.com


Explainer

https://github.com/explainers-by-googlers/proofreader-api/blob/main/README.md


Specification

Specification TBD, see explainer: https://github.com/webmachinelearning/proofreader-api/blob/main/README.md#full-api-surface-in-web-idl 


Summary

A JavaScript API for proofreading input text with suggested corrections, backed by an AI language model.




Blink component

Blink>AI>Proofreader


TAG review

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


TAG review status

Pending


Origin Trial documentation link

https://github.com/webmachinelearning/proofreader-api/blob/main/README.md


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 able to run one. 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, which could help extend it to more users. And the high-level nature of the API, which hides the details of the specific language model, prompts, etc., makes it harder for developers to depend on specific outputs: they are getting generalizable data structure featuring three optional high-level proofreading functionalities, i.e. corrected text, error labeling and explanation in plain text format. 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 prototyping period.



Gecko: No signal


WebKit: No signal


Web developers: Developers have expressed interest in our explainer and proposed more potential use cases for the API: https://github.com/webmachinelearning/proofreader-api/issues


Other signals:


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

Although the feature has been behind-a-flag and instruction has been sent for Early Preview Program, we are interested in gathering more feedback from developers and several partners in testing out the API with real users. We're looking forward to getting feedback from such testing, especially with regards to output quality and latency, and what cases of proofreading are handled well vs. poorly. We also want to understand whether we've found the right shape of output to inform what corrections are made and if it's easy to use, and whether we've offered the right set of options (correction types and explanations) to control the output and if the resulting types and explanations reflect those controls to the extent that developers expect.


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?

No

We plan to expand the web platform test coverage of the API surface over the course of the origin trial. The core algorithm might be difficult to test, given the nondeterministic nature of the output.


Flag name on about://flags

proofreader-api-for-gemini-nano


Finch feature name

AIProofreadingAPI


Non-finch justification

Developers will expect changes to the API to align with Chrome milestones. We will maintain the Finch flag as a kill switch in case there is a critical reason to disable access to the API globally.


Requires code in //chrome?

True


Tracking bug

https://crbug.com/403313556


Launch bug

https://launch.corp.google.com/launch/4399073


Estimated milestones

Origin trial desktop first

141

Origin trial desktop last

146

DevTrial on desktop

139



Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5164677291835392?gate=5170454291283968


Links to previous Intent discussions

Intent to Prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/5997efa7-c803-484d-a856-fdde7ff10c53n%40chromium.org



This intent message was generated by Chrome Platform Status.


Mike Taylor

unread,
1:31 PM (5 hours ago) 1:31 PM
to Queenie Zhang, blin...@chromium.org

LGTM

--
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+...@chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAHjrgRhxyH1_7F%2BwA1gXa%3DqniYjvOHqK5ksRovMFSf7R0FhcKw%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages