Como Construir um Agente de IA Web Guiado por Visão com MolmoWeb-4B Usando Raciocínio Multimodal e Predição de Ações

Como Construir um Agente de IA Web Guiado por Visão com MolmoWeb-4B Usando Raciocínio Multimodal e Predição de Ações

Neste tutorial, exploramos o MolmoWeb, o agente web multimodal aberto do Allen Institute for AI (Ai2) que entende e interage com websites diretamente de capturas de tela, sem depender de parsing de HTML ou DOM. Configuramos o ambiente completo no Colab, carregamos o modelo MolmoWeb-4B com quantização eficiente de 4 bits e construímos o fluxo de trabalho de prompt exato que permite ao modelo raciocinar sobre […] A postagem Como Construir um Agente Web Guiado por Visão

Neste tutorial, exploramos o MolmoWeb, o agente web multimodal aberto do Ai2 que entende e interage com websites diretamente de capturas de tela, sem depender de parsing de HTML ou DOM. Configuramos o ambiente completo no Colab, carregamos o modelo MolmoWeb-4B com quantização eficiente de 4 bits e construímos o fluxo de trabalho de prompt exato que permite ao modelo raciocinar sobre uma tarefa web e prever ações do navegador. Além disso, testamos o modelo em páginas em branco, capturas de tela web sintéticas e cenários de navegação multi-passos para entender como os agentes web baseados em capturas de tela realmente pensam, agem e mantêm o contexto entre os passos. Copiar Código Copiado Use um navegador diferente
print("=" * 70)
print("SEÇÃO 1: Instalando dependências...")
print("=" * 70)
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",
)
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 disponível: {torch.cuda.is_available()}")
if torch.cuda.is_available():
print(f" GPU: {torch.cuda.get_device_name(0)}")
mem_gb = torch.cuda.get_device_properties(0).total_mem / 1e9
print(f" VRAM: {mem_gb:.1f} GB")
print("\n" + "=" * 70)
print("SEÇÃO 2: Carregando modelo MolmoWeb-4B...")
print("=" * 70)
CHECKPOINT = "allenai/MolmoWeb-4B"
QUANTIZE = True
if QUANTIZE:
print("Usando quantização NF4 de 4 bits (cabe em ~6 GB VRAM)")
bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16,
bnb_4bit_use_double_quant=True,
)
model = AutoModelForImageTextToText.from_pretrained(
CHECKPOINT,
trust_remote_code=True,
quantization_config=bnb_config,
device_map="auto",
)
else:
print("Carregando em precisão bfloat16 completa")
model = AutoModelForImageTextToText.from_pretrained(
CHECKPOINT,
trust_remote_code=True,
torch_dtype=torch.bfloat16,
device_map="auto",
)
processor = AutoProcessor.from_pretrained(
CHECKPOINT,
trust_remote_code=True,
padding_side="left",
)
print(f"Modelo carregado: {CHECKPOINT}")
print(f" Device map: {model.hf_devi"

agentes de IAvisão computacionalagentes web