Chrome Prompt API คืออะไร? AI เบราว์เซอร์สำหรับนักพัฒนา API

Ashley Innocent

Ashley Innocent

29 April 2026

Chrome Prompt API คืออะไร? AI เบราว์เซอร์สำหรับนักพัฒนา API

Chrome ได้เผยแพร่โมเดล AI โดยตรงในเบราว์เซอร์ Prompt API คืออินเทอร์เฟซ JavaScript ที่คุณเรียกใช้เพื่อใช้งาน ไม่ต้องใช้คีย์ API, ไม่มีการเดินทางไปกลับของเครือข่าย, ไม่มีค่าใช้จ่ายต่อโทเค็น โมเดลคือ Gemini Nano ซึ่งทำงานบนอุปกรณ์ของผู้ใช้ และ ณ Chrome 138 โมเดลนี้พร้อมใช้งานทั่วไปสำหรับส่วนขยายและอยู่ภายใต้แฟล็กสำหรับหน้าเว็บ สำหรับนักพัฒนา API สิ่งนี้เปลี่ยนสิ่งที่สมเหตุสมผลที่จะทำบนฝั่งไคลเอ็นต์

คู่มือนี้ครอบคลุมถึง Chrome Prompt API คืออะไร, แตกต่างจาก Gemini API บนคลาวด์อย่างไร, เมื่อไหร่ที่เหมาะสมกับเวิร์กโฟลว์ของ API, โค้ดสำหรับส่วนขยายและหน้าเว็บ, และข้อจำกัดที่คุณจะพบเร็วกว่าที่เอกสารยอมรับ เราจะจับคู่กับ Apidog ในตอนท้าย เพื่อให้งานเดียวกันมีเส้นทางสำรองเมื่อโมเดลไม่พร้อมใช้งาน

ปุ่ม

สรุป

Prompt API เปิดเผยอะไรบ้าง

Prompt API เป็นหนึ่งในกลุ่มเล็กๆ ของ API "Built-in AI" ที่ Chrome เริ่มเผยแพร่เมื่อปีที่แล้ว ส่วนอื่นๆ มีขอบเขตแคบกว่า ได้แก่ Summarizer, Writer, Rewriter, Translator และ Language Detector Prompt API เป็นอินเทอร์เฟซอเนกประสงค์ ส่วนอื่นๆ จะห่อหุ้มด้วยค่าเริ่มต้นสำหรับงานเฉพาะ

สามสิ่งสำคัญคือ:

รูปแบบนี้ตั้งใจให้ใกล้เคียงกับ Gemini cloud SDK แต่ถูกตัดทอน ยังไม่มีการเรียกใช้เครื่องมือ, ไม่มีอินพุตภาพบนช่องสัญญาณที่เสถียร (อยู่ใน Origin Trial), และหน้าต่างบริบทมีขนาดเล็ก (อินพุต 4K โทเค็น, เอาต์พุต 1K, โดยมีการขยายแบบยืดหยุ่นเป็น 8K รวม)

การเรียกครั้งแรกจากหน้าเว็บมีลักษณะดังนี้:

if (!('LanguageModel' in window)) {
  console.warn('Prompt API not available. Falling back to cloud.');
} else {
  const status = await LanguageModel.availability();
  if (status === 'unavailable') {
    console.warn('Device does not support Gemini Nano.');
  } else {
    if (status !== 'available') {
      // Triggers a background download. Show a UI.
      await LanguageModel.create({ monitor(m) {
        m.addEventListener('downloadprogress', e => {
          console.log(`downloaded ${(e.loaded * 100).toFixed(0)}%`);
        });
      }});
    }
    const session = await LanguageModel.create({
      systemPrompt: 'You answer in three concise bullets. JSON only.',
    });
    const reply = await session.prompt(
      'Summarize this changelog in three bullets.\n\n' + changelog
    );
    console.log(reply);
  }
}

