Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test has a WPT meta file that expects 4 subtest issues.
- This WPT test may be referenced by the following Test IDs:
- /ai/language-model/language-model-availability-sampling-mode.tentative.https.window.html - WPT Dashboard Interop Dashboard
// META: title=Language Model Prompt - Sampling Mode Availability
// META: script=/resources/testdriver.js
// META: script=/resources/testdriver-vendor.js
// META: script=../resources/util.js
// META: timeout=long
'use strict';
promise_test(async t => {
const modes = ['most-predictable', 'predictable', 'balanced', 'creative', 'most-creative'];
for (const mode of modes) {
const result = await LanguageModel.availability({ samplingMode: mode });
assert_true(kValidAvailabilities.includes(result),
`Availability returned valid result for ${mode} mode`
);
}
}, 'LanguageModel.availability() accepts all valid sampling modes');
promise_test(async t => {
await promise_rejects_js(
t,
TypeError,
LanguageModel.availability({ samplingMode: 'balanced', temperature: 0.8 })
);
}, 'LanguageModel.availability() rejects when both samplingMode and temperature are provided');
promise_test(async t => {
await promise_rejects_js(
t,
TypeError,
LanguageModel.availability({ samplingMode: 'balanced', topK: 10 })
);
}, 'LanguageModel.availability() rejects when both samplingMode and topK are provided');
promise_test(async t => {
await promise_rejects_js(
t,
TypeError,
LanguageModel.availability({ samplingMode: 'balanced', temperature: 0.8, topK: 10 })
);
}, 'LanguageModel.availability() rejects when samplingMode, temperature and topK are provided');