Опубликовано: 13 января 2025 г.
Это заключительная часть серии из трех статей о чат-ботах на основе LLM. В предыдущих статьях обсуждались возможности клиентских LLM-систем и подробно рассказывалось о том, как добавить чат-бота на базе WebLLM в приложение для составления списков дел .
В некоторых новых устройствах уже встроены сложные языковые и другие модели искусственного интеллекта. Chrome предложил интегрировать встроенные API ИИ в браузер , при этом ряд API находится на разных этапах разработки. Многие из этих API проходят процесс стандартизации, чтобы веб-сайты могли использовать одну и ту же реализацию и модель для достижения максимальной производительности вывода.
API Prompt — один из таких API для искусственного интеллекта. Для его использования разработчикам рекомендуется зарегистрироваться в программе раннего предварительного просмотра . После принятия заявки вы получите инструкции по включению API Prompt в браузерах. API Prompt доступен в пробной версии для расширений Chrome , поэтому вы можете протестировать этот API на реальных пользователях расширений.
Совместный доступ к модели
API Prompt работает аналогично WebLLM. Однако на этот раз нет выбора модели (необходимо использовать LLM, поставляемый с браузером). При включении встроенного ИИ Chrome загружает базовую модель в браузер. Затем эту модель можно использовать совместно с несколькими источниками, и она работает с максимальной производительностью. На GitHub есть запрос от разработчика на добавление функции выбора модели.
Начните разговор
Начать диалог сообщений можно точно таким же способом, но API Prompt также предлагает сокращенный синтаксис для указания системной подсказки. Начать сессию языковой модели можно с помощью метода create() интерфейса LanguageModel :
const session = await LanguageModel.create({
initialPrompt: [
{
type: 'system',
content: `You are a helpful assistant. You will answer questions related
to the user's to-do list. Decline all other requests not related to the
user's todos. This is the to-do list in JSON: ${JSON.stringify(todos)}`,
},
],
});
Ответьте на свой первый вопрос
Вместо объекта конфигурации для настройки потоковой передачи, API Prompt предлагает два отдельных метода:
-
prompt()возвращает полную строку. -
promptStreaming()возвращает асинхронный итерируемый объект. В отличие от WebLLM, API Prompt отвечает полной строкой, поэтому вам не нужно самостоятельно объединять результаты.
Если ранее загрузка модели не запускалась из других источников, ваш первый запрос может занять очень много времени, пока модель загружается в ваш браузер. Если модель уже доступна, вывод данных начинается немедленно.
const stream = session.promptStreaming("How many open todos do I have?");
for await (const reply of stream) {
console.log(reply);
}

Демо
Краткое содержание
Интеграция LLM в приложения может значительно улучшить пользовательский опыт. Хотя облачные сервисы предлагают более качественные модели и высокую производительность вывода независимо от устройства пользователя, решения для устройств, такие как WebLLM и Prompt API от Chrome, работают в автономном режиме, повышают конфиденциальность и экономят средства по сравнению с облачными альтернативами. Попробуйте эти новые API и сделайте свои веб-приложения умнее.