ทุกส่วนสำคัญแสดงอยู่ในโค้ดตัวอย่างนี้: การตรวจจับคุณสมบัติ, การตรวจสอบความพร้อมใช้งาน, การดาวน์โหลดทางเลือก, การสร้างเซสชัน, system prompt, การเรียกใช้ prompt

แตกต่างจาก Gemini API บนคลาวด์อย่างไร

ตระกูลเดียวกัน, การติดตั้งใช้งานต่างกัน ความแตกต่างเหล่านี้กำหนดสิ่งที่คุณสามารถและไม่สามารถสร้างบนมันได้

คุณสมบัติ Chrome Prompt API Gemini API (คลาวด์)
โมเดล Gemini Nano (บนอุปกรณ์) gemini-3-flash, gemini-3-flash-preview, gemini-3-pro
ค่าใช้จ่ายต่อการเรียก ศูนย์ การเรียกเก็บเงินตามโทเค็น
ความหน่วง 50 ถึง 300 มิลลิวินาที สำหรับโทเค็นแรกโดยทั่วไป 200 ถึง 800 มิลลิวินาที สำหรับโทเค็นแรก
เครือข่าย ไม่จำเป็นต้องใช้หลังจากดาวน์โหลดโมเดล จำเป็นทุกครั้งที่เรียก
ความเป็นส่วนตัว อินพุตไม่เคยออกจากอุปกรณ์ ถูกส่งไปยังเซิร์ฟเวอร์ของ Google
หน้าต่างบริบท อินพุต 4K / เอาต์พุต 1K (รวม 8K) สูงสุด 1M โทเค็น
การเรียกใช้เครื่องมือ ไม่มี (มีแผน) มี
มัลติโมดอล อินพุตภาพในการทดลอง Origin Trial มี
โหมด JSON พยายามอย่างเต็มที่ผ่าน system prompt ระดับเฟิร์สคลาสพร้อมสคีมา
ความพร้อมใช้งาน เฉพาะ Chrome, เฉพาะฮาร์ดแวร์ที่รองรับ ลูกค้าใดก็ได้ที่มีเครือข่าย

โมเดลบนอุปกรณ์มีขนาดเล็กกว่า `gemini-3-flash` ประมาณสองอันดับขนาด ใช้สำหรับงานสั้นๆ ที่คุณเคยใช้ regex หรือตัวจัดประเภท prompt ที่ปรับแต่งด้วยมือ อย่าใช้แทนที่ Gemini บนคลาวด์โดยตรง

เหมาะสมกับเวิร์กโฟลว์ของนักพัฒนา API อย่างไร

สี่กรณีการใช้งานที่คุ้มค่ากับค่าใช้จ่ายในการรวมระบบ นอกเหนือจากนี้ Cloud API ยังคงเป็นตัวเลือกที่ถูกต้อง

  1. 1. การแยกวิเคราะห์และปรับโครงสร้างอินพุตของผู้ใช้ฝั่งไคลเอ็นต์ รับคำค้นหาแบบอิสระและแปลงให้เป็นตัวกรองที่มีโครงสร้างสำหรับ API ของคุณ ผู้ใช้พิมพ์ "ค่าใช้จ่าย Stripe มากกว่า $100 เมื่อสัปดาห์ที่แล้ว" Prompt API จะแปลงเป็น { "amount_gt": 100, "since": "2026-04-22", "provider": "stripe" } ก่อนที่คุณจะเรียกใช้เอนด์พอยต์การค้นหาของคุณ ช่วยประหยัดการเดินทางไปกลับและปกป้องความเป็นส่วนตัวของผู้ใช้
  2. 2. การสรุปผลตอบสนอง API สำหรับ UI คุณเรียกใช้ API ของคุณเอง, ได้รับ 40 รายการ, และต้องการสรุปแบบบรรทัดเดียวเพื่อแสดงในการ์ด การส่งรายการไปยังโมเดลคลาวด์จะเพิ่มความหน่วงและค่าใช้จ่าย Prompt API ทำงานแบบโลคัลและคืนค่าภายใน 200 มิลลิวินาที
  3. 3. การซ่อมแซมโครงสร้าง JSON การตอบสนองของ LLM มักจะมาในรูปแบบที่ไม่ถูกต้องบ่อยครั้งพอที่จะเป็นปัญหา ลองใช้ Gemini Nano แก้ไขแบบครั้งเดียว: "นี่คือ JSON ที่ไม่ถูกต้อง คืนค่าเฉพาะ JSON ที่ถูกต้องโดยมีฟิลด์เดียวกัน" ราคาถูก, รวดเร็ว, ไม่มีค่าใช้จ่าย
  4. 4. การสร้าง Stub แบบโลคัลระหว่างการพัฒนา ในขณะที่คุณกำลังเชื่อมต่อเอนด์พอยต์ใหม่และแบ็กเอนด์ยังสร้างไม่เสร็จ ให้สร้างบอดี้การตอบสนองที่สมเหตุสมผลได้ทันที รูปแบบอาจจะไม่ถูกต้องตามการผลิต แต่ช่วยให้งานส่วนหน้าดำเนินต่อไปได้ รวมกับเซิร์ฟเวอร์ Mock ของ Apidog สำหรับการตั้งค่าแบบไฮบริดที่เอนด์พอยต์ที่สำคัญมาจากตัวอย่างที่บันทึกไว้และเอนด์พอยต์สำหรับการสำรวจมาจาก Prompt API

