Разблокировка веб-агентов на основе ИИ: GPT-4V и Puppeteer расширяют возможности автономного веб-серфинга

Откройте для себя мощных веб-агентов на основе ИИ с помощью GPT-4V и Puppeteer! Исследуйте автономный веб-серфинг, веб-скрейперы и сложные ИИ-ориентированные веб-исследования. Узнайте, как эти передовые ИИ-помощники могут революционизировать задачи, от RPA до поддержки клиентов.

20 февраля 2025 г.

party-gif

Раскройте силу веб-автоматизации, управляемой ИИ, с помощью этого инновационного подхода, сочетающего GPT-4V и Puppeteer. Узнайте, как вы можете создать агента ИИ, который может просматривать веб-страницы, извлекать данные и выполнять сложные задачи с легкостью, революционизируя ваш рабочий процесс и открывая новые возможности.

Варианты использования и рыночные возможности для ИИ-агентов в Интернете

Один из способов взглянуть на потенциальные варианты использования и рыночные возможности для веб-агентов на базе ИИ - это изучить предыдущие попытки создания подобных систем, их ограничения и то, как новые технологии или изменения могут потенциально изменить динамику.

Одна из прямых рыночных категорий - это Robotic Process Automation (RPA), которая представляет собой категорию программного обеспечения, помогающего предприятиям создавать автоматизированных ботов для выполнения повторяющихся и стандартизированных задач, таких как обработка счетов-фактур или ввод данных. Однако ограничения решений RPA довольно очевидны - они испытывают трудности с нестандартными или постоянно меняющимися процессами и требуют высоких затрат на настройку для каждой конкретной автоматизации.

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

Помимо простой автоматизации, эти агенты ИИ также могут выходить за рамки традиционной RPA и выполнять более интеллектуальные задачи, такие как поддержка клиентов, продажи и маркетинг. Получая доступ к большему количеству систем и используя свои способности к принятию решений, эти "работники" ИИ могут быть развернуты для более широкого спектра вариантов использования, включая потребительские приложения с меньшим объемом.

Однако ключевой проблемой в предоставлении полезных решений на базе ИИ-работников является не только техническое понимание, но и знание конечного рабочего процесса для конкретных функций. Недавний исследовательский отчет Hotspot, в котором были опрошены более 1400 глобальных руководителей по продажам, предоставляет ценные insights в современный рабочий процесс продаж и варианты использования ИИ, которые могут быть очень полезны для создания агентов ИИ для функций продаж.

Резюмируя, ключевые возможности для веб-агентов на базе ИИ включают:

  • Обработка более сложных, нестандартных задач по сравнению с традиционной RPA
  • Снижение затрат на настройку автоматизации
  • Расширение за рамки простой автоматизации к более интеллектуальным задачам, таким как поддержка клиентов и продажи
  • Использование глубоких знаний о рабочих процессах для конкретных должностных функций для создания более эффективных агентов ИИ

Два подхода к созданию ИИ-агентов в Интернете

Подход 1: Веб-скрапер на базе GPT-4V

  1. Используйте библиотеку Node.js, такую как Puppeteer, чтобы делать скриншоты веб-страниц и управлять веб-браузером.
  2. Создайте скрипт на Python, который вызывает JavaScript-файл для создания скриншотов, а затем использует GPT-4V для извлечения данных из скриншотов.
  3. Скрипт на Python определяет функции для преобразования изображения в base64, создания скриншотов и использования GPT-4V для извлечения информации из скриншотов.
  4. Скрипт объединяет эти функции, чтобы создать мощный веб-скрапер, который может получать доступ к веб-сайтам, которые обычно блокируют службы скрапинга.

Подход 2: Создание веб-агента на базе ИИ

  1. Создайте файл Node.js, который импортирует различные библиотеки и настраивает экземпляр OpenAI и интерфейс командной строки.
  2. Реализуйте функцию highlightLinks, которая определяет все интерактивные элементы на веб-странице и добавляет к ним специальный атрибут.
  3. Определите основную функцию, которая создает браузер Puppeteer, настраивает системное сообщение для GPT-4V и входит в цикл, в котором:
    • Получает ответ от GPT-4V на основе запроса пользователя и текущего состояния веб-страницы.
    • Если ответ указывает, что нужно нажать на ссылку, находит соответствующий элемент и нажимает на него.
    • Если ответ указывает, что нужно посетить новый URL, переходит по этому URL и выделяет ссылки.
    • Если ответ - обычное сообщение, отображает результат пользователю.
  4. Этот веб-агент на базе ИИ может перемещаться по нескольким веб-сайтам, нажимать на ссылки и выполнять сложные исследовательские задачи, используя возможности GPT-4V.

