SingularGPT 는 ChatGPT 및 GPT-4를 사용하여 장치를 자동화하는 오픈 소스 프로젝트입니다.
SingularGPT를 사용하면 간단한 텍스트 기반 쿼리로 장치에 쉽게 지시할 수 있습니다.
예를 들어:
텍스트가 '파일'인 버튼을 클릭해야 한다고 가정해 보겠습니다.
쿼리: 안녕하세요, 파일이라는 텍스트가 있는 항목을 클릭하세요.
쿼리를 처리하고 이해할 수 있는 지침으로 전환하여 실행함으로써 작업을 수행합니다.
GPU를 사용하여 Google Colab에서 실행할 수 있습니다.
다음 단계를 주의 깊게 따르세요.
pip install -r requirements.txt
요구 requirements.txt
파일이 있는 동일한 디렉터리에서 이 명령을 실행해야 합니다.
! sudo apt-get install xvfb xorg xserver-xorg scrot imagemagick x11-utils xdotool
config/CONFIG.py
에서 플랫폼 이름을 변경합니다. Linux를 사용하는 경우 다음과 같이 설정합니다: _PLATFORM
as linux [기본적으로 windows
]
main.py
파일을 실행하세요. python main . py
SingularGPT
봇을 사용하세요script.py
파일에 있는지 확인하세요. OPENAI_API
사용하여 .env
파일을 생성하고 거기에 openai_api API를 배치하거나 환경 변수로 전달합니다.
script.py
에 자동화 스크립트를 넣고 실행하세요.
Prompts/prompts.txt
파일에 프롬프트 쿼리를 작성하거나 main.py
파일에 문자열로 전달합니다.
# Run the main script.
python main . py
이를 시각화하려면 Poe의 이 봇을 참조하세요.
X_PATH 또는 CSS/JS 선택기를 사용하거나 좌표만 사용하는 기존 방식입니다.
element_xpath = driver . find_element ( By . XPATH , "//a[@href='/login']" )
element_xpath . click ()
# or
element_css = driver . find_element ( By . CSS_SELECTOR , "button.btn-primary" )
element_css . click ()
아니요, 새로운 GUI 요소 감지 기술을 사용합니다.
안돼!
zex . text ( 'Menu' ). click ()
zex . text ( 'Edit' ). FindLeftOf (). click () # Used to locate the element that is just left side of the target element.
왼쪽이나 오른쪽에 있는 요소 또는 가장 가까운 요소를 찾아 작업을 수행합니다.
ZexUI는 GUI 자동화를 위해 이미지 처리 기술을 사용하는 독립형 라이브러리입니다.
다음은 몇 가지 방법과 사용법입니다.
확신하는! 각 방법에 대한 설명은 다음과 같습니다.
text()
: 이 메서드는 쿼리에 제공된 텍스트 콘텐츠를 기반으로 웹페이지에서 텍스트 요소를 찾는 데 사용됩니다.
textRegex()
: 이 메서드는 쿼리에 제공된 정규식을 기반으로 웹페이지에서 텍스트 요소를 찾는 데 사용됩니다.
textContains()
: 이 메소드는 쿼리에 제공된 특정 단어가 포함된 웹페이지의 텍스트 요소를 찾는 데 사용됩니다.
image()
: 이 메소드는 쿼리에 제공된 이미지 경로를 기반으로 웹페이지에서 이미지 요소를 찾는 데 사용됩니다.
findLeftOf()
: 이 메소드는 쿼리에 제공된 텍스트/이미지의 왼쪽에 있는 요소를 찾는 데 사용됩니다.
findRightOf()
: 이 메소드는 쿼리에 제공된 텍스트/이미지 오른쪽에 있는 요소를 찾는 데 사용됩니다.
findTopOf()
: 이 메소드는 쿼리에 제공된 텍스트/이미지 위에 있는 요소를 찾는 데 사용됩니다.
findBottomOf()
: 이 메소드는 쿼리에 제공된 텍스트/이미지 아래에 있는 요소를 찾는 데 사용됩니다.
findNearestTo()
: 이 메소드는 쿼리에 제공된 텍스트/이미지에 가장 가까운 요소를 찾는 데 사용됩니다.
click()
: 이 메소드는 텍스트/이미지 또는 기타 메소드를 사용하여 위치한 요소를 클릭하는 데 사용됩니다.
mouseMove()
: 텍스트/이미지 또는 기타 메소드를 사용하여 위치한 요소로 마우스를 이동하는 데 사용되는 메소드입니다.
scroll_up()
: 이 메소드는 웹페이지를 위로 스크롤하는 데 사용됩니다.
scroll_down()
: 이 메소드는 웹페이지를 아래로 스크롤하는 데 사용됩니다.
scroll_left()
: 이 메소드는 웹페이지에서 왼쪽으로 스크롤하는 데 사용됩니다.
scroll_right()
: 이 메소드는 웹페이지에서 오른쪽으로 스크롤하는 데 사용됩니다.
... 자세한 내용은 문서에 있습니다.
이것이 바로 이 프로젝트가 목표로 하고 이를 달성하려고 하는 것입니다.
? 내부적으로 작동하는 방식은 다음과 같습니다.
자연어 쿼리를 작업을 달성하는 데 추가로 사용할 수 있는 자동화 스크립트로 변환합니다.
SingularGPT 화면을 처리하고 요청된 필수 데이터를 가져옵니다.
작업을 수행하기 위한 명령을 생성합니다.
화면에 있는 내용을 인식하세요.
x11을 사용하는 헤드리스 서버에 있는 것까지
내부적으로 처리할 수 있습니다.
자체적으로 자동화 스크립트 구축
장치를 자동화합니다
이 프로젝트는 AI 기반 비전, 맞춤형 라이브러리, 장치 자동화, 최신 ChatGPT 및 GPT-4를 사용한 내부 논리 처리 등 컴퓨터 과학의 다양한 분야의 도움으로 가능해졌습니다.
간단히 말해서:
AI 컴퓨터 비전 + 자동화(ZexUI) + GPT
스타를 떠나는 것을 고려 중입니다.
프로젝트 문서 작성에 도움을 드립니다.