Chrome Prompt API Nedir? API Geliştiricileri İçin Tarayıcı Yapay Zekası

Ashley Innocent

Ashley Innocent

29 April 2026

Chrome Prompt API Nedir? API Geliştiricileri İçin Tarayıcı Yapay Zekası

Kurumsal İçin Apidog

Şirket İçi (On-Premises) Dağıtım

SSO ve RBAC

SOC 2 Uyumlu

Apidog Enterprise'ı Keşfedin

Chrome, doğrudan tarayıcının içine bir yapay zeka modeli yerleştirdi. Prompt API, onu kullanmak için çağırdığınız JavaScript arayüzüdür. API anahtarı yok, ağ gidiş-dönüşü yok, token başına ücret yok. Model Gemini Nano'dur, kullanıcının cihazında çalışır ve Chrome 138 itibarıyla uzantılar için genel olarak kullanılabilir olup web sayfaları için bir bayrağın arkasındadır. API geliştiricileri için bu, istemcide makul olanı değiştirir.

Bu kılavuz, Chrome Prompt API'nin ne olduğunu, bulut Gemini API'den nasıl farklılaştığını, bir API iş akışına ne zaman uygun olduğunu, hem uzantılar hem de web sayfaları için uygulamalı kodu ve belgelerin kabul ettiğinden daha hızlı karşılaşacağınız sınırlamaları kapsar. Model mevcut olmadığında aynı görevlerin yedek bir yolu olması için sonunda Apidog ile eşleştiriyoruz.

düğme

Özet

Prompt API aslında neyi sunuyor?

Prompt API, Chrome'un geçen yıl sunmaya başladığı küçük bir "Yerleşik Yapay Zeka" API grubundan biridir. Diğerleri daha dardır: Özetleyici, Yazar, Yeniden Yazıcı, Çevirmen ve Dil Algılayıcı. Prompt API genel amaçlı bir arayüzdür; diğerleri onu göreve özel varsayılanlarla sarmalar.

image-236

Üç temel öğe önemlidir:

Şekil, kasıtlı olarak Gemini bulut SDK'sına yakındır ancak kırpılmıştır. Henüz araç çağırma yok, kararlı kanalda görüntü girişi yok (Origin Trial'da), ve bağlam penceresi küçüktür (4K girdi token'ı, 1K çıktı token'ı, toplamda 8K'ya kadar yumuşak genişleme ile).

Bir web sayfasından ilk çağrı şöyle görünür:

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);
  }
}

Her anlamlı parça kod parçasında sergilenmiştir: özellik algılama, kullanılabilirlik kontrolü, isteğe bağlı indirme, oturum oluşturma, sistem istemi, istem çağrısı.

Bulut Gemini API'den farkı nedir?

Aynı aile, farklı dağıtım. Farklılıklar, üzerine ne inşa edip ne inşa edemeyeceğinizi şekillendirir.

Özellik Chrome Prompt API Gemini API (bulut)
Model Gemini Nano (cihaz üzerinde) gemini-3-flash, gemini-3-flash-preview, gemini-3-pro
Çağrı başına maliyet Sıfır Token başına ücretlendirme
Gecikme Tipik ilk token 50 ila 300 ms İlk token 200 ila 800 ms
Model indirildikten sonra gerekli değil Her çağrıda gerekli
Gizlilik Giriş asla cihazdan ayrılmaz Google sunucularına gönderilir
Bağlam penceresi 4K girdi / 1K çıktı (8K birleşik) 1M token'a kadar
Araç çağırma Yok (planlanıyor) Var
Çok modlu Origin Trial'da görüntü girişi Var
JSON modu Sistem istemi aracılığıyla en iyi çaba Şema ile birinci sınıf
Kullanılabilirlik Yalnızca Chrome, yalnızca uyumlu donanım Ağ erişimi olan herhangi bir istemci

Cihaz içi model, gemini-3-flash'ten kabaca iki kat daha küçüktür. Bir regex veya elle ayarlanmış bir istem sınıflandırıcısı göndereceğiniz kısa görevler için kullanın. Bulut Gemini için doğrudan bir ikame olarak kullanmayın.

Bir API geliştiricisinin iş akışına gerçekte nerede uyar?

Dört kullanım durumu entegrasyon maliyetini karşılar. Bunların dışında, bulut API hala doğru seçimdir.

1. İstemci tarafında kullanıcı girişini ayrıştırma ve yeniden şekillendirme. Serbest biçimli bir sorguyu alın ve API'niz için yapılandırılmış bir filtreye dönüştürün. Kullanıcı "geçen hafta 100 dolardan fazla stripe ücretleri" yazar; Prompt API, arama uç noktanızı çağırmadan önce bunu { "amount_gt": 100, "since": "2026-04-22", "provider": "stripe" } şekline dönüştürür. Gidiş-dönüşü azaltır ve kullanıcı gizliliğini korur.

2. Kullanıcı arayüzü için API yanıtlarını özetleme. Kendi API'nizi çağırır, 40 kayıt alırsınız ve bir kartta göstermek için tek satırlık bir özete ihtiyacınız olur. Kayıtları bir bulut modeline göndermek gecikme ve maliyet ekler. Prompt API yerel olarak çalışır ve 200 ms'den daha kısa sürede yanıt verir.

