Опубликовано: 20 мая 2025 г.
Объяснитель | Веб | Расширения | Статус Хрома | Намерение |
---|---|---|---|---|
GitHub | Вид | Намерение экспериментировать |
Writer API помогает вам создавать новый контент, который соответствует определенной задаче письма. Writer API и Rewriter API являются частью предложения Writing Assistance APIs .
Эти партнерские API могут помочь вам улучшить контент, создаваемый пользователями.
Варианты использования
Напишите новый контент, основанный на вашей первоначальной идее и необязательном контексте. Это можно использовать для:
- Пользователи службы поддержки пишут любой контент, например обзоры, записи в блогах или электронные письма.
- Помогите пользователям лучше писать запросы в службу поддержки.
- Составьте введение для серии примеров работ, чтобы лучше охватить определенные навыки.
Не хватает вашего варианта использования? Присоединяйтесь к программе раннего ознакомления , чтобы поделиться своим отзывом.
Начать
Присоединяйтесь к пробной версии API Writer, работающей в Chrome 137–142.
Ознакомьтесь с требованиями к оборудованию.
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.
- Хранилище : не менее 22 ГБ на томе, содержащем ваш профиль Chrome.
- Графический процессор : строго более 4 ГБ видеопамяти.
- Сеть : Неограниченные данные или безлимитное соединение.
Эти требования существуют для вас в процессе разработки и для ваших пользователей, которые работают с создаваемыми вами функциями.
Зарегистрируйтесь для пробной версии Origin
API Writer доступен в совместной пробной версии с API Rewriter. Чтобы начать использовать эти API:
- Примите Политику Google в отношении запрещенного использования генеративного ИИ .
- Перейти к пробной версии API Writer .
- Нажмите Register и заполните форму. В поле Web origin укажите свой origin или идентификатор расширения,
chrome-extension://YOUR_EXTENSION_ID
. - Для отправки нажмите «Зарегистрироваться» .
- Скопируйте предоставленный токен и добавьте его на каждую участвующую веб-страницу вашего источника или включите его в манифест расширения .
- Начните использовать API Writer и Rewriter.
Узнайте больше о том, как начать работу с пробными версиями Origin .
Добавить поддержку на localhost
Чтобы получить доступ к API Writer и Rewriter на локальном хосте во время пробной версии Origin, необходимо обновить Chrome до последней версии. Затем выполните следующие действия:
- Перейдите по адресу
chrome://flags/#writer-api-for-gemini-nano
. - Выберите Включено .
- Нажмите «Перезапустить» или перезапустите Chrome.
Используйте API Writer
Сначала запустите обнаружение функций, чтобы узнать, поддерживает ли браузер эти API.
if ('Writer' in self) {
// The Writer API is supported.
}
Writer API и все другие встроенные API AI интегрированы в браузер. Gemini Nano загружается отдельно, когда какой-либо веб-сайт впервые использует встроенный API AI. На практике, если пользователь уже взаимодействовал со встроенным API, он загрузил модель в свой браузер.
Чтобы определить, готова ли модель к использованию, вызовите асинхронную функцию Writer.availability()
. Она возвращает строку, которая может принимать четыре возможных значения:
-
unavailable
: Браузер поддерживает API Writer, но в данный момент его нельзя использовать. Это может быть вызвано рядом причин, например, нехваткой свободного места на диске для загрузки модели. -
available
: браузер поддерживает API Writer, и его можно использовать сразу же. -
downloadable
: браузер поддерживает API Writer, но сначала необходимо загрузить модель. -
downloading
: Браузер поддерживает API Writer и в настоящее время загружает модель.
Чтобы запустить загрузку модели и запустить писатель, вызовите функцию Writer.create()
. Если ответ на availability()
был downloadable
, ожидайте прогресса загрузки и сообщите об этом пользователю, так как загрузка может занять некоторое время.
const writer = await Writer.create({
monitor(m) {
m.addEventListener("downloadprogress", e => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
}
});
API-функции
Функция create()
позволяет вам настроить новый объект writer. Она принимает необязательный объект options
со следующими параметрами:
-
tone
: Тон письма может относиться к стилю, характеру или отношению к контенту. Значение может быть установлено какformal
,neutral
(по умолчанию) илиcasual
. -
format
: Форматирование вывода с допустимыми значениямиmarkdown
(по умолчанию) иplain-text
. -
length
: длина выходных данных, допустимые значения:short
,medium
(по умолчанию) иlong
. -
sharedContext
: при написании нескольких выходных данных общий контекст может помочь модели создавать контент, лучше соответствующий вашим ожиданиям.
В следующем примере показано, как инициировать объект- writer
:
const options = {
sharedContext: 'This is an email to acquaintances about an upcoming event.',
tone: 'casual',
format: 'plain-text',
length: 'medium',
};
const available = await Writer.availability();
let writer;
if (available === 'unavailable') {
// The Writer API isn't usable.
return;
}
if (available === 'available') {
// The Writer API can be used immediately .
writer = await Writer.create(options);
} else {
// The Writer can be used after the model is downloaded.
writer = await Writer.create(options);
writer.addEventListener('downloadprogress', (e) => {
console.log(e.loaded, e.total);
});
}
Начать писать
Существует два способа вывода записей из модели: непотоковое и потоковое.
Непотоковый вывод
При непотоковой записи модель обрабатывает входные данные как единое целое, а затем выдает выходные данные.
Чтобы получить непоточный вывод, вызовите асинхронную функцию write()
. Вы должны включить приглашение для контента, который вы хотите записать. Вы можете добавить необязательный context
, чтобы предоставить фоновую информацию модели, которая может помочь модели лучше соответствовать вашим ожиданиям относительно вывода.
// Non-streaming
const writer = await Writer.create();
const result = await writer.write(
"An inquiry to my bank about how to enable wire transfers on my account.", {
context: "I'm a longstanding customer",
},
);
Поток записи вывода
Потоковая передача предлагает результаты в режиме реального времени. Выходные данные обновляются непрерывно по мере добавления и корректировки входных данных.
Чтобы получить потоковое записывающее устройство, вызовите функцию writeStreaming()
и выполните итерацию по доступным сегментам текста в потоке. Вы можете добавить необязательный context
для предоставления фоновой информации модели, что может помочь модели лучше соответствовать вашим ожиданиям относительно выходных данных.
// Streaming
const writer = await Writer.create();
const stream = writer.writeStreaming(
"An inquiry to my bank about how to enable wire transfers on my account.", {
context: "I'm a longstanding customer",
},
);
for await (const chunk of stream) {
composeTextbox.append(chunk);
}
Поделиться контекстом для нескольких задач
Вы можете захотеть использовать writer
для генерации нескольких фрагментов контента. В этом случае полезно добавить sharedContext
. Например, вы можете захотеть помочь рецензентам давать более качественные отзывы в комментариях.
// Shared context and per writing task context
const writer = await Writer.create({
sharedContext: "This is for publishing on [popular website name], a business and employment-focused social media platform."
});
const stream = writer.writeStreaming(
"Write a blog post about how I love all this work on gen AI at Google!" +
"Mention that there's 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."}
);
for await (const chunk of stream) {
composeTextbox.append(chunk);
}
Повторное использование писателя
Вы можете использовать одного и того же автора для создания нескольких фрагментов контента.
// Reuse a writer
const writer = await Writer.create({ tone: "formal" });
const reviews = await Promise.all(
Array.from(
document.querySelectorAll("#reviews > .review"),
(reviewEl) => writer.write(reviewEl.textContent)
),
);
Остановите писателя.
Чтобы завершить процесс записи, прервите работу контроллера и уничтожьте писатель.
// Aborting a writer
const controller = new AbortController();
stopButton.onclick = () => controller.abort();
const writer = await Writer.create({ signal: controller.signal });
await writer.write(reviewEl.textContent, { signal: controller.signal });
// Destroying a writer
writer.destroy();
Демо
Привлекайте и делитесь отзывами
API Writer и Rewriter находятся в стадии активного обсуждения и могут быть изменены в будущем. Если вы попробуете этот API и у вас есть отзыв, мы будем рады его услышать.
- Прочитайте пояснение , задайте вопросы и примите участие в обсуждении.
- Ознакомьтесь с реализацией Chrome на странице Chrome Status .
- Присоединяйтесь к программе раннего ознакомления, чтобы заранее ознакомиться с новыми API и получить доступ к нашему списку рассылки.
- Если у вас есть отзывы о реализации Chrome, отправьте сообщение об ошибке Chromium .
Откройте для себя все встроенные API ИИ , которые используют модели, включая Gemini Nano и другие экспертные модели, в браузере.
,Опубликовано: 20 мая 2025 г.
Объяснитель | Веб | Расширения | Статус Хрома | Намерение |
---|---|---|---|---|
GitHub | Вид | Намерение экспериментировать |
Writer API помогает вам создавать новый контент, который соответствует определенной задаче письма. Writer API и Rewriter API являются частью предложения Writing Assistance APIs .
Эти партнерские API могут помочь вам улучшить контент, создаваемый пользователями.
Варианты использования
Напишите новый контент, основанный на вашей первоначальной идее и необязательном контексте. Это можно использовать для:
- Пользователи службы поддержки пишут любой контент, например обзоры, записи в блогах или электронные письма.
- Помогите пользователям лучше писать запросы в службу поддержки.
- Составьте введение для серии примеров работ, чтобы лучше охватить определенные навыки.
Не хватает вашего варианта использования? Присоединяйтесь к программе раннего ознакомления , чтобы поделиться своим отзывом.
Начать
Присоединяйтесь к пробной версии API Writer, работающей в Chrome 137–142.
Ознакомьтесь с требованиями к оборудованию.
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.
- Хранилище : не менее 22 ГБ на томе, содержащем ваш профиль Chrome.
- Графический процессор : строго более 4 ГБ видеопамяти.
- Сеть : Неограниченные данные или безлимитное соединение.
Эти требования существуют для вас в процессе разработки и для ваших пользователей, которые работают с создаваемыми вами функциями.
Зарегистрируйтесь для пробной версии Origin
API Writer доступен в совместной пробной версии с API Rewriter. Чтобы начать использовать эти API:
- Примите Политику Google в отношении запрещенного использования генеративного ИИ .
- Перейти к пробной версии API Writer .
- Нажмите Register и заполните форму. В поле Web origin укажите свой origin или идентификатор расширения,
chrome-extension://YOUR_EXTENSION_ID
. - Для отправки нажмите «Зарегистрироваться» .
- Скопируйте предоставленный токен и добавьте его на каждую участвующую веб-страницу вашего источника или включите его в манифест расширения .
- Начните использовать API Writer и Rewriter.
Узнайте больше о том, как начать работу с пробными версиями Origin .
Добавить поддержку на localhost
Чтобы получить доступ к API Writer и Rewriter на локальном хосте во время пробной версии Origin, необходимо обновить Chrome до последней версии. Затем выполните следующие действия:
- Перейдите по адресу
chrome://flags/#writer-api-for-gemini-nano
. - Выберите Включено .
- Нажмите «Перезапустить» или перезапустите Chrome.
Используйте API Writer
Сначала запустите обнаружение функций, чтобы узнать, поддерживает ли браузер эти API.
if ('Writer' in self) {
// The Writer API is supported.
}
Writer API и все другие встроенные API AI интегрированы в браузер. Gemini Nano загружается отдельно, когда какой-либо веб-сайт впервые использует встроенный API AI. На практике, если пользователь уже взаимодействовал со встроенным API, он загрузил модель в свой браузер.
Чтобы определить, готова ли модель к использованию, вызовите асинхронную функцию Writer.availability()
. Она возвращает строку, которая может принимать четыре возможных значения:
-
unavailable
: Браузер поддерживает API Writer, но в данный момент его нельзя использовать. Это может быть вызвано рядом причин, например, нехваткой свободного места на диске для загрузки модели. -
available
: браузер поддерживает API Writer, и его можно использовать сразу же. -
downloadable
: браузер поддерживает API Writer, но сначала необходимо загрузить модель. -
downloading
: Браузер поддерживает API Writer и в настоящее время загружает модель.
Чтобы запустить загрузку модели и запустить писатель, вызовите функцию Writer.create()
. Если ответ на availability()
был downloadable
, ожидайте прогресса загрузки и сообщите об этом пользователю, так как загрузка может занять некоторое время.
const writer = await Writer.create({
monitor(m) {
m.addEventListener("downloadprogress", e => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
}
});
API-функции
Функция create()
позволяет вам настроить новый объект writer. Она принимает необязательный объект options
со следующими параметрами:
-
tone
: Тон письма может относиться к стилю, характеру или отношению к контенту. Значение может быть установлено какformal
,neutral
(по умолчанию) илиcasual
. -
format
: Форматирование вывода с допустимыми значениямиmarkdown
(по умолчанию) иplain-text
. -
length
: длина выходных данных, допустимые значения:short
,medium
(по умолчанию) иlong
. -
sharedContext
: при написании нескольких выходных данных общий контекст может помочь модели создавать контент, лучше соответствующий вашим ожиданиям.
В следующем примере показано, как инициировать объект- writer
:
const options = {
sharedContext: 'This is an email to acquaintances about an upcoming event.',
tone: 'casual',
format: 'plain-text',
length: 'medium',
};
const available = await Writer.availability();
let writer;
if (available === 'unavailable') {
// The Writer API isn't usable.
return;
}
if (available === 'available') {
// The Writer API can be used immediately .
writer = await Writer.create(options);
} else {
// The Writer can be used after the model is downloaded.
writer = await Writer.create(options);
writer.addEventListener('downloadprogress', (e) => {
console.log(e.loaded, e.total);
});
}
Начать писать
Существует два способа вывода записей из модели: непотоковое и потоковое.
Непотоковый вывод
При непотоковой записи модель обрабатывает входные данные как единое целое, а затем выдает выходные данные.
Чтобы получить непоточный вывод, вызовите асинхронную функцию write()
. Вы должны включить приглашение для контента, который вы хотите записать. Вы можете добавить необязательный context
, чтобы предоставить фоновую информацию модели, которая может помочь модели лучше соответствовать вашим ожиданиям относительно вывода.
// Non-streaming
const writer = await Writer.create();
const result = await writer.write(
"An inquiry to my bank about how to enable wire transfers on my account.", {
context: "I'm a longstanding customer",
},
);
Поток записи вывода
Потоковая передача предлагает результаты в режиме реального времени. Выходные данные обновляются непрерывно по мере добавления и корректировки входных данных.
Чтобы получить потоковое записывающее устройство, вызовите функцию writeStreaming()
и выполните итерацию по доступным сегментам текста в потоке. Вы можете добавить необязательный context
для предоставления фоновой информации модели, что может помочь модели лучше соответствовать вашим ожиданиям относительно выходных данных.
// Streaming
const writer = await Writer.create();
const stream = writer.writeStreaming(
"An inquiry to my bank about how to enable wire transfers on my account.", {
context: "I'm a longstanding customer",
},
);
for await (const chunk of stream) {
composeTextbox.append(chunk);
}
Поделиться контекстом для нескольких задач
Вы можете захотеть использовать writer
для генерации нескольких фрагментов контента. В этом случае полезно добавить sharedContext
. Например, вы можете захотеть помочь рецензентам давать более качественные отзывы в комментариях.
// Shared context and per writing task context
const writer = await Writer.create({
sharedContext: "This is for publishing on [popular website name], a business and employment-focused social media platform."
});
const stream = writer.writeStreaming(
"Write a blog post about how I love all this work on gen AI at Google!" +
"Mention that there's 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."}
);
for await (const chunk of stream) {
composeTextbox.append(chunk);
}
Повторное использование писателя
Вы можете использовать одного и того же автора для создания нескольких фрагментов контента.
// Reuse a writer
const writer = await Writer.create({ tone: "formal" });
const reviews = await Promise.all(
Array.from(
document.querySelectorAll("#reviews > .review"),
(reviewEl) => writer.write(reviewEl.textContent)
),
);
Остановите писателя.
Чтобы завершить процесс записи, прервите работу контроллера и уничтожьте писатель.
// Aborting a writer
const controller = new AbortController();
stopButton.onclick = () => controller.abort();
const writer = await Writer.create({ signal: controller.signal });
await writer.write(reviewEl.textContent, { signal: controller.signal });
// Destroying a writer
writer.destroy();
Демо
Привлекайте и делитесь отзывами
API Writer и Rewriter находятся в стадии активного обсуждения и могут быть изменены в будущем. Если вы попробуете этот API и у вас есть отзыв, мы будем рады его услышать.
- Прочитайте пояснение , задайте вопросы и примите участие в обсуждении.
- Ознакомьтесь с реализацией Chrome на странице Chrome Status .
- Присоединяйтесь к программе раннего ознакомления, чтобы заранее ознакомиться с новыми API и получить доступ к нашему списку рассылки.
- Если у вас есть отзывы о реализации Chrome, отправьте сообщение об ошибке Chromium .
Откройте для себя все встроенные API ИИ , которые используют модели, включая Gemini Nano и другие экспертные модели, в браузере.