การสร้างลงในส่วนขยาย

ส่วนขยายจะได้รับ Prompt API บนช่องสัญญาณที่เสถียรตั้งแต่ Chrome 138 เป็นต้นไป คุณประกาศสิทธิ์และเรียกใช้ chrome.languageModel

manifest.json:

{
  "manifest_version": 3,
  "name": "Endpoint Summarizer",
  "version": "1.0.0",
  "permissions": ["languageModel"],
  "action": { "default_popup": "popup.html" }
}

popup.js:

const status = await chrome.languageModel.availability();
if (status === 'unavailable') {
  document.getElementById('out').textContent =
    'Device does not support on-device AI.';
  return;
}

const session = await chrome.languageModel.create({
  systemPrompt: [
    'You summarize HTTP responses in three short bullets.',
    'Mention status, the most-changed field, and any error keys.',
  ].join(' '),
  temperature: 0.3,
  topK: 3,
});

document.getElementById('go').addEventListener('click', async () => {
  const tab = await chrome.tabs.query({ active: true, currentWindow: true });
  const [{ result }] = await chrome.scripting.executeScript({
    target: { tabId: tab[0].id },
    func: () => document.body.innerText.slice(0, 4000),
  });
  const stream = session.promptStreaming(result);
  const out = document.getElementById('out');
  out.textContent = '';
  for await (const chunk of stream) {
    out.textContent += chunk;
  }
});

สองสิ่งที่ควรกล่าวถึง temperature และ topK เป็นพารามิเตอร์การสุ่มตัวอย่างเดียวที่ API เปิดเผย; topP ไม่รองรับบนช่องสัญญาณที่เสถียร การสตรีมเป็น async iterator ไม่ใช่ server-sent events ดังนั้นรูปแบบการใช้งานคือ for await แทนที่จะเป็น SSE reader ที่คุณจะเขียนสำหรับ cloud Gemini

การสร้างลงในหน้าเว็บ

หน้าเว็บต้องการให้ผู้ใช้เปิดแฟล็กหรือให้ origin ของคุณลงทะเบียนในการทดลอง Origin Trial โทเค็นการทดลองจะอยู่ในแท็ก meta

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="origin-trial" content="YOUR_TRIAL_TOKEN_HERE" />
</head>
<body>
  <textarea id="in" placeholder="Paste an API response..."></textarea>
  <button id="go">Summarize</button>
  <pre id="out"></pre>
  <script type="module">
    if (!('LanguageModel' in window)) {
      document.getElementById('out').textContent =
        'Prompt API not available in this browser.';
    } else {
      const session = await LanguageModel.create({
        systemPrompt: 'Reply in JSON: { "summary": "...", "tags": [...] }',
        temperature: 0.2,
      });
      document.getElementById('go').onclick = async () => {
        const text = document.getElementById('in').value;
        const reply = await session.prompt(text);
        try {
          document.getElementById('out').textContent =
            JSON.stringify(JSON.parse(reply), null, 2);
        } catch {
          document.getElementById('out').textContent = reply;
        }
      };
    }
  </script>
