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/semantic_embedder/semantic-embedder-create.tentative.https.window.html - WPT Dashboard Interop Dashboard
// META: title=Embedder Create
// 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 => {
await ensureEmbedder();
let embedder = await createEmbedder();
assert_true(embedder instanceof SemanticEmbedder);
}, 'SemanticEmbedder.create() returns a valid object with default options');
promise_test(async t => {
await ensureEmbedder();
let embedder = await createEmbedder();
let result = await embedder.embed("hello");
assert_true(typeof result === 'object');
assert_true(Array.isArray(result.embeddings));
assert_equals(result.embeddings.length, 1);
let embedding = result.embeddings[0];
assert_true(embedding.values instanceof Float32Array);
assert_true(embedding.values.length > 0);
assert_equals(typeof embedding.values[0], 'number');
}, 'SemanticEmbedder.embed() returns SemanticEmbedderResult for single string');
promise_test(async t => {
await ensureEmbedder();
let embedder = await createEmbedder();
let result = await embedder.embed(["hello", "world"]);
assert_true(typeof result === 'object');
assert_true(Array.isArray(result.embeddings));
assert_equals(result.embeddings.length, 2);
let embedding = result.embeddings[0];
assert_true(embedding.values instanceof Float32Array);
assert_true(embedding.values.length > 0);
assert_equals(typeof embedding.values[0], 'number');
}, 'SemanticEmbedder.embed() returns SemanticEmbedderResult for batch strings');
promise_test(async t => {
await ensureEmbedder();
let embedder = await createEmbedder();
let result = await embedder.embed("hello", { taskType: "classification" });
assert_true(typeof result === 'object');
assert_true(Array.isArray(result.embeddings));
assert_equals(result.embeddings.length, 1);
}, 'SemanticEmbedder.embed() accepts taskType option');