Chuyển đến nội dung
tinAI
Quay lại

Chrome Prompt API: gọi Gemini Nano on-device từ JavaScript với input text/image/audio

developer.chrome.com · Loại nguồn: tài liệu 2026-04-27T23:08:01.341Z
Bản dịch tiếng Việt của tinAI · Từ The Prompt API (developer.chrome.com) · Ngày gốc: · Dịch ngày:

và giữ bối cảnh từ bản tin tinAI đã giới thiệu bài này .

Bài gốc: The Prompt API (developer.chrome.com)

Tác giả: Thomas Steiner & Alexandra Klepper (Chrome team)

Ngày đăng: Dịch ngày:

TL;DR

Chrome ship Prompt API trong origin trial — JavaScript API gọi Gemini Nano chạy on-device, không gửi data ra ngoài, không tốn API cost. Hỗ trợ multimodal input (text/image/audio), chỉ output text, ngôn ngữ `en/ja/es`. Dùng được cho web (Chrome 138) và Chrome Extensions với cấu hình tham số sampling đầy đủ.

Ước tính đọc: 2 phút

Giới thiệu

Prompt API cho phép bạn gửi natural language request đến Gemini Nano — chạy trực tiếp trong browser. Vì model on-device:

Tính năng chính

Multimodal input

API accept ba loại input:

Output: chỉ text. Languages hỗ trợ: en, ja, es (đang phát triển thêm).

Use cases

Cách sử dụng

Kiểm tra availability

const availability = await LanguageModel.availability();
// 'available' | 'downloadable' | 'downloading' | 'unavailable'

Nếu trạng thái là downloading, lắng nghe progress để inform user — model size khá lớn.

Tạo session

const session = await LanguageModel.create();
const response = await session.prompt('Tóm tắt page này');

Với Chrome Extensions, có thể custom topKtemperature:

const params = await LanguageModel.params();
// { defaultTopK: 3, maxTopK: 128, defaultTemperature: 1, maxTemperature: 2 }

const session = await LanguageModel.create({
  temperature: Math.max(params.defaultTemperature * 1.2, 2.0),
  topK: params.defaultTopK,
});

Abort signal

const controller = new AbortController();
stopButton.onclick = () => controller.abort();

const session = await LanguageModel.create({
  signal: controller.signal,
});

Initial prompts (conversational state)

const session = await LanguageModel.create({
  initialPrompts: [
    { role: 'system', content: 'You are a helpful and friendly assistant.' },
    { role: 'user', content: 'What is the capital of Italy?' },
    { role: 'assistant', content: 'The capital of Italy is Rome.' },
  ],
});

Constraint output với prefix

Ép model trả về theo format cụ thể bằng cách prefill phần đầu của assistant response:

const characterSheet = await session.prompt([
  {
    role: 'user',
    content: 'Create a TOML character sheet for a gnome barbarian',
  },
  {
    role: 'assistant',
    content: '```toml\n',
    prefix: true,
  },
]);

Multimodal session

const session = await LanguageModel.create({
  expectedInputs: [
    { type: 'text', languages: ['en', 'ja'] },
    { type: 'image' },
  ],
  expectedOutputs: [
    { type: 'text', languages: ['ja'] },
  ],
});

Nếu model encounter input/output không support, ném NotSupportedError DOMException.

Bật trên localhost

Để test trên localhost, set hai flag thành Enabled rồi relaunch Chrome:

Trạng thái triển khai

TrialChrome versionScope
Origin trial cơ bảnChrome 138Web pages
Origin trial sampling parametersChrome 148Topic, temperature controls

Lưu ý


Đường dẫn nguồn

tinAI dịch bài này sang tiếng Việt từ The Prompt API (developer.chrome.com) · Loại nguồn: tài liệu và giữ bối cảnh từ bản tin tinAI đã giới thiệu bài này .

Bản tin này có 3 bài dịch liên quan từ cùng bản tin.

Đọc tiếp từ đây

Bạn có thể quay lại bản tin nguồn hoặc mở kho bài dịch để đọc tiếp.

Các bài bên dưới cùng xuất hiện trong bản tin nguồn, nên giữ chung bối cảnh đọc với bài này.

Các bài liên quan trong cùng bản tin trải trên 2 loại nguồn (2 bài). Loại nguồn: công ty/blog 1 Loại nguồn: GitHub 1