selenium webdriver
및 undetectable chromedriver
를 사용한 OpenAI GPT API 복제.
참고: Chrome을 사용합니다.
공식 ChatGPT 웹사이트와 상호 작용하고 완전히 무료로 호출자에게 응답을 다시 보냅니다(공식 API와 반대).
엔드포인트( forefront
, theb
등)를 사용하지 않습니다 .
이 프로그램은 교육 목적으로만 만들어졌습니다. 이 프로그램을 사용하여 수행된 모든 작업에 대한 책임은 전적으로 사용자에게 있습니다. 이 프로그램의 작성자는 이 프로그램의 오용이나 이 프로그램의 사용으로 인해 발생할 수 있는 손해에 대해 어떠한 책임도 지지 않습니다.
이 섹션에서는 SlymeGPT
설정 프로세스를 설명합니다.
(먼저 https://github.com/mache102/SlymeGPT.git
로 저장소를 복제하고 패키지를 다운로드하십시오 pip install -r requirements.txt
)
Chrome -> Settings -> About Chrome
Chrome 버전을 찾으려면(가능한 경우 최신 버전으로 업데이트하세요)
그런 다음 https://chromedriver.chromium.org/downloads로 이동하여 해당 버전을 다운로드하세요.
시스템의 PATH 변수에 Chrome WebDriver를 추가합니다.
1. Move the downloaded Chrome WebDriver executable to a folder of your choice.
2. Open your computer's "System Properties" settings.
3. Click on the "Advanced" tab and then click on the "Environment Variables" button.
4. Under "System Variables", find the "Path" variable and click "Edit".
5. Click "New" and add the folder path where the Chrome WebDriver executable is located.
6. Click "OK" on all open windows to save the changes.
디렉토리를 SlymeGPT
로 변경합니다. open_browser.py
에서 profile_name
원하는 Chrome 프로필로 변경하거나 그대로 두어 기본 프로필을 사용하세요.
프로필은 Chrome 디렉터리에서 찾을 수 있습니다.
C:/Users/[username]/AppData/Local/Google/Chrome/User Data/
~/.config/google-chrome/
~/Library/Application Support/Google/Chrome/
프로필을 선택한 후 python open_browser.py
실행하여 Selenium 제어 브라우저를 엽니다.
다음 화면이 표시됩니다.
여기에서 ChatGPT에 로그인하고('로그인 유지'를 활성화했는지 확인) 최초 로그인 알림을 클릭하세요.
완료되면 창을 닫고 CLI에서 Enter 키를 누르세요(또는 그냥 open_browser.py
종료).
설정이 완료되었습니다.
이제 from slyme import SlymeDriver
가져와서 프로그램에서 모듈을 사용할 수 있습니다. 데모를 보려면 사용자의 입력을 받아 ChatGPT로 전달하고 응답을 다시 사용자에게 보내는 간단한 프로그램인 example.py
참조하세요.
헤드리스가 아닌 눈에 보이는 UI 로 모듈을 실행하세요. 브라우저 창은 몇 초 후에 자동으로 최소화 됩니다.
헤드리스 모드에서 모듈을 실행하려고 시도하거나 브라우저 창을 수동으로 최소화하면 문제가 발생할 수 있습니다(Selenium/UC 문제일 수 있음).
인터넷/로딩 속도에 따라 웹페이지를 연 후 조금 기다리는 것을 권장합니다.
from slyme import SlymeDriver
import time
def main ():
slyme = SlymeDriver ( pfname = 'Default' )
time . sleep ( 5 )
# driver.implicitly_wait() doesn't account for element loading
# - attempting to instantly access elements may result in a StaleElement error
# perform actions
slyme . select_latest_chat ()
#...
다음은 모듈과 함께 제공되는 각 기능을 표시하고 설명하는 코드 조각입니다.
from slyme import SlymeDriver
import time
def main ():
slyme = SlymeDriver ( pfname = 'Default' )
time . sleep ( 5 )
# 1.
# Selects the latest accessed chat from the user's chat history.
slyme . select_latest_chat ()
# 2.
# Sends a prompt to ChatGPT and returns its response.
output = slyme . completion ( prompt = 'What does shutil.rmdir("C:/") do?' )
print ( output )
# 3.
# Renames a past chat.
slyme . rename_chat ( chat_name = 'Arch Linux' , new_name = 'I use Arch btw' )
# 4.
# Selects the chat with a matching name.
slyme . select_chat ( chat_name = 'I use Arch btw' )
# 5.
# Create a new chat.
slyme . new_chat ()
# 6.
# End the driver session.
slyme . end_session ()
if __name__ == "__main__" :
main ()