</body>
</html>

หากคุณต้องการทดสอบหน้าเว็บโดยไม่มีโทเค็น Origin Trial ให้เปิด chrome://flags/#prompt-api-for-gemini-nano, ตั้งค่าเป็น Enabled, และรีสตาร์ท Chrome แฟล็กนี้เสถียรมาตลอดหกเวอร์ชันล่าสุด แต่ไม่ได้รับปากว่าจะคงอยู่ตลอดไป; ให้ใช้งานเส้นทาง Origin Trial หากคุณต้องการพฤติกรรมที่คาดเดาได้

ข้อจำกัดและข้อควรระวังที่เอกสารไม่ได้เน้นมากพอ

หกสิ่งที่อาจทำให้คุณสะดุด:

  1. 1. บริบทมีขนาดเล็ก อินพุต 4K, เอาต์พุต 1K ตัดทอนอย่างรุนแรง อย่าคัดลอกเอกสาร JSON ขนาด 50K โทเค็นและคาดว่าจะได้คำตอบที่เป็นประโยชน์
  2. 2. การสนับสนุนฮาร์ดแวร์ไม่สม่ำเสมอ โมเดลต้องการ VRAM หรือหน่วยความจำรวมประมาณ 4 GB และทำงานได้เฉพาะบน Chrome 138+ บน Windows, macOS, Linux และ ChromeOS รุ่นล่าสุด Chrome บนมือถือยังไม่รองรับในขณะที่เขียนนี้
  3. 3. การโหลดครั้งแรกช้า การดาวน์โหลด 2 GB เกิดขึ้นในพื้นหลังแต่จะบล็อกเซสชันแรก แสดง UI ความคืบหน้าการดาวน์โหลดเสมอ
  4. 4. ไม่มีการเรียกใช้เครื่องมือ หากงานของคุณต้องการให้โมเดลเรียกใช้ API ของคุณ ให้ทำสิ่งนั้นบนฝั่งไคลเอ็นต์เอง; โมเดลเพียงแค่ตัดสินใจว่าจะเรียกอะไร
  5. 5. การเบี่ยงเบนของ System prompt โมเดลบนอุปกรณ์ปฏิบัติตาม system prompt น้อยกว่ารุ่นบนคลาวด์ กำหนดรูปแบบด้วยตัวอย่างแบบครั้งเดียวใน system prompt
  6. 6. สิทธิ์มีความสำคัญ ส่วนขยายต้องการ "languageModel" ใน permissions หากลืมไป API จะคืนค่า unavailable โดยไม่มีการแจ้งเตือน

เชื่อมต่อ Fallback บนคลาวด์ก่อนที่คุณจะเผยแพร่

แอปของคุณเผยแพร่ให้กับผู้ใช้ที่ไม่มีโมเดล เชื่อมต่อ Fallback เสมอ รูปแบบสั้นๆ:

async function summarize(text) {
  if ('LanguageModel' in window) {
    const status = await LanguageModel.availability();
    if (status === 'available') {
      const session = await LanguageModel.create({
        systemPrompt: 'Reply with one bullet summary, max 12 words.',
      });
      return session.prompt(text);
    }
  }
  // Fallback: call your server, which calls cloud Gemini or your own model.
  const r = await fetch('/api/summarize', {
    method: 'POST', body: JSON.stringify({ text }),
  });
  return (await r.json()).summary;
}

ความเป็นส่วนตัวและสิ่งที่จะบอกผู้ใช้