Оба подхода демонстрируют, как можно использовать крупные языковые модели, такие как GPT-4V, для создания мощных инструментов автоматизации и исследования веб-сайтов. Первый подход сосредоточен на веб-скрапинге, а второй подход создает более интерактивного веб-агента, который может перемещаться и выполнять задачи в Интернете.

Создание веб-скрапера, работающего на GPT-4V

Чтобы создать веб-скрапер на базе GPT-4V, мы будем использовать библиотеку Node.js под названием Puppeteer для управления веб-браузером и создания скриншотов. Вот пошаговое руководство:

  1. Создайте новый файл под названием screenshot.js и импортируйте необходимые библиотеки:
const puppeteer = require('puppeteer');
const puppeteerExtra = require('puppeteer-extra');
  1. Определите URL, который вы хотите скрапировать, и значение тайм-аута:
const url = 'https://en.wikipedia.org/wiki/Main_Page';
const timeout = 60000; // 60 секунд
  1. Создайте асинхронную функцию для запуска браузера, перехода по URL и создания скриншота:
async function takeScreenshot() {
  const browser = await puppeteerExtra.launch();
  const page = await browser.newPage();
  await page.setViewport({ width: 1920, height: 1080 });
  await page.goto(url, { waitUntil: 'networkidle0' });
  await page.screenshot({ path: 'screenshot.jpg', fullPage: true });
  await browser.close();
}
  1. В этом примере мы используем плагин puppeteer-extra, чтобы сделать браузер менее заметным для веб-сайтов.

  2. Запустите функцию takeScreenshot(), чтобы сделать скриншот:

takeScreenshot();

Теперь вы можете запустить скрипт с помощью node screenshot.js, и он сохранит скриншот главной страницы Wikipedia в файл screenshot.jpg.

Затем мы создадим скрипт на Python, который использует скриншот и GPT-4V для извлечения данных с веб-сайта:

  1. Создайте новый файл под названием vision_scraper.py и импортируйте необходимые библиотеки:
import os
import subprocess
import base64
import openai
from dotenv import load_dotenv

load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")
  1. Определите функции для преобразования изображения в base64 и создания скриншота с помощью скрипта screenshot.js:
def image_to_b64(image_path):
    with open(image_path, "rb") as image_file:
        return base64.b64encode(image_file.read()).decode("utf-8")

def url_to_screenshot(url):
    if os.path.exists("screenshot.jpg"):
        os.remove("screenshot.jpg")
    try:
        subprocess.run(["node", "screenshot.js"], check=True)
        return "screenshot.jpg"
    except subprocess.CalledProcessError:
        return None
  1. Создайте функцию для использования GPT-4V для извлечения информации из скриншота:
def vision_extract(image_b64, prompt):
    response = openai.ChatCompletion.create(
        model="gpt-4",
        messages=[
            {"role": "system", "content": "You are a web scraper. Your job is to extract information based on a screenshot of a website and user instructions."},
            {"role": "user", "content": prompt},
            {"role": "user", "content": image_b64}
        ],
        max_tokens=2048,
        n=1,
        stop=None,
        temperature=0.7,
    )
    return response.choices[0].message.content.strip()
  1. Объедините все в функцию vision_query():
def vision_query(url, prompt):
    screenshot_path = url_to_screenshot(url)
    if screenshot_path:
        image_b64 = image_to_b64(screenshot_path)
        return vision_extract(image_b64, prompt)
    else:
        return "Error: Unable to capture screenshot."
  1. Теперь вы можете использовать функцию vision_query() для извлечения информации с веб-сайта:
result = vision_query("https://www.linkedin.com/in/your-profile-url", "Extract the work experience section from the profile.")
print(result)

Этот пример сделает скриншот указанного профиля LinkedIn и использует GPT-4V для извлечения раздела "Опыт работы". Вы можете настроить запрос, чтобы извлекать различные типы информации с веб-сайта.

Часто задаваемые вопросы