3. JSON şekil onarımı. LLM yanıtları, önemli olacak kadar sık bozuk gelir. Gemini Nano aracılığıyla tek seferlik bir onarım geçişi çalıştırın: “İşte geçersiz JSON. Yalnızca aynı alanlara sahip geçerli JSON döndürün.” Ucuz, hızlı, maliyetsiz.

4. Geliştirme sırasında yerel taslak oluşturma. Yeni bir uç nokta bağlarken ve arka uç yarı inşa edilmişken, anında makul yanıt gövdeleri oluşturun. Şekiller üretime uygun olmayabilir, ancak ön uç çalışmasını engellemeyi kaldırırlar. Kritik uç noktaların kaydedilmiş örneklerden geldiği ve keşif amaçlı olanların Prompt API'den geldiği hibrit bir kurulum için Apidog'un sahte sunucusuyla birleştirin.

Uzantıya dahil etme

Uzantılar, Chrome 138 ve sonraki sürümlerden itibaren kararlı kanalda Prompt API'ye erişebilir. İzni bildirir ve chrome.languageModel'i çağırırsınız.

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;
  }
});

Vurgulanmaya değer iki şey var. temperature ve topK API'nin sunduğu tek örnekleme düğmeleridir; topP kararlı kanalda desteklenmemektedir. Akış, sunucu tarafından gönderilen olaylar değil, bir asenkron yineleyicidir, bu nedenle tüketim deseni bulut Gemini için yazacağınız SSE okuyucusundan ziyade for await şeklindedir.

Web sayfasına dahil etme

Web sayfalarının, kullanıcının bir bayrağı açmasını veya kaynağınızın Origin Trial'a kaydedilmesini gerektirir. Deneme jetonu bir meta etiketinde yer alır.

<!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>

Sayfayı bir Origin Trial jetonu olmadan test etmek isterseniz, chrome://flags/#prompt-api-for-gemini-nano adresini açın, Etkin olarak ayarlayın ve Chrome'u yeniden başlatın. Bayrak son altı sürümde kararlıydı ancak sonsuza kadar kalacağı sözü verilmemektedir; tahmin edilebilir bir davranış istiyorsanız Origin Trial yolunu kullanın.

Belgelerin yeterince vurgulamadığı sınırlamalar ve tuzaklar

Sizi tökezletecek altı şey.

  1. Bağlam küçük. 4K girdi, 1K çıktı. Agresif bir şekilde kırpın. 50K token'lık bir JSON belgesi yapıştırıp faydalı bir yanıt beklemeyin.
  2. Donanım desteği düzensiz. Model kabaca 4 GB VRAM veya birleşik bellek gerektirir ve yalnızca Windows, macOS, Linux ve güncel ChromeOS üzerinde Chrome 138+ sürümlerinde çalışır. Bu yazı itibarıyla mobil Chrome desteklenmemektedir.
  3. İlk yükleme yavaş. 2 GB'lık indirme arka planda gerçekleşir ancak ilk oturumu engeller. Her zaman bir indirme ilerleme kullanıcı arayüzü gösterin.
  4. Araç çağırma yok. Göreviniz modelin API'nizi çağırmasını gerektiriyorsa, bunu istemcide kendiniz yapın; model sadece ne çağırılacağına karar verir.
  5. Sistem istemi kayması. Cihaz içi model, sistem istemlerini bulut varyantlarına göre daha az katı bir şekilde takip eder. Biçimi, sistem isteminde tek seferlik örneklerle sabitleyin.
  6. İzinler önemli. Uzantılar, permissions içinde "languageModel"'a ihtiyaç duyar. Bunu unutursanız API sessizce unavailable döndürür.

Yayınlamadan önce bir bulut yedeklemesi bağlayın

Uygulamanız, modele sahip olmayan kullanıcılara gönderilir. Her zaman bir yedekleme bağlayın. Desen kısadır:

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;
}

Gizlilik ve kullanıcılara ne söylenmeli

Prompt API'nin satış noktası, girdinin asla cihazdan ayrılmamasıdır. Bu bugün de doğrudur ve Yerleşik Yapay Zeka girişiminin açık tasarım amacıdır. Bilinmesi gereken iki nitelik:

Çoğu tüketici uygulaması için bu, hukuki inceleme olmadan kullanıcı arayüzünüze koyabileceğiniz güçlü bir gizlilik hikayesidir. Düzenlenmiş iş yükleri (HIPAA, PCI) için, ona güvenmeden önce avukatınıza danışın.

Prompt API'yi ne zaman atlamalı

Bunun yerine bulut Gemini API'yi şu durumlarda seçin:

Açık ağırlık açısından, DeepSeek V4 yerel olarak nasıl çalıştırılır makalesi, yerel ağı terk etmeden bir geliştirme makinesinde anlamlı ölçüde daha büyük bir model çalıştırmayı kapsar.

Sıkça Sorulan Sorular

Bunun yanı sıra bulut tarafı LLM iş akışlarını zaten yürüten ekipler için, GPT-5.5 nedir yazısı bulut tarafı ödünleşimlerini daha derinlemesine ele alır ve Apidog, ayrı bir test aracı olmadan taklit ve yedekleme bağlantısını yönetir.

düğme

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin