Поделиться через


Исправление грамматики и орфографии с помощью API Proofreader

API Proofreader — это экспериментальный веб-API, который позволяет исправлять грамматические, орфографические и пунктуационные ошибки в тексте с помощью модели SLM, встроенной в Microsoft Edge, из кода JavaScript веб-сайта или расширения браузера.

Вводные сведения об API Proofreader см. в разделе Api Proofreader.

Подробное содержимое:

Доступность API Proofreader

API Proofreader доступен в качестве предварительной версии для разработчиков на каналах Microsoft Edge Canary или Dev, начиная с версии 142.

API Proofreader оптимизирован для исправления грамматических, орфографических и пунктуационных ошибок в текстовом содержимом. Дополнительные сведения об альтернативе для более пользовательских сценариев разработки запросов, которые могут не обслуживаться этими API, см. в статье Запрос встроенной языковой модели с помощью API запроса.

Решите, какой API следует использовать

Чтобы использовать возможности ИИ на веб-сайтах и расширениях браузера, можно также использовать следующие методы:

API Proofreader использует модель SLM, которая выполняется на том же устройстве, где используются входные данные и выходные данные модели (то есть локально). Это имеет следующие преимущества по сравнению с облачными решениями:

  • Снижение стоимости: Использование облачной службы ИИ не связано с затратами.

  • Независимость сети: Помимо начальной загрузки модели при запросе модели не возникает задержки в сети, и модель также можно использовать, когда устройство находится в автономном режиме.

  • Улучшенная конфиденциальность: Данные, которые введены в модель, никогда не покидают устройство и не собираются (например, для обучения моделей ИИ).

API Proofreader использует модель, предоставляемую Microsoft Edge и встроенную в браузер, которая обеспечивает дополнительные преимущества по сравнению с пользовательскими локальными решениями, такими как webGPU, WebNN или WebAssembly:

  • Общие одноразовые затраты: Модель, предоставляемая браузером, загружается при первом вызове API, а затем она используется на всех веб-сайтах, работающих в браузере, что снижает сетевые затраты для пользователя и разработчика.

  • Упрощенное использование веб-разработчиков: Встроенная модель может быть запущена с помощью простых веб-API и не требует опыта в области искусственного интеллекта и машинного обучения или использования сторонних платформ.

Модель Phi-4-mini

API Proofreader использует модель Phi-4-mini, встроенную в Microsoft Edge. Phi-4-mini — это мощная модель малого языка, которая отличается от текстовых задач. Дополнительные сведения о Phi-4-mini и его возможностях см. в карта модели на странице microsoft/Phi-4-mini-instruct.

Заявление об отказе от ответственности

Как и другие языковые модели, семейство моделей Phi потенциально может вести себя несправедливо, ненадежно или оскорбительно. Дополнительные сведения см. в статье Рекомендации по ответственному использованию ИИ.

Требования к оборудованию

Предварительная версия API Proofreader предназначена для работы на устройствах с аппаратными возможностями, которые создают выходные данные малой языковой модели (SLM) с прогнозируемым качеством и задержкой.

К API Proofreader предъявляют следующие требования:

  • Операционная система: Windows 10 или 11 и macOS 13.3 или более поздней версии.

  • Хранения: По крайней мере 20 ГБ доступно на томе, который содержит профиль Edge. Если доступное хранилище будет меньше 10 ГБ, модель будет удалена, чтобы другие функции браузера имели достаточно места для работы.

  • GPU: 5,5 ГБ виртуальной памяти или больше.

  • Сети: Неограниченный план данных или неограниченные подключения. Модель не загружается при использовании лимитного подключения.

Чтобы проверка, поддерживает ли устройство предварительную версию API Proofreader для разработчиков, см. статью Включение API Proofreader ниже и проверка класс производительности устройства.

Из-за экспериментального характера API Proofreader вы можете столкнуться с проблемами в определенных конфигурациях оборудования. Если вы видите проблемы с определенными конфигурациями оборудования, отправьте отзыв, открыв новую проблему в репозитории MSEdgeExplainers.

Доступность модели

