Automatic update from web-platform-tests [Prompt API] Decouple AIPromptAPILegacyParams from Web Origin Trial Unlink the legacy raw parameter surfaces (temperature, topK, and params()) from the active AIPromptAPIParams Web Origin Trial. Standard web pages participating in the Origin Trial will no longer have functional access to these legacy parameters (the values are ignored and trigger console deprecation warnings). These parameter surfaces remain fully functional in Extension contexts (which explicitly enable the legacy flag) and when manually enabled via command-line flags. Bug: 502214118 Change-Id: I151798b36d18b910edd031c21aaec073578c1c3c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7869250 Reviewed-by: Mike Wasserman <msw@chromium.org> Commit-Queue: Isaac Ahouma <iahouma@google.com> Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org> Cr-Commit-Position: refs/heads/main@{#1646755} -- wpt-commits: 4c8560de79d486b060273a8d8acb00d0a80a756e wpt-pr: 60629
66 lines
2.3 KiB
JavaScript
66 lines
2.3 KiB
JavaScript
// META: title=Language Model Params
|
|
// META: script=/resources/testdriver.js
|
|
// META: script=/resources/testdriver-vendor.js
|
|
// META: script=../resources/util.js
|
|
// META: timeout=long
|
|
|
|
'use strict';
|
|
|
|
const legacyParamsEnabled = ('params' in LanguageModel);
|
|
|
|
if (legacyParamsEnabled) {
|
|
promise_test(async () => {
|
|
await ensureLanguageModel();
|
|
const params = await LanguageModel.params();
|
|
assert_true(!!params);
|
|
assert_equals(typeof params.defaultTopK, 'number');
|
|
assert_equals(typeof params.maxTopK, 'number');
|
|
assert_equals(typeof params.defaultTemperature, 'number');
|
|
assert_equals(typeof params.maxTemperature, 'number');
|
|
}, 'LanguageModel.params() returns valid parameters');
|
|
|
|
promise_test(async () => {
|
|
await ensureLanguageModel();
|
|
const session = await createLanguageModel();
|
|
assert_equals(typeof session.topK, 'number');
|
|
assert_equals(typeof session.temperature, 'number');
|
|
session.destroy();
|
|
}, 'Default session has topK and temperature as numbers');
|
|
|
|
promise_test(async () => {
|
|
await ensureLanguageModel();
|
|
const session = await createLanguageModel({topK: 2, temperature: 0.6});
|
|
assert_equals(session.topK, 2);
|
|
assert_equals(session.temperature, Math.fround(0.6));
|
|
|
|
const clonedSession = await session.clone();
|
|
assert_equals(clonedSession.topK, session.topK);
|
|
assert_equals(clonedSession.temperature, session.temperature);
|
|
|
|
session.destroy();
|
|
clonedSession.destroy();
|
|
}, 'Create and clone with topK and temperature preserves values');
|
|
} else {
|
|
promise_test(async () => {
|
|
await ensureLanguageModel();
|
|
assert_false('params' in LanguageModel);
|
|
}, 'LanguageModel.params static accessor does not exist');
|
|
|
|
promise_test(async () => {
|
|
await ensureLanguageModel();
|
|
const session = await createLanguageModel();
|
|
assert_equals(session.topK, undefined);
|
|
assert_equals(session.temperature, undefined);
|
|
session.destroy();
|
|
}, 'Default session does not have topK and temperature');
|
|
|
|
promise_test(async () => {
|
|
await ensureLanguageModel();
|
|
const session = await createLanguageModel({topK: 2, temperature: 0.6});
|
|
assert_equals(session.topK, undefined);
|
|
assert_equals(session.temperature, undefined);
|
|
session.destroy();
|
|
}, 'Create with topK and temperature ignored');
|
|
}
|
|
|