Replikasi OpenAI GPT API dengan selenium webdriver
dan undetectable chromedriver
.
CATATAN: Menggunakan Chrome.
Berinteraksi dengan situs web resmi ChatGPT dan mengirimkan tanggapan kembali ke penelepon, sepenuhnya gratis (berbeda dengan API resmi).
TIDAK menggunakan titik akhir apa pun ( forefront
, theb
, dll.)
Program ini dibuat untuk tujuan pendidikan saja. Pengguna sepenuhnya bertanggung jawab atas segala tindakan yang diambil menggunakan program ini. Pencipta program ini tidak bertanggung jawab atau berkewajiban atas penyalahgunaan program ini atau kerugian apa pun yang mungkin timbul dari penggunaan program ini.
Bagian ini menjelaskan proses pengaturan untuk SlymeGPT
.
(Pastikan untuk mengkloning repositori dengan https://github.com/mache102/SlymeGPT.git
terlebih dahulu dan unduh paket pip install -r requirements.txt
)
Buka Chrome -> Settings -> About Chrome
untuk menemukan versi Chrome Anda (perbarui ke terbaru jika tersedia).
Lalu buka https://chromedriver.chromium.org/downloads dan unduh versi yang sesuai.
Tambahkan Chrome WebDriver ke variabel PATH sistem Anda.
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.
Ubah direktori menjadi SlymeGPT
. Di open_browser.py
, ubah profile_name
menjadi Profil Chrome pilihan Anda, atau biarkan apa adanya untuk menggunakan profil default.
Profil dapat ditemukan di direktori Chrome.
C:/Users/[username]/AppData/Local/Google/Chrome/User Data/
~/.config/google-chrome/
~/Library/Application Support/Google/Chrome/
Setelah memilih profil, jalankan python open_browser.py
untuk membuka browser yang dikontrol Selenium.
Anda akan melihat layar berikut:
Dari sana, masuk ke ChatGPT (pastikan untuk mengaktifkan 'Tetap Masuk') dan klik pemberitahuan masuk pertama kali.
Setelah selesai, tutup jendela dan tekan ENTER di CLI (atau hentikan open_browser.py
).
Penyiapan selesai.
Anda sekarang dapat menggunakan modul dalam program Anda dengan mengimpor from slyme import SlymeDriver
. Untuk demonstrasinya, lihat example.py
, sebuah program sederhana yang mengambil masukan pengguna, meneruskannya ke ChatGPT, dan mengirimkan tanggapan kembali ke pengguna.
Silakan jalankan modul dengan UI yang terlihat (bukan tanpa kepala) . Jendela browser akan otomatis mengecil setelah beberapa detik.
Mencoba menjalankan modul dalam mode tanpa kepala atau meminimalkan jendela browser secara manual dapat mengakibatkan masalah (kemungkinan masalah Selenium/UC).
Disarankan untuk menunggu sebentar setelah membuka halaman web, tergantung kecepatan internet/loading.
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 ()
#...
Di bawah ini adalah cuplikan kode yang memperlihatkan dan menjelaskan setiap fungsi yang disertakan dengan modul:
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 ()