תאריך פרסום: 20 במאי 2025
הסבר | פיתוח אתרים | תוספים | סטטוס Chrome | כוונת רכישה |
---|---|---|---|---|
GitHub | תצוגה | כוונה לערוך ניסוי |
Rewriter API עוזר לשנות ולשנות את המבנה של טקסט. ה-API הזה ו-Writer API הם חלק מהצעה לממשקי API לעזרה בכתיבה.
ממשקי ה-API האלה יכולים לעזור לכם לשפר את התוכן שנוצר על ידי משתמשים.
תרחישים לדוגמה
לשפר טקסט קיים על ידי הארכה או קיצור שלו, או שינוי הטון שלו. לדוגמה:
- שכתוב מחדש אימייל קצר כך שיישמע מנומס ורישמי יותר.
- להציע עריכות לביקורות של לקוחות כדי לעזור ללקוחות אחרים להבין את המשוב או להסיר תוכן רעיל.
- לעצב את התוכן כך שיתאים לציפיות של קהלים מסוימים.
האם תרחיש לדוגמה חסר? כדי לשתף משוב, אפשר להצטרף לתוכנית ההפצה המקדימה.
שנתחיל?
הצטרפות לגרסת המקור לניסיון של Rewriter API, שפועלת ב-Chrome בגרסאות 137 עד 142.
בדיקת דרישות החומרה
ה-API של גלאי השפות ו-Translator API פועלים במחשב רק ב-Chrome.
ממשקי Prompt API, Summarizer API, Writer API ו-Rewriter API פועלים ב-Chrome כשמתקיימים התנאים הבאים:
- מערכת הפעלה: Windows 10 או 11, macOS מגרסה 13 ואילך (Ventura ואילך) או Linux. עדיין אין תמיכה ב-Chrome ל-Android, ל-iOS ול-ChromeOS בממשקי ה-API שלנו שמבוססים על Gemini Nano.
- אחסון: נפח אחסון של 22GB לפחות בנפח האחסון שמכיל את פרופיל Chrome שלכם.
- GPU: יותר מ-4GB של VRAM.
- רשת: נתונים ללא הגבלה או חיבור ללא חיוב לפי שימוש.
הדרישות האלה קיימות עבורכם בתהליך הפיתוח ועבור המשתמשים שלכם שעובדים עם התכונות שאתם מפתחים.
הרשמה לתקופת הניסיון למקור
Rewriter API זמין בגרסת מקור לניסיון משותפת עם Writer API. כדי להתחיל להשתמש בממשקי ה-API האלה:
- מאשרים את המדיניות של Google בנושא שימוש אסור ב-AI גנרטיבי.
- עוברים אל גרסת המקור לניסיון של Rewriter API.
- לוחצים על Register וממלאים את הטופס. בשדה Web origin (מקור האינטרנט), מציינים את המקור או את מזהה התוסף,
chrome-extension://YOUR_EXTENSION_ID
. - לוחצים על Register.
- מעתיקים את האסימון שסופק ומוסיפים אותו לכל דף אינטרנט שמשתתף במקור, או כוללים אותו במניפסט של התוסף.
- מתחילים להשתמש ב-Rewriter API.
איך מתחילים להשתמש בגרסת המקור לניסיון
הוספת תמיכה ב-localhost
כדי לגשת לממשקי ה-API של Writer ו-Rewriter ב-localhost במהלך תקופת הניסיון בגרסה המקורית, צריך לעדכן את Chrome לגרסה העדכנית ביותר. לאחר מכן, בצע פעולות אלה:
- לעבור אל
chrome://flags/#rewriter-api-for-gemini-nano
. - בוחרים באפשרות מופעל.
- לוחצים על הפעלה מחדש או מפעילים מחדש את Chrome.
שימוש ב-Rewriter API
קודם כול, מריצים זיהוי תכונות כדי לבדוק אם הדפדפן תומך בממשקי ה-API האלה.
if ('Rewriter' in self) {
// The Rewriter API is supported.
}
ממשק Rewriter API וכל ממשקי ה-AI API המובנים האחרים משולבים בדפדפן. Gemini Nano מוריד בנפרד בפעם הראשונה שאתר כלשהו משתמש ב-AI API מובנה. בפועל, אם משתמש כבר יצר אינטראקציה עם ממשק API מובנה, הוא הוריד את המודל לדפדפן שלו.
כדי לבדוק אם המודל מוכן לשימוש, צריך להפעיל את הפונקציה Rewriter.availability()
האסינכרונית. הפונקציה מחזירה מחרוזת שיכולה לקבל ארבעה ערכים אפשריים:
unavailable
: הדפדפן תומך ב-Rewriter API, אבל אי אפשר להשתמש בו כרגע. יכולות להיות לכך כמה סיבות, למשל אם אין מספיק מקום פנוי בדיסק כדי להוריד את המודל.available
: הדפדפן תומך ב-Rewriter API וניתן להשתמש בו באופן מיידי.downloadable
: הדפדפן תומך ב-Rewriter API, אבל קודם צריך להוריד את המודל.downloading
: הדפדפן תומך ב-Rewriter API, והוא מוריד את המודל כרגע.
כדי להפעיל את הורדת המודל ולהתחיל את הכלי לשכתוב, צריך להפעיל את הפונקציה Rewriter.create()
. אם התשובה ל-availability()
הייתה downloadable
, צריך להאזין להתקדמות ההורדה ולהודיע למשתמש, כי ההורדה עשויה להימשך זמן מה.
const rewriter = await Rewriter.create({
monitor(m) {
m.addEventListener("downloadprogress", e => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
}
});
פונקציות API
הפונקציה create()
מאפשרת להגדיר אובייקט rewriter חדש. הפונקציה מקבלת אובייקט options
אופציונלי עם הפרמטרים הבאים:
tone
: הטון של הכתיבה יכול להתייחס לסגנון, לדמות או לאופן הביטוי של התוכן. הערך יכול להיותmore-formal
,as-is
(ברירת המחדל) אוmore-casual
.format
: פורמט הפלט, עם הערכים המותריםas-is
(ברירת המחדל),markdown
ו-plain-text
.length
: אורך הפלט, עם הערכים המותריםshorter
,as-is
(ברירת המחדל) ו-longer
.sharedContext
: כשכותבים מחדש כמה קטעי תוכן, הקשר משותף יכול לעזור למודל ליצור תוכן שמתאים יותר לציפיות שלכם.
הדוגמה הבאה ממחישה איך מפעילים אובייקט rewriter
:
const options = {
sharedContext: 'This is an email to acquaintances about an upcoming event.',
tone: 'more-casual',
format: 'plain-text',
length: 'shorter',
};
const available = await Rewriter.availability();
let rewriter;
if (available === 'unavailable') {
// The Rewriter API isn't usable.
return;
}
if (available === 'available') {
// The Rewriter API can be used immediately .
rewriter = await Rewriter.create(options);
} else {
// The Rewriter can be used after the model is downloaded.
rewriter = await Rewriter.create(options);
rewriter.addEventListener('downloadprogress', (e) => {
console.log(e.loaded, e.total);
});
}
מתחילים לכתוב מחדש
יש שתי דרכים להפיק תוכן מהמודל: ללא סטרימינג ולסטרימינג.
פלט ללא סטרימינג
כשמשתמשים בכתיבה מחדש ללא סטרימינג, המודל מעבד את הקלט כמכלול ואז יוצר את הפלט.
כדי לקבל פלט שאינו סטרימינג, צריך להפעיל את הפונקציה האסינכרונית rewrite()
. חובה לכלול את הטקסט הראשוני שרוצים לשכתב. אפשר להוסיף את התג האופציונלי context
כדי לספק את פרטי הרקע של המודל. כך המודל יוכל לעמוד בציפיות שלכם לגבי הפלט.
// Non-streaming
const rewriter = await Rewriter.create({
sharedContext: "A review for the Flux Capacitor 3000 from TimeMachines Inc."
});
const result = await rewriter.rewrite(reviewEl.textContent, {
context: "Avoid any toxic language and be as constructive as possible."
});
פלט של שכתוב של שידור
סטרימינג מאפשר לקבל תוצאות בזמן אמת. הפלט מתעדכן באופן רציף ככל שמוסיפים ומתאימים את הקלט.
כדי לקבל משנה טקסט בזמן אמת, צריך להפעיל את הפונקציה rewriteStreaming()
ולעבור על הקטעים הזמינים של הטקסט בסטרימינג. אפשר להוסיף את השדה האופציונלי context
כדי לספק את פרטי הרקע של המודל. כך המודל יוכל לעמוד טוב יותר בציפיות שלכם לגבי הפלט.
const rewriter = await Rewriter.create({
sharedContext: "A review for the Flux Capacitor 3000 from TimeMachines Inc."
});
const stream = rewriter.rewriteStreaming(reviewEl.textContent, {
context: "Avoid any toxic language and be as constructive as possible.",
tone: "more-casual",
});
for await (const chunk of stream) {
composeTextbox.append(chunk);
}
שיתוף ההקשר של כמה משימות
מומלץ להשתמש ב-rewriter
כדי ליצור כמה פריטים של תוכן. במקרה הזה, כדאי להוסיף את sharedContext
. לדוגמה, תוכלו לעזור למבקרים לתת משוב טוב יותר בתגובות.
// Shared context and per writing task context
const rewriter = await Rewriter.create({
sharedContext: "This is for publishing on [popular website name], a business and employment-focused social media platform."
});
const stream = rewriter.rewriteStreaming(
"Love all this work on generative AI at Google! So much to learn and so many new things I can do!",
{
context: "The request comes from someone working at a startup providing an e-commerce CMS solution.",
tone: "more-casual",
}
);
for await (const chunk of stream) {
composeTextbox.append(chunk);
}
שימוש חוזר ב-rewriter
אפשר להשתמש באותו כלי לשכתוב כדי לערוך כמה קטעי תוכן. האפשרות הזו יכולה להיות שימושית במיוחד אם מוסיפים את הכלי לשכתוב לכלי למתן משוב או לכלי להגיב על תוכן, כדי לעזור לכותבים לספק משוב יעיל ומועיל.
// Reusing a rewriter
const rewriter = await Rewriter.create({
sharedContext: "A review for the Flux Capacitor 3000 from TimeMachines Inc."
});
const rewrittenReviews = await Promise.all(
Array.from(
document.querySelectorAll("#reviews > .review"),
(reviewEl) => rewriter.rewrite(reviewEl.textContent, {
context: "Avoid any toxic language and be as constructive as possible.",
tone: "more-casual",
})
),
);
הפסקת הכלי לשכתוב
כדי לסיים את תהליך הכתיבה מחדש, מבטלים את הבקר ומוחקים את rewriter
.
// Stop a rewriter
const controller = new AbortController();
stopButton.onclick = () => controller.abort();
const rewriter = await Rewriter.create({ signal: controller.signal });
await rewriter.rewrite(reviewEl.textContent, { signal: controller.signal });
// Destroy a rewriter
rewriter.destroy();
הדגמה (דמו)
שיתוף משוב ויצירת אינטראקציה
ממשקי ה-API של Writer ו-Rewriter נמצאים כרגע בתהליכי דיון, ויכול להיות שהם ישתנו בעתיד. אם תנסו את ה-API הזה ותהיה לכם משוב, נשמח לשמוע אותו.
- קוראים את הסבר, שואלים שאלות ומשתתפים בדיון.
- אפשר לעיין בהטמעה ב-Chrome בדף סטטוס Chrome.
- הצטרפו לתוכנית הבטא המוקדמת כדי לקבל גישה לממשקי API חדשים ולרשימת התפוצה שלנו.
- אם יש לכם משוב על ההטמעה ב-Chrome, תוכלו לשלוח דיווח על באג ב-Chromium.
כאן תוכלו למצוא את כל ממשקי ה-API המובנים של AI שמשתמשים במודלים, כולל Gemini Nano ומודלים מומחים אחרים, בדפדפן.