LLM 및 컴퓨터 비전을 사용하여 브라우저 기반 워크플로 자동화
Skyvern은 LLM과 컴퓨터 비전을 사용하여 브라우저 기반 워크플로를 자동화합니다. 이는 취약하거나 신뢰할 수 없는 자동화 솔루션을 대체하여 다수의 웹 사이트에서 수동 워크플로를 완전히 자동화할 수 있는 간단한 API 엔드포인트를 제공합니다.
브라우저 자동화에 대한 기존 접근 방식에서는 웹 사이트용 사용자 정의 스크립트를 작성해야 했으며, 웹 사이트 레이아웃이 변경될 때마다 중단되는 DOM 구문 분석 및 XPath 기반 상호 작용에 의존하는 경우가 많았습니다.
Skyvern은 코드 정의 XPath 상호 작용에만 의존하는 대신 컴퓨터 비전 및 LLM 외에도 프롬프트를 사용하여 실시간으로 뷰포트의 항목을 구문 분석하고 상호 작용 계획을 세우고 상호 작용합니다.
이 접근 방식은 다음과 같은 몇 가지 이점을 제공합니다.
Skyvern은 맞춤형 코드 없이 작업 흐름을 완료하는 데 필요한 작업에 시각적 요소를 매핑할 수 있으므로 이전에 볼 수 없었던 웹 사이트에서 작동할 수 있습니다.
Skyvern은 미리 결정된 XPath나 탐색을 시도하는 동안 우리 시스템이 찾는 다른 선택자가 없기 때문에 웹사이트 레이아웃 변경에 강합니다.
Skyvern은 워크플로를 완료하는 데 필요한 상호 작용을 통해 추론할 수 있으므로 단일 워크플로를 가져와서 이를 수많은 웹사이트에 적용할 수 있습니다.
Skyvern은 복잡한 상황을 다룰 수 있도록 LLM을 활용하여 상호 작용을 통해 추론합니다. 예는 다음과 같습니다:
Geico로부터 자동차 보험 견적을 받고 싶다면 "18세에 운전할 자격이 있었나요?"라는 일반적인 질문에 대한 답변이 필요합니다. 16세에 운전면허를 받은 운전자로부터 추론할 수 있음
경쟁사 분석을 수행 중이었다면 7/11의 Arnold Palmer 22온스 캔이 Gopuff의 23온스 캔과 거의 확실히 동일한 제품이라는 것을 알 수 있습니다(크기가 약간 다르더라도 반올림 오류가 발생할 수 있음).
Skyvern의 실제 사례를 보고 싶으십니까? #skyvern의 실제 사례로 이동
Skyvern은 BabyAGI 및 AutoGPT로 대중화된 작업 중심 자율 에이전트 디자인에서 영감을 얻었습니다. 한 가지 주요 보너스는 Skyvern에 Playwright와 같은 브라우저 자동화 라이브러리를 사용하여 웹 사이트와 상호 작용할 수 있는 기능을 제공한다는 것입니다.
Skyvern은 다수의 에이전트를 사용하여 웹사이트를 이해하고 해당 작업을 계획 및 실행합니다.
상호작용 가능한 요소 에이전트 : 이 에이전트는 웹사이트의 HTML을 구문 분석하고 상호작용 가능한 요소를 추출하는 역할을 합니다.
Navigation Agent : 이 에이전트는 작업을 완료하기 위한 탐색 계획을 담당합니다. 예를 들면 버튼 클릭, 텍스트 삽입, 옵션 선택 등이 있습니다.
데이터 추출 에이전트 : 이 에이전트는 웹사이트에서 데이터를 추출하는 역할을 담당합니다. 페이지의 테이블과 텍스트를 읽고 사용자가 정의한 구조화된 형식으로 출력을 추출할 수 있습니다.
비밀번호 에이전트 : 이 에이전트는 웹사이트에서 비밀번호 양식을 작성하는 역할을 합니다. 비밀번호 관리자에서 사용자 이름과 비밀번호를 읽고, 사용자 정의 비밀의 개인정보를 보호하면서 양식을 작성할 수 있습니다.
2FA 에이전트 : 이 에이전트는 웹사이트에서 2FA 양식을 작성하는 역할을 담당합니다. 2FA에 대한 웹사이트 요청을 가로채고 2FA 코드에 대한 사용자 정의 API를 요청하거나 사용자가 2FA 코드를 입력할 때까지 기다린 다음 로그인 프로세스를 완료할 수 있습니다.
동적 자동 완성 에이전트 : 이 에이전트는 웹사이트에서 동적 자동 완성 양식을 작성하는 역할을 담당합니다. 제시된 옵션을 읽고, 사용자 입력에 따라 적절한 옵션을 선택하고, 양식 내부의 피드백에 따라 입력을 조정할 수 있습니다. 인기 있는 예로는 주소 양식, 대학 드롭다운 등이 있습니다.
우리는 인프라를 관리할 필요 없이 Skyvern을 실행할 수 있는 관리형 클라우드 버전의 Skyvern을 제공합니다. 이를 통해 여러 Skyvern 인스턴스를 병렬로 실행하여 대규모로 워크플로를 자동화할 수 있습니다. 또한 Skyvern 클라우드에는 안티 봇 탐지 메커니즘, 프록시 네트워크 및 CAPTCHA 해결 기능이 번들로 제공되어 보다 복잡한 워크플로를 완료할 수 있습니다.
시험해보고 싶다면,
app.skyvern.com으로 이동하세요.
계정을 만들고 $5 크레딧을 받으세요
첫 번째 작업을 시작하고 Skyvern의 실제 작동 모습을 확인하세요!
모험에 도움이 될 수 있는 몇 가지 팁은 다음과 같습니다.
Skyvern은 단일 목표를 수행하는 데 정말 능숙합니다. 너무 많은 지시를 하면 도중에 혼란스러울 가능성이 높습니다.
목표를 명확하게 표현하는 것은 매우 중요합니다. 예를 들어, 보험 견적을 생성하는 경우 목표 달성을 식별할 수 있는 방법을 매우 명확하게 알려주십시오. 성공 및 실패 모드를 각각 나타내려면 "COMPLETE" 또는 "TERMINATE"와 같은 단어를 사용하십시오.
여러 지침을 함께 연결하거나 안전하게 로그인하는 등의 고급 작업을 수행하려는 경우 워크플로를 사용할 수 있습니다. 이와 관련하여 도움이 필요하면 언제든지 저희에게 시간을 예약해 주세요! 우리는 항상 기꺼이 도와드리겠습니다.
이 빠른 시작 가이드는 Skyvern을 로컬 컴퓨터에서 시작하고 실행하는 과정을 안내합니다.
컴퓨터에 Docker Desktop이 설치되어 실행되고 있는지 확인하세요.
로컬로 실행 중인 postgres가 없는지 확인하십시오(확인하려면 docker ps
실행).
저장소를 복제하고 루트 디렉터리로 이동합니다.
docker-compose.yml에 LLM 공급자 키를 입력합니다. 원격 서버에서 Skyvern을 실행하려면 docker-compose.yml에서 UI 컨테이너에 대한 올바른 서버 IP를 설정했는지 확인하세요.
명령줄을 통해 다음 명령을 실행합니다.
도커 구성 -d
UI 사용을 시작하려면 브라우저에서 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
서버에 요청 보내기를 시작할 수 있지만 시작하는 데 도움이 되도록 간단한 UI를 구축했습니다. UI를 시작하려면 다음 명령을 실행하십시오.
./run_ui.sh
UI 사용을 시작하려면 브라우저에서 http://localhost:8080
으로 이동하세요.
Skyvern에 기여하려는 경우 코드 품질과 일관성을 보장하기 위해 사전 커밋 후크를 설치해야 합니다. 다음 명령을 실행하여 이 작업을 수행할 수 있습니다.
사전 커밋 설치
작업은 Skyvern의 기본 구성 요소입니다. 각 작업은 Skyvern에 대한 단일 요청으로, 웹사이트를 탐색하고 특정 목표를 달성하도록 지시합니다.
작업에서는 웹사이트에서 데이터를 추출하려는 경우 url
, navigation_goal
및 선택적으로 data_extraction_goal
지정해야 하며, Skyvern이 정보를 채우거나 웹사이트에서 제공하는 질문에 답변하는 데 도움이 되는 추가 컨텍스트를 제공하려는 경우에는 navigation_payload
를 지정해야 합니다.
워크플로는 여러 작업을 함께 연결하여 응집력 있는 작업 단위를 형성하는 방법입니다.
예를 들어 1월 1일 이후의 모든 송장을 다운로드하려는 경우 먼저 송장 페이지로 이동한 다음 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 방법을 지원합니다.
예는 다음과 같습니다:
QR 기반 2FA(예: Google Authenticator, Authy)
이메일 기반 2FA
SMS 기반 2FA
우리는 Skyvern이 실제 현장에서 어떻게 사용되고 있는지 보고 싶습니다. 다음은 Skyvern이 실제 세계에서 워크플로우를 자동화하는 데 어떻게 사용되는지에 대한 몇 가지 예입니다. 자신만의 사례를 추가하려면 PR을 열어주세요!
이러한 예제를 시험해 보려면 Skyvern을 로컬에서 실행해야 합니다. 빠른 시작 가이드를 살펴본 후 다음 명령을 실행하세요.
./run_skyvern.sh
데모를 예약하여 실시간으로 확인하세요
실제로 확인해보세요
실제로 확인해보세요
실제로 확인해보세요
실제로 확인해보세요
실제로 확인해보세요
실제로 확인해보세요
더 광범위한 문서는 당사의 문서 웹사이트에서 찾을 수 있습니다. 불분명하거나 누락된 내용이 있는 경우 문제를 열거나 이메일 또는 디스코드를 통해 연락하여 알려주시기 바랍니다.
공급자 | 지원되는 모델 |
---|---|
오픈AI | 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 , BEDROCK_ANTHROPIC_CLAUDE3_OPUS , BEDROCK_ANTHROPIC_CLAUDE3_SONNET , BEDROCK_ANTHROPIC_CLAUDE3_HAIKU , BEDROCK_ANTHROPIC_CLAUDE3.5_SONNET , AZURE_OPENAI |
OPENAI_API_KEY | OpenAI API 키 | 끈 | sk-1234567890 |
OPENAI_API_BASE | OpenAI API 베이스, 선택사항 | 끈 | https://openai.api.base |
OPENAI_ORGANIZATION | OpenAI 조직 ID, 선택사항 | 끈 | your-org-id |
ANTHROPIC_API_KEY | 인류학 API 키 | 끈 | sk-1234567890 |
AZURE_API_KEY | Azure 배포 API 키 | 끈 | sk-1234567890 |
AZURE_DEPLOYMENT | Azure OpenAI 배포 이름 | 끈 | skyvern-deployment |
AZURE_API_BASE | Azure 배포 API 기본 URL | 끈 | https://skyvern-deployment.openai.azure.com/ |
AZURE_API_VERSION | Azure API 버전 | 끈 | 2024-02-01 |
이는 향후 몇 달 동안 계획된 로드맵입니다. 제안 사항이 있거나 기능 추가를 원하시면 주저하지 말고 이메일이나 디스코드를 통해 연락해 주세요.
오픈 소스 - 오픈 소스 Skyvern의 핵심 코드베이스
[베타] 워크플로 지원 - 여러 Skyvern 통화를 함께 연결하는 지원을 허용합니다.
향상된 컨텍스트 - 텍스트 프롬프트를 통해 관련 라벨 컨텍스트를 제공하여 상호 작용 가능한 요소 주변의 콘텐츠를 이해하는 Skyvern의 능력을 향상시킵니다.
비용 절감 - Skyvern에 전달된 컨텍스트 트리를 최적화하여 Skyvern의 안정성을 향상하고 Skyvern 실행 비용을 줄입니다.
셀프 서비스 UI - 사용자가 Skyvern에서 새 작업을 시작할 수 있는 React 기반 UI 구성 요소를 위해 Streamlit UI를 더 이상 사용하지 않습니다.
워크플로우 UI 빌더 - 사용자가 워크플로우를 시각적으로 구축하고 분석할 수 있는 UI를 도입합니다.
Chrome 뷰포트 스트리밍 - Chrome 뷰포트를 사용자 브라우저에 실시간 스트리밍하는 방법을 도입합니다(셀프 서비스 UI의 일부로).
과거 실행 UI - 과거 실행과 그 결과를 시각화할 수 있는 React 기반 UI를 위해 Streamlit UI를 더 이상 사용하지 않습니다.
프롬프트 캐싱 - LLM 호출에 캐싱 레이어를 도입하여 Skyvern 실행 비용을 대폭 절감합니다(과거 작업을 기억하고 반복하세요!)
웹 평가 데이터세트 - Skyvern을 공개 벤치마크 테스트와 통합하여 시간 경과에 따른 모델 품질 추적
향상된 디버그 모드 - Skyvern이 작업을 계획하고 실행하기 전에 "승인"을 받을 수 있도록 허용하여 수행 중인 작업을 디버깅하고 프롬프트에서 더 쉽게 반복할 수 있도록 합니다.
자동 워크플로 빌더("관찰자") 모드 - Skyvern이 웹을 탐색할 때 워크플로를 자동 생성하여 새 워크플로를 더 쉽게 구축할 수 있도록 허용합니다.
Chrome 확장 프로그램 - 사용자가 Chrome 확장 프로그램(음성 모드, 작업 저장 등 포함)을 통해 Skyvern과 상호작용할 수 있도록 허용합니다.
Skyvern Action Recorder - Skyvern이 사용자가 작업을 완료하는 것을 지켜본 다음 자동으로 해당 작업 흐름을 생성할 수 있습니다.
상호 작용 가능한 라이브 스트림 - 사용자가 라이브 스트림과 실시간으로 상호 작용하여 필요할 때 개입할 수 있습니다(예: 민감한 양식을 수동으로 제출).
LLM 관찰 도구 통합 - LLM 관찰 도구를 통합하여 특정 데이터 세트에 대한 즉각적인 변경 백테스팅을 허용하고 시간 경과에 따른 Skyvern 성능 시각화
Langchain 통합 - Skyvern을 "도구"로 사용하려면 langchain_community에서 langchain 통합을 생성하세요.
PR과 제안을 환영합니다! 주저하지 말고 PR/이슈를 공개하거나 이메일이나 디스코드로 문의해 주세요. 시작하려면 기여 가이드와 "구인 지원" 문제를 살펴보세요!
skyvern 저장소와 채팅하여 구조화 방법, 구축 방법 및 사용 질문 해결 방법에 대한 높은 수준의 개요를 얻으려면 Code Sage를 확인하세요.
기본적으로 Skyvern은 Skyvern이 어떻게 사용되고 있는지 이해하는 데 도움이 되는 기본 사용 통계를 수집합니다. 원격 측정을 거부하려면 SKYVERN_TELEMETRY
환경 변수를 false
로 설정하세요.
Skyvern의 오픈 소스 저장소는 관리형 클라우드를 통해 지원됩니다. Skyvern을 지원하는 모든 핵심 로직은 관리형 클라우드 제품에서 제공되는 안티 봇 조치를 제외하고 AGPL-3.0 라이선스에 따라 라이선스가 부여된 이 오픈 소스 저장소에서 사용할 수 있습니다.
라이선스에 관해 질문이나 우려 사항이 있는 경우 당사에 문의하시면 기꺼이 도와드리겠습니다.