OpenAI-GPT-API-Replikation mit selenium webdriver
und undetectable chromedriver
.
HINWEIS: Verwendet Chrome.
Interagiert mit der offiziellen ChatGPT-Website und sendet völlig kostenlos Antworten an den Anrufer zurück (im Gegensatz zur offiziellen API).
Verwendet KEINE Endpunkte ( forefront
, theb
usw.)
Dieses Programm wurde ausschließlich zu Bildungszwecken erstellt. Der Benutzer trägt die alleinige Verantwortung für alle mit diesem Programm durchgeführten Aktionen. Der Ersteller dieses Programms übernimmt keine Verantwortung oder Haftung für den Missbrauch dieses Programms oder für Schäden, die aus der Verwendung dieses Programms entstehen können.
In diesem Abschnitt wird der Einrichtungsprozess für SlymeGPT
beschrieben.
(Stellen Sie sicher, dass Sie zuerst das Repository mit https://github.com/mache102/SlymeGPT.git
klonen und die Pakete pip install -r requirements.txt
herunterladen.)
Öffnen Sie Chrome -> Settings -> About Chrome
um Ihre Chrome-Version zu finden (aktualisieren Sie auf die neueste Version, falls verfügbar).
Gehen Sie dann zu https://chromedriver.chromium.org/downloads und laden Sie die entsprechende Version herunter.
Fügen Sie den Chrome WebDriver zur PATH-Variablen Ihres Systems hinzu.
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.
Wechseln Sie in das Verzeichnis SlymeGPT
. Ändern Sie in open_browser.py
profile_name
in ein Chrome-Profil Ihrer Wahl oder lassen Sie es unverändert, um das Standardprofil zu verwenden.
Die Profile finden Sie im Chrome-Verzeichnis.
C:/Users/[username]/AppData/Local/Google/Chrome/User Data/
~/.config/google-chrome/
~/Library/Application Support/Google/Chrome/
Nachdem Sie ein Profil ausgewählt haben, führen Sie python open_browser.py
aus, um einen von Selenium gesteuerten Browser zu öffnen.
Sie sollten den folgenden Bildschirm sehen:
Melden Sie sich von dort aus bei ChatGPT an (stellen Sie sicher, dass „Angemeldet bleiben“ aktiviert ist) und klicken Sie sich durch alle Benachrichtigungen zur erstmaligen Anmeldung.
Wenn Sie fertig sind, schließen Sie das Fenster und drücken Sie die EINGABETASTE in der CLI (oder beenden Sie einfach open_browser.py
).
Die Einrichtung ist abgeschlossen.
Sie können das Modul jetzt in Ihrem Programm verwenden, indem Sie from slyme import SlymeDriver
importieren. Eine Demonstration finden Sie unter example.py
, einem einfachen Programm, das die Eingaben des Benutzers entgegennimmt, sie an ChatGPT weiterleitet und die Antworten an den Benutzer zurücksendet.
Bitte führen Sie das Modul mit einer sichtbaren Benutzeroberfläche aus (nicht ohne Headless) . Das Browserfenster wird nach einigen Sekunden automatisch minimiert .
Der Versuch, das Modul im Headless-Modus auszuführen oder das Browserfenster manuell zu minimieren, kann zu Problemen führen (mögliches Selenium/UC-Problem).
Es empfiehlt sich, nach dem Öffnen der Webseite je nach Internet-/Ladegeschwindigkeit etwas zu warten.
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 ()
#...
Unten finden Sie einen Codeausschnitt, der jede Funktion des Moduls darstellt und erklärt:
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 ()