จุดเด่นของ Prompt API คืออินพุตไม่เคยออกจากอุปกรณ์ นั่นเป็นความจริงในปัจจุบันและเป็นเจตนาการออกแบบที่ชัดเจนของโครงการ Built-in AI สองข้อสังเกตที่ควรทราบ:

สำหรับแอปสำหรับผู้บริโภคส่วนใหญ่ นี่เป็นเรื่องราวความเป็นส่วนตัวที่แข็งแกร่งที่คุณสามารถใส่ใน UI ของคุณได้โดยไม่ต้องมีการตรวจสอบทางกฎหมาย สำหรับภาระงานที่มีการควบคุม (HIPAA, PCI) ให้ปรึกษาทนายความก่อนที่คุณจะพึ่งพามัน

เมื่อใดที่ควรข้าม Prompt API

เลือกใช้ cloud Gemini API แทนเมื่อ:

สำหรับมุมมองแบบ open-weight บทความ วิธีรัน DeepSeek V4 บนเครื่อง ครอบคลุมการรันโมเดลขนาดใหญ่ขึ้นอย่างมีนัยสำคัญบนเครื่องของนักพัฒนาโดยไม่ต้องออกจากเครือข่ายท้องถิ่น

คำถามที่พบบ่อย

Prompt API อยู่ในกระบวนการมาตรฐานเว็บอย่างเป็นทางการหรือไม่? อยู่ในกลุ่มชุมชน W3C WebML ในฐานะข้อเสนอ ถือว่าเป็นของ Chrome โดยเฉพาะจนกว่าเอนจิ้นอื่นจะรองรับ

ฉันสามารถใช้จาก Service Worker ได้หรือไม่? ใน Chrome 138+ ใช่สำหรับส่วนขยาย หน้าเว็บปัจจุบันจำกัดให้อยู่ในบริบทของเอกสาร ตรวจสอบเอกสารก่อนที่คุณจะเผยแพร่ไปยัง Service Worker

ฉันกำลังได้รับโมเดลขนาดเท่าใด? Gemini Nano อยู่ในช่วง 2-4 พันล้านพารามิเตอร์ โดยถูกควอนไทซ์เพื่อให้เหมาะสม Google ยังไม่ได้กำหนดขนาดที่แน่นอน; คาดว่าจะเติบโตขึ้น

รองรับการเรียกใช้ฟังก์ชันหรือไม่? ไม่รองรับบนช่องสัญญาณที่เสถียร สาขา Origin Trial มีการสนับสนุนเครื่องมือทดลอง; อย่าพึ่งพามันสำหรับการผลิต

ฉันจะทดสอบใน CI แบบอัตโนมัติได้อย่างไร? คุณยังไม่สามารถรันโมเดลบนอุปกรณ์ใน headless Chromium ได้ Mock LanguageModel ทั่วไปในการทดสอบและรันเส้นทาง fallback บนคลาวด์ใน CI

ใช้งานเชิงพาณิชย์ได้ฟรีหรือไม่? ได้ ไม่มีค่าใช้จ่ายต่อการเรียก คุณต้องรับผิดชอบค่าใช้จ่ายในการจัดเก็บข้อมูลบนอุปกรณ์ของผู้ใช้ (ประมาณ 2 GB) และ Chrome จะจัดการการอัปเดต

สำหรับทีมที่รันเวิร์กโฟลว์ LLM ฝั่งคลาวด์ควบคู่ไปกับสิ่งนี้ บทความ GPT-5.5 คืออะไร ครอบคลุมการแลกเปลี่ยนฝั่งคลาวด์อย่างละเอียด และ Apidog จัดการการจำลองและเชื่อมต่อ fallback โดยไม่ต้องใช้เครื่องมือทดสอบแยกต่างหาก

ปุ่ม

ฝึกการออกแบบ API แบบ Design-first ใน Apidog

ค้นพบวิธีที่ง่ายขึ้นในการสร้างและใช้ API