Как создать веб-агента с визуальным управлением на основе искусственного интеллекта с помощью MolmoWeb-4B

В этом руководстве мы рассмотрим MolmoWeb — открытый мультимодальный веб-агент от Ai2, который понимает веб-сайты и взаимодействует с ними напрямую со скриншотов, не полагаясь на разбор HTML или DOM. Мы настроим полную среду в Colab, загрузим модель MolmoWeb-4B с эффективной 4-битной квантизацией и построим точный процесс подсказок, который позволяет модели рассуждать о веб-задаче и предсказывать действия браузера. Также мы протестируем модель на пустых страницах, синтетических веб-скриншотах и сценариях многоэтапного просмотра, чтобы понять, как веб-агенты на основе скриншотов на самом деле думают, действуют и сохраняют контекст на разных этапах.

Установка зависимостей

Для начала мы устанавливаем все необходимые зависимости и импортируем основные библиотеки, необходимые для руководства. Мы убеждаемся, что среда выполнения правильно настроена для использования GPU, и проверяем доступность CUDA и детали устройства. К концу этого шага мы создадим стабильную основу для эффективного запуска MolmoWeb в Colab.

1. Импорт библиотек и установка зависимостей:

«`python
import subprocess, sys

def pip_install(*packages):
subprocess.check_call([sys.executable, «-m», «pip», «install», «-q»] + list(packages))

pip_install(
«transformers>=4.48.0»,
«accelerate»,
«bitsandbytes»,
«jinja2»,
«Pillow»,
«requests»,
«datasets»,
«matplotlib»,
«torch»,
)
«`

2. Настройка модели:

«`python
import torch
import re
import json
import textwrap
from PIL import Image, ImageDraw, ImageFont
import requests
from io import BytesIO
from jinja2 import Template
import matplotlib.pyplot as plt
import matplotlib.patches as patches
from transformers import AutoProcessor, AutoModelForImageTextToText, BitsAndBytesConfig

print(f»PyTorch {torch.version} | CUDA available: {torch.cuda.is_available()}»)
if torch.cuda.is_available():
print(f» GPU: {torch.cuda.getdevicename(0)}»)
memgb = torch.cuda.getdeviceproperties(0).totalmem / 1e9
print(f» VRAM: {mem_gb:.1f} GB»)
«`

Загрузка модели MolmoWeb-4B

Мы загружаем модель MolmoWeb-4B с 4-битной квантизацией, чтобы она соответствовала ограничениям памяти бесплатной версии GPU. Мы настраиваем модель с помощью BitsAndBytes для эффективного вывода и инициализируем процессор, необходимый для мультимодальных входов. Этот шаг гарантирует, что модель готова принимать как текстовые подсказки, так и скриншоты для обоснования действий веб-агента.

Определение вспомогательных функций

Мы определяем структурированный шаблон подсказки и системное сообщение, которые направляют рассуждения модели и генерацию действий. Мы чётко устанавливаем, как задачи, прошлые действия и текущий контекст страницы форматируются перед отправкой модели. Это формирует основной интерфейс, который позволяет MolmoWeb вести себя как пошаговый веб-агент.

Одношаговый вывод — пустая страница (холодный старт)

Агент начинает с about:blank и должен решить, какое действие предпринять.

Одношаговый вывод — скриншот веб-страницы

Мы создаём синтетическую страницу поиска в Google и задаём задачу поиска информации о MolmoWeb Ai2.

Многошаговый агентский цикл (симуляция)

В производстве MolmoWeb работает в цикле:
1. Захват скриншота из браузера.
2. Создание подсказки с задачей и историей действий.
3. Запуск модели -> получение мысли + действия.
4. Выполнение действия в браузере (Playwright).
5. Повторение до send_msg() или максимального количества шагов.

Разбор и маршрутизация действий

Мы реализуем вспомогательные функции для построения подсказок, вывода модели и анализа выходных данных в структурированные мысли и действия. Мы также создаём утилиты для извлечения координат щелчков, интерпретации типов действий и визуализации прогнозов модели на скриншотах. Эти компоненты в совокупности позволяют нам моделировать и анализировать поведение агента в контролируемой среде.

Пакетный вывод по нескольким задачам

Мы запускаем модель на нескольких разных задачах с холодным стартом.

Исследование обучающего набора данных MolmoWebMix

MolmoWebMix состоит из трёх основных подмножеств:
1. MolmoWeb-HumanTrajs — 30 тысяч записей веб-задач, записанных человеком.
2. MolmoWeb-SyntheticTrajs — синтетические траектории от агентов axtree.
3. MolmoWeb-SyntheticQA — 2,2 миллиона пар скриншотов и вопросов для визуального обоснования.

Бонус: полный производственный агентский цикл (ссылка, не запускается в Colab)

Полный цикл работы агента MolmoWeb с использованием браузера Chromium.

Заключение

Мы создали прочное практическое понимание того, как MolmoWeb работает как веб-агент, управляемый скриншотами, в удобном для Colab рабочем процессе Python. Мы увидели, как структурировать подсказки, запускать вывод на визуальных состояниях браузера, анализировать рассуждения и действия, визуализировать прогнозируемые места щелчков и имитировать многоэтапное выполнение задач с накопленной историей.

Вопросы по тексту и ответы на них:

1. Какие основные компоненты включает в себя процесс создания веб-агента с визуальным управлением на основе искусственного интеллекта с помощью MolmoWeb-4B?

Ответ: процесс включает в себя установку зависимостей, настройку модели, определение вспомогательных функций, одношаговый и многошаговый вывод, разбор и маршрутизацию действий, пакетный вывод по нескольким задачам и исследование обучающего набора данных MolmoWebMix.

2. Какие шаги необходимо выполнить для загрузки модели MolmoWeb-4B с 4-битной квантизацией?

Ответ: для загрузки модели MolmoWeb-4B с 4-битной квантизацией необходимо выполнить следующие шаги: настроить модель с помощью BitsAndBytes для эффективного вывода, инициализировать процессор, необходимый для мультимодальных входов, и убедиться, что модель готова принимать как текстовые подсказки, так и скриншоты для обоснования действий веб-агента.

3. Какие подмножества включает в себя обучающий набор данных MolmoWebMix?

Ответ: обучающий набор данных MolmoWebMix состоит из трёх основных подмножеств: MolmoWeb-HumanTrajs (30 тысяч записей веб-задач, записанных человеком), MolmoWeb-SyntheticTrajs (синтетические траектории от агентов axtree) и MolmoWeb-SyntheticQA (2,2 миллиона пар скриншотов и вопросов для визуального обоснования).

4. Какие задачи можно решить с помощью веб-агента на основе MolmoWeb-4B?

Ответ: веб-агент на основе MolmoWeb-4B может решать различные задачи, связанные с взаимодействием с веб-сайтами на основе скриншотов, такие как поиск информации, выполнение действий в браузере и анализ рассуждений модели.

5. Какие инструменты и библиотеки используются для создания веб-агента на основе MolmoWeb-4B?

Ответ: для создания веб-агента на основе MolmoWeb-4B используются следующие инструменты и библиотеки: Colab, Python, Transformers, Accelerate, BitsAndBytes, Jinja2, Pillow, Requests, Datasets, Matplotlib, Torch и другие.

Источник