Автоматизируйте рабочие процессы в браузере с помощью LLM и компьютерного зрения.
Skyvern автоматизирует рабочие процессы в браузере с помощью LLM и компьютерного зрения. Он предоставляет простую конечную точку API для полной автоматизации ручных рабочих процессов на большом количестве веб-сайтов, заменяя хрупкие или ненадежные решения автоматизации.
Традиционные подходы к автоматизации браузеров требовали написания собственных сценариев для веб-сайтов, часто полагавшихся на анализ DOM и взаимодействия на основе XPath, которые ломались всякий раз, когда макет веб-сайта менялся.
Вместо того, чтобы полагаться только на определяемые кодом взаимодействия XPath, Skyvern полагается на подсказки в дополнение к компьютерному зрению и LLM для анализа элементов в области просмотра в режиме реального времени, создания плана взаимодействия и взаимодействия с ними.
Такой подход дает нам несколько преимуществ:
Skyvern может работать на веб-сайтах, которые он никогда раньше не видел, поскольку он может сопоставлять визуальные элементы с действиями, необходимыми для завершения рабочего процесса, без какого-либо специального кода.
Skyvern устойчив к изменениям макета веб-сайта, поскольку нет заранее определенных XPath или других селекторов, которые наша система ищет при попытке навигации.
Skyvern может взять один рабочий процесс и применить его к большому количеству веб-сайтов, поскольку он способен анализировать взаимодействия, необходимые для завершения рабочего процесса.
Skyvern использует LLM для рассуждения посредством взаимодействия, чтобы гарантировать, что мы можем охватить сложные ситуации. Примеры включают в себя:
Если вы хотите получить расценки на автострахование от Geico, ответ на распространенный вопрос «Имеете ли вы право водить машину в 18 лет?» можно предположить по тому, что водитель получил права в возрасте 16 лет.
Если вы проводили анализ конкурентов, вы должны понимать, что банка Arnold Palmer на 22 унции в магазине 7/11 почти наверняка представляет собой тот же продукт, что и банка на 23 унции в Gopuff (хотя размеры немного отличаются, что может быть ошибкой округления!)
Хотите увидеть примеры Skyvern в действии? Перейти к #real-world-examples-of-skyvern
Skyvern был вдохновлен дизайном автономного агента, управляемого задачами, популяризированным BabyAGI и AutoGPT, с одним важным бонусом: мы даем Skyvern возможность взаимодействовать с веб-сайтами, используя библиотеки автоматизации браузера, такие как Playwright.
Skyvern использует множество агентов для изучения веб-сайта, а также планирования и выполнения его действий:
Агент интерактивных элементов : этот агент отвечает за анализ HTML веб-сайта и извлечение интерактивных элементов.
Агент навигации : этот агент отвечает за планирование навигации для выполнения задачи. Примеры включают нажатие кнопок, вставку текста, выбор параметров и т. д.
Агент извлечения данных : этот агент отвечает за извлечение данных с веб-сайта. Он способен читать таблицы и текст на странице и извлекать выходные данные в определяемом пользователем структурированном формате.
Агент паролей : этот агент отвечает за заполнение форм паролей на веб-сайте. Он способен считывать имя пользователя и пароль из менеджера паролей и заполнять форму, сохраняя при этом конфиденциальность определенных пользователем секретов.
Агент 2FA : этот агент отвечает за заполнение форм 2FA на веб-сайте. Он способен перехватывать запросы веб-сайта для 2FA и либо запрашивать определяемые пользователем API для кодов 2FA, либо ждать, пока пользователи введут в него коды 2FA, а затем завершать процесс входа в систему.
Агент динамического автозаполнения . Этот агент отвечает за заполнение форм динамического автозаполнения на веб-сайте. Он способен считывать представленные ему параметры, выбирать подходящий вариант на основе ввода пользователя и корректировать вводимые данные на основе обратной связи изнутри формы. Популярные примеры: формы адресов, раскрывающиеся списки университетов и многое другое.
Мы предлагаем управляемую облачную версию Skyvern, которая позволяет запускать Skyvern без необходимости управлять инфраструктурой. Это позволяет вам запускать несколько экземпляров Skyvern параллельно, чтобы автоматизировать рабочие процессы в нужном масштабе. Кроме того, облако Skyvern включает в себя механизмы обнаружения ботов, прокси-сеть и решение CAPTCHA, что позволяет вам выполнять более сложные рабочие процессы.
Если вы хотите попробовать это,
Перейдите на app.skyvern.com.
Создайте учетную запись и получите от нас кредиты на сумму 5 долларов США.
Выполните свое первое задание и посмотрите Skyvern в действии!
Вот несколько советов, которые могут помочь вам в вашем приключении:
Skyvern действительно хорош в достижении единственной цели. Если вы дадите ему слишком много инструкций, он, скорее всего, запутается.
Очень важно четко формулировать цели. Например, если вы составляете страховое предложение, четко дайте ему понять, как оно может определить, что оно достигло своих целей. Используйте такие слова, как «ЗАВЕРШИТЬ» или «ПРЕКРАТИТЬ», чтобы указать режимы успеха и неудачи соответственно.
Рабочие процессы можно использовать, если вы хотите выполнять более сложные задачи, такие как объединение нескольких инструкций или безопасный вход в систему. Если вам нужна помощь в этом, пожалуйста, забронируйте у нас немного времени! Мы всегда рады помочь
Это краткое руководство поможет вам настроить Skyvern и запустить его на локальном компьютере.
Убедитесь, что на вашем компьютере установлен и работает Docker Desktop.
Убедитесь, что у вас не работает postgres локально (запустите docker ps
чтобы проверить)
Клонируйте репозиторий и перейдите в корневой каталог.
Введите ключ поставщика LLM в файл docker-compose.yml. Если вы хотите запустить Skyvern на удаленном сервере, убедитесь, что вы установили правильный IP-адрес сервера для контейнера пользовательского интерфейса в docker-compose.yml.
Запустите следующую команду через командную строку:
докер составить -d
Перейдите по адресу http://localhost:8080
в своем браузере, чтобы начать использовать пользовательский интерфейс.
Прежде чем начать, убедитесь, что у вас установлено следующее:
Brew (если у вас Mac)
Поэзия
brew install poetry
узел
Докер
Примечание. Наш сценарий установки сделает эти два действия за вас, но они приведены здесь для справки.
Питон 3.11
poetry env use 3.11
PostgreSQL 14 (если вы используете Mac, сценарий установки установит его за вас, если у вас установлен homebrew)
brew install postgresql
Клонируйте репозиторий и перейдите в корневой каталог.
Откройте Docker Desktop (работает для Windows, macOS и Linux) или запустите Docker Daemon.
Запустите сценарий установки, чтобы установить необходимые зависимости и настроить среду.
./setup.sh
Запустить сервер
./run_skyvern.sh
Вы можете начать отправлять запросы на сервер, но мы создали простой пользовательский интерфейс, который поможет вам начать работу. Чтобы запустить пользовательский интерфейс, выполните следующую команду:
./run_ui.sh
Перейдите по адресу http://localhost:8080
в своем браузере, чтобы начать использовать пользовательский интерфейс.
Если вы хотите внести свой вклад в Skyvern, вам необходимо установить перехватчики предварительной фиксации, чтобы обеспечить качество и согласованность кода. Вы можете сделать это, выполнив следующую команду:
предварительная установка
Задачи — это фундаментальный строительный блок Skyvern. Каждая задача представляет собой отдельный запрос к Skyvern, который дает ему указание перемещаться по веб-сайту и достигать определенной цели.
Задачи требуют, чтобы вы указали url
, navigation_goal
и, при необходимости, data_extraction_goal
если вы хотите извлечь данные с веб-сайта, и navigation_payload
если вы хотите предоставить дополнительный контекст, который поможет Skyvern заполнить информацию или ответить на вопросы, представленные веб-сайтом.
Рабочие процессы — это способ объединить несколько задач в единую единицу работы.
Например, если вы хотите загрузить все счета, выпущенные позднее 1 января, вы можете создать рабочий процесс, который сначала перейдет на страницу счетов, затем отфильтрует его так, чтобы отображались только счета, выпущенные позднее 1 января, выделит список всех подходящих счетов и повторит итерацию. через каждый счет, чтобы загрузить его.
Другой пример: если вы хотите автоматизировать покупку продуктов в интернет-магазине, вы можете создать рабочий процесс, который сначала переходит к нужному продукту, а затем добавляет его в корзину. Во-вторых, он перейдет к корзине и проверит ее состояние. Наконец, он пройдет процесс оформления заказа для покупки товаров.
Поддерживаемые функции рабочего процесса включают в себя:
Задачи (+ цепочки задач)
Петли
Парсинг файлов
Загрузка файлов для блокировки хранилища
Отправка электронных писем
Текстовые подсказки
(Скоро) Условные обозначения
(Скоро) Пользовательский блок кода
Skyvern позволяет вам транслировать окно просмотра браузера в прямом эфире на ваш локальный компьютер, чтобы вы могли точно видеть, что Skyvern делает в Интернете. Это полезно для отладки и понимания того, как Skyvern взаимодействует с веб-сайтом, и вмешательства при необходимости.
Skyvern изначально способен заполнять формы на веб-сайтах. Передача информации через navigation_goal
или navigation_payload
позволит Skyvern понять информацию и соответствующим образом заполнить форму.
Skyvern также способен извлекать данные с веб-сайта. Указание data_extraction_goal
позволит Skyvern извлечь данные и вернуть их вам в ответе.
Вы также можете указать data_extraction_schema
, чтобы сообщить Skyvern, какие именно данные вы хотите извлечь с веб-сайта, в формате jsonc. Вывод Skyvern будет структурирован в соответствии с предоставленной схемой.
Skyvern также может загружать файлы с веб-сайта. Указание file_download_goal
позволит Skyvern загрузить файл и вернуть ссылку на файл в ответе.
Skyvern поддерживает ряд различных методов аутентификации, упрощающих автоматизацию задач, связанных с входом в систему.
Skyvern в настоящее время поддерживает следующие интеграции менеджера паролей:
Битварден
1Пароль
Последний проход
Skyvern поддерживает ряд различных методов 2FA, позволяющих автоматизировать рабочие процессы, требующие 2FA.
Примеры включают в себя:
2FA на основе QR (например, Google Authenticator, Authy)
2FA на основе электронной почты
2FA на основе SMS
Нам нравится видеть, как Skyvern используется в дикой природе. Вот несколько примеров того, как Skyvern используется для автоматизации рабочих процессов в реальном мире. Пожалуйста, откройте PR, чтобы добавить свои собственные примеры!
Если вы хотите опробовать эти примеры, вам понадобится запустить Skyvern локально. После прочтения краткого руководства выполните следующую команду:
./run_skyvern.sh
Закажите демо-версию, чтобы увидеть ее вживую
Посмотрите это в действии
Посмотрите это в действии
Посмотрите это в действии
Посмотрите это в действии
Посмотрите это в действии
Посмотрите это в действии
Более подробную документацию можно найти на нашем веб-сайте документации. Если что-то неясно или отсутствует, сообщите нам, открыв вопрос или связавшись с нами по электронной почте или в Discord.
Поставщик | Поддерживаемые модели |
---|---|
ОпенАИ | gpt4-турбо, gpt-4o, gpt-4o-мини |
антропный | Клод 3 (Хайку, Сонет, Опус), Клод 3.5 (Сонет) |
Azure OpenAI | Любые модели GPT. Повышение производительности при использовании мультимодального llm (azure/gpt4-o). |
AWS Основа | Антропный Клод 3 (Хайку, Сонет, Опус), Клод 3.5 (Сонет) |
Оллама | Скоро (вклад приветствуется) |
Близнецы | Скоро (вклад приветствуется) |
Лама 3.2 | Скоро (вклад приветствуется) |
Переменная | Описание | Тип | Образец значения |
---|---|---|---|
ENABLE_OPENAI | Регистрация моделей OpenAI | логическое значение | true , false |
ENABLE_ANTHROPIC | Регистрация антропных моделей | логическое значение | true , false |
ENABLE_AZURE | Регистрация моделей Azure OpenAI | логическое значение | true , false |
ENABLE_BEDROCK | Регистрация моделей AWS Bedrock | логическое значение | true , false |
LLM_KEY | Название модели, которую вы хотите использовать | Нить | В настоящее время поддерживаются ключи llm: OPENAI_GPT4_TURBO , OPENAI_GPT4V , OPENAI_GPT4O , OPENAI_GPT4O_MINI , ANTHROPIC_CLAUDE3 , ANTHROPIC_CLAUDE3_OPUS , ANTHROPIC_CLAUDE3_SONNET , ANTHROPIC_CLAUDE3_HAIKU , ANTHROPIC_CLAUDE3.5_SONNET , 3.5_SONNET, BEDROCK_ANTHROPIC_CLAUDE3_OPUS , BEDROCK_ANTHROPIC_CLAUDE3_SONNET , BEDROCK_ANTHROPIC_CLAUDE3_HAIKU , BEDROCK_ANTHROPIC_CLAUDE3.5_SONNET , AZURE_OPENAI |
OPENAI_API_KEY | API-ключ OpenAI | Нить | sk-1234567890 |
OPENAI_API_BASE | База API OpenAI, опционально | Нить | https://openai.api.base |
OPENAI_ORGANIZATION | Идентификатор организации OpenAI, необязательно | Нить | your-org-id |
ANTHROPIC_API_KEY | Антропный API-ключ | Нить | sk-1234567890 |
AZURE_API_KEY | Ключ API развертывания Azure | Нить | sk-1234567890 |
AZURE_DEPLOYMENT | Имя развертывания Azure OpenAI | Нить | skyvern-deployment |
AZURE_API_BASE | Базовый URL-адрес API развертывания Azure | Нить | https://skyvern-deployment.openai.azure.com/ |
AZURE_API_VERSION | Версия API Azure | Нить | 2024-02-01 |
Это наш план действий на ближайшие несколько месяцев. Если у вас есть какие-либо предложения или вы хотели бы видеть добавленную функцию, не стесняйтесь обращаться к нам по электронной почте или через Discord.
Открытый исходный код — основная кодовая база Skyvern с открытым исходным кодом.
[БЕТА] Поддержка рабочих процессов : разрешите службе поддержки объединять несколько вызовов Skyvern вместе.
Улучшенный контекст . Улучшите способность Skyvern понимать контент вокруг интерактивных элементов, вводя соответствующий контекст меток через текстовую подсказку.
Экономия средств . Улучшите стабильность Skyvern и сократите затраты на эксплуатацию Skyvern за счет оптимизации дерева контекстов, передаваемого в Skyvern.
Пользовательский интерфейс самообслуживания : отказ от пользовательского интерфейса Streamlit в пользу компонента пользовательского интерфейса на основе React, который позволяет пользователям начинать новые задания в Skyvern.
Workflow UI Builder — представьте пользовательский интерфейс, позволяющий пользователям визуально создавать и анализировать рабочие процессы.
Потоковая передача области просмотра Chrome . Предложите способ прямой трансляции области просмотра Chrome в браузер пользователя (как часть пользовательского интерфейса самообслуживания).
Пользовательский интерфейс прошлых запусков . Пользовательский интерфейс Streamlit устарел в пользу пользовательского интерфейса на основе React, который позволяет визуализировать прошлые запуски и их результаты.
Оперативное кэширование . Добавьте уровень кэширования в вызовы LLM, чтобы значительно снизить затраты на запуск Skyvern (запоминайте прошлые действия и повторяйте их!)
Набор данных для веб-оценки : интеграция Skyvern с общедоступными тестами производительности для отслеживания качества наших моделей с течением времени.
Улучшенный режим отладки : позвольте Skyvern планировать свои действия и получать «одобрение» перед их запуском, что позволяет вам отлаживать то, что он делает, и легче выполнять итерацию по запросу.
Режим автоматического построения рабочих процессов («Наблюдатель») — разрешите Skyvern автоматически создавать рабочие процессы во время навигации по Интернету, чтобы упростить создание новых рабочих процессов.
Расширение Chrome . Разрешить пользователям взаимодействовать со Skyvern через расширение Chrome (включая голосовой режим, сохранение задач и т. д.).
Skyvern Action Recorder — позволяет Skyvern наблюдать за выполнением пользователем задачи, а затем автоматически создавать для нее рабочий процесс.
Интерактивная прямая трансляция — позволяет пользователям взаимодействовать с прямой трансляцией в режиме реального времени, чтобы вмешиваться в случае необходимости (например, вручную отправлять конфиденциальные формы).
Интегрируйте инструменты LLM Observability . Интегрируйте инструменты LLM Observability, чтобы обеспечить возможность оперативного тестирования изменений с использованием определенных наборов данных + визуализацию производительности Skyvern с течением времени.
Интеграция Langchain — создайте интеграцию Langchain в langchain_community, чтобы использовать Skyvern в качестве «инструмента».
Мы приветствуем пиар и предложения! Не стесняйтесь открывать PR/проблему или обращаться к нам по электронной почте или в Discord. Пожалуйста, ознакомьтесь с нашим руководством по вкладам и вопросами «Требуется помощь», чтобы начать!
Если вы хотите пообщаться с репозиторием skyvern, чтобы получить общий обзор того, как он структурирован, как его построить и как решить вопросы по использованию, посетите Code Sage.
По умолчанию Skyvern собирает базовую статистику использования, чтобы помочь нам понять, как используется Skyvern. Если вы хотите отказаться от телеметрии, установите для переменной среды SKYVERN_TELEMETRY
значение false
.
Репозиторий Skyvern с открытым исходным кодом поддерживается через управляемое облако. Вся основная логика, лежащая в основе Skyvern, доступна в этом репозитории с открытым исходным кодом под лицензией AGPL-3.0, за исключением мер по борьбе с ботами, доступных в нашем управляемом облачном предложении.
Если у вас есть какие-либо вопросы или сомнения по поводу лицензирования, свяжитесь с нами, и мы будем рады помочь.