При первом вызове веб-сайта встроенного API ИИ требуется начальное скачивание модели. Вы можете отслеживать скачивание модели с помощью параметра монитора при создании нового сеанса API проверки правописания. См . раздел Мониторинг хода загрузки модели ниже.

Включение API проверки правописания

Чтобы использовать любой из API Proofreader в Microsoft Edge, выполните следующие действия:

  1. Убедитесь, что используется последняя версия Microsoft Edge Canary или Dev (версия 142 или более поздняя). См . статью Стать участником программы предварительной оценки Microsoft Edge.

  2. В Microsoft Edge Canary или Dev откройте новую вкладку или окно и перейдите по адресу edge://flags.

  3. В поле поиска в верхней части страницы введите API Proofreader для Phi mini.

    Страница фильтруется для отображения соответствующего флага.

  4. Выберите Включено рядом с флагом API проверки проверки для Phi mini :

    Страница

  5. При необходимости, чтобы локально регистрировать сведения, которые могут быть полезны при отладке проблем, также включите флаг Включить журналы отладки модели ИИ устройства .

  6. Перезапустите Microsoft Edge Canary или Dev.

  7. Чтобы проверка, соответствует ли ваше устройство требованиям к оборудованию для предварительной версии API Proofreader, откройте новую вкладку, перейдите по адресу edge://on-device-internalsи проверка значение класса производительности устройства.

    Если ваш класс производительности устройства имеет значение "Высокий " или выше, ожидается, что на вашем устройстве будет поддерживаться API Proofreader. Если вы продолжаете замечать проблемы, сообщите о новой проблеме.

См. рабочий пример

Чтобы увидеть API Proofreader в действии и изучить существующий код, который использует следующие API:

  1. Включите API Proofreader, как описано выше.

  2. В браузере Microsoft Edge Canary или Dev откройте вкладку или окно и перейдите на тестовую площадку API Proofreader.

  3. В информационном баннере в верхней части проверка состояние. Состояние изначально считывает API на устройстве и скачивание модели:

    Индикатор состояния, показывающий ход загрузки модели

    После скачивания модели информационный баннер считывает API на устройстве и доступные модели, указывая, что API и модель можно использовать:

    Информационный баннер с сообщением: API на устройстве и модель готовы.

    Если модель не начинает скачивание, перезапустите Microsoft Edge и повторите попытку.

    API Proofreader поддерживается только на устройствах, которые соответствуют определенным требованиям к оборудованию. Дополнительные сведения см. в разделе Требования к оборудованию выше.

  4. При необходимости измените содержимое и параметры на странице. Например, измените текст для проверки правописания или измените ожидаемый язык ввода.

  5. Нажмите кнопку Проверка правописания в нижней части страницы.

    Выходные данные создаются в разделе ответа страницы:

    Демонстрационная страница Proofreader, содержащая параметры и кнопку Проверки правописания

См. также:

  • /built-in-ai/ — чтение и исходный код для демонстрации встроенных игровых площадок ИИ.

Использование API proofreader

Проверьте, включен ли API

Перед использованием API Proofreader в коде веб-сайта проверка, что API включен, проверив наличие Proofreader объекта:

if (!Proofreader) {
  // The Proofreader API is not available.
}

Проверьте, можно ли использовать модель

API Proofreader можно использовать только в том случае, если устройство поддерживает запуск модели и после загрузки языковой модели и среды выполнения модели Microsoft Edge.

Чтобы проверка, можно ли использовать API, используйте availability() метод :

const availability = await Proofreader.availability();

if (availability == "unavailable") {
  // The model is not available.
}

if (availability == "downloadable" || availability == "downloading") {
  // The model can be used, but it needs to be downloaded first.
}

if (availability == "available") {
  // The model is available and can be used.
}

Создание нового сеанса

Создание сеанса позволяет браузеру загрузить языковую модель в память, чтобы ее можно было использовать. Прежде чем использовать API Proofreader для исправления текста, создайте новый сеанс с помощью create() метода :

// Create a Proofreader session.
const session = await Proofreader.create();

Чтобы настроить сеанс модели, можно передать параметры в create() метод:

// Create a Proofreader session with options.
const session = await Proofreader.create(options);

Доступные варианты перечислены ниже.

Вариант Описание
monitor Функция, используемая для отслеживания хода загрузки модели. См . раздел Мониторинг хода загрузки модели ниже.
expectedInputLanguages Массив строк. Каждая строка — это язык, который должен содержать входной текст. Пример: ["en", "es"].
Мониторинг хода загрузки модели

Ход загрузки модели можно отслеживать с помощью monitor параметра . Это полезно, если модель еще не была полностью загружена на устройство, где она будет использоваться, для информирования пользователей о необходимости ждать.

// Create a Proofreader session with the monitor option to monitor the model
// download.
const session = await Proofreader.create({
  monitor: m => {
    // Use the monitor object argument to add an listener for the 
    // downloadprogress event.
    m.addEventListener("downloadprogress", event => {
      // The event is an object with the loaded and total properties.
      if (event.loaded == event.total) {
        // The model is fully downloaded.
      } else {
        // The model is still downloading.
        const percentageComplete = (event.loaded / event.total) * 100;
      }
    });
  }
});

Запуск API Proofreader

Чтобы создать измененный текст с помощью API Proofreader, после создания соответствующего сеанса session.proofread() модели используйте метод . Этот метод возвращает обещание, которое разрешается после того, как API Proofreader завершит создание исправленного текста.

// Create a Proofreader session.
const session = await Proofreader.create();

// Correct the text and wait for the result.
const result = await session.proofread(textToBeCorrected);

// Use the result.
console.log(result);

Использование результата API Proofreader

Метод session.proofread() возвращает обещание, которое разрешается в объект со следующими свойствами:

Свойство Описание
correctedInput Исправленный текст в виде строки.
corrections Массив объектов коррекции.

Объект исправления имеет следующие свойства:

Свойство Описание
startIndex Индекс первого символа во входном тексте, который был исправлен.
endIndex Индекс последнего символа во входном тексте, который был исправлен.
correction Строка, которая заменяет неправильный текст.

В следующем примере показано, как использовать результат session.proofread() метода :

// Create a Proofreader session.
const session = await Proofreader.create();

// Correct the text and wait for the result.
const result = await session.proofread(textToBeCorrected);

// Log the corrected text.
console.log("Corrected text:", result.correctedInput);

// Log each correction.
result.corrections.forEach(({ startIndex, endIndex, correction }) => {
  const initialText = textToBeCorrected.slice(startIndex, endIndex);
  console.log(`Replaced text "${initialText}" (index ${startIndex} to ${endIndex}) with "${correction}"`);
});

Уничтожение сеанса

Уничтожьте сеанс, чтобы сообщить браузеру, что языковая модель больше не нужна, чтобы ее можно было выгрузить из памяти.

Вы можете уничтожить сеанс двумя разными способами:

  • С помощью destroy() метода .
  • С помощью AbortController.
Уничтожение сеанса с помощью метода destroy()

Для уничтожения сеанса session.destroy() проверки правописания можно использовать метод :

const session = await Proofreader.create();

// Later, destroy the session by using the destroy method.
session.destroy();
Уничтожение сеанса с помощью abortController

Кроме того, можно создать AbortController объект, создать Proofreader сеанс, а затем вызвать abort():

// Create an AbortController object.
const controller = new AbortController();

// Create a Proofreader session and pass the 
// AbortController signal object by using the signal option.
const session = await Proofreader.create({ signal: controller.signal });

// Later, such as when the user interacts with the UI, destroy the session by
// calling the abort() function of the AbortController object.
controller.abort();

Отправка отзывов

Мы очень заинтересованы в том, чтобы узнать о диапазоне сценариев, для которых вы планируете использовать API Proofreader, о любых проблемах с API или языковой моделью, а также о том, будут ли полезны новые API для конкретных задач.

Чтобы отправить отзыв о своих сценариях и задачах, которые вы хотите выполнить, добавьте комментарий к проблеме обратной связи API Proofreader.

Если вы заметили какие-либо проблемы при использовании API, сообщите об этом в репозитории.

Вы также можете принять участие в обсуждении структуры API Proofreader в репозитории рабочей группы веб-машинного обучения W3C.

См. также