Discord-Diskussion Aktueller Status: Nicht gepflegt. Funktioniert nicht.
Tut mir leid, Leute! Sehr beschäftigt mit privaten Projekten. Das hat sehr viel Spaß gemacht!
Lesen Sie mehr – Wie OpenAI Anfragen von Bots/Scrapern filtert
️ Gefällt Ihnen dieses Repo? Bitte markieren Sie es und denken Sie darüber nach, zu spenden, damit es erhalten bleibt
Wenn OpenAI seine API ändert, werde ich das Problem so schnell wie möglich beheben. Sehen Sie sich also das Repo an, wenn Sie benachrichtigt werden möchten
Integriert in Huggingface Spaces ? mit Gradio. Probieren Sie die Web-Demo aus
Chatten
Erstellen eines Tokens
You: Hi there, My name is Rawa
Chat GPT: Hello Rawa, nice to meet you. Is there something you would like to talk about or ask me? I'm here to help with any questions you may have.
You: great, now say my name like Heisenberg
Chat GPT: Sure, Rawa like Heisenberg. Is there anything else you would like to talk about? I'm here to help with any questions you may have.
You: Sorry I meant like the episode of Breaking Bad where Walter White says Heisenberg
Chat GPT: Ah, I see. In that case, you could try saying it like this: "My name is Rawa, like Heisenberg." This is a reference to the character Walter White from the TV show Breaking Bad, who often used the pseudonym "Heisenberg" when conducting illegal activities. The character was known for his cool and calculated demeanor, so saying your name like Heisenberg in this context would mean saying it with confidence and authority.
pip install chatgptpy --upgrade
[ NEU ] Übergeben Sie ein options()
Objekt an den ChatGPT()
Konstruktor, um die Sitzung anzupassen
[ NEU ] Sie können Ihre Gespräche jetzt in einer Datei speichern
from PyChatGPT import Chat , Options
options = Options ()
# [New] Pass Moderation. https://github.com/rawandahmad698/PyChatGPT/discussions/103
# options.pass_moderation = False
# [New] Enable, Disable logs
options . log = True
# Track conversation
options . track = True
# Use a proxy
options . proxies = 'http://localhost:8080'
# Optionally, you can pass a file path to save the conversation
# They're created if they don't exist
# options.chat_log = "chat_log.txt"
# options.id_log = "id_log.txt"
# Create a Chat object
chat = Chat ( email = "email" , password = "password" , options = options )
answer = chat . ask ( "How are you?" )
print ( answer )
[ NEU ] Ein Gespräch fortsetzen
from PyChatGPT import Chat
# Create a Chat object
chat = Chat ( email = "email" , password = "password" ,
conversation_id = "Parent Conversation ID" ,
previous_convo_id = "Previous Conversation ID" )
answer , parent_conversation_id , conversation_id = chat . ask ( "How are you?" )
print ( answer )
# Or change the conversation id later
answer , _ , _ = chat . ask ( "How are you?" ,
previous_convo_id = "Parent Conversation ID" ,
conversation_id = "Previous Conversation ID" )
print ( answer )
Starten Sie eine CLI-Sitzung
from PyChatGPT import Chat
chat = Chat ( email = "email" , password = "password" )
chat . cli_chat ()
Stellen Sie eine einmalige Frage
from PyChatGPT import Chat
# Initializing the chat class will automatically log you in, check access_tokens
chat = Chat ( email = "email" , password = "password" )
answer , parent_conversation_id , conversation_id = chat . ask ( "Hello!" )
import time
from PyChatGPT import OpenAI
# Manually set the token
OpenAI . Auth ( email_address = "email" , password = "password" ). save_access_token ( access_token = "" , expiry = time . time () + 3600 )
# Get the token, expiry
access_token , expiry = OpenAI . get_access_token ()
# Check if the token is valid
is_expired = OpenAI . token_expired () # Returns True or False
pip install chatgptpy --upgrade
pass_moderation
Parameter in die options()
Klasse ein, der Standardwert ist False
pass_moderation
True ist, wird die Funktion in einem anderen Thread aufgerufen, sodass der Hauptthread nicht blockiert wird. answer, previous_convo, convo_id
zurückoptions()
zum Festlegen der Optionen für die Chat-Sitzungaction=next
zu action=variant
. Diese Bibliothek verwendet jetzt action=variant
anstelle von action=next
um die nächste Antwort von der API zu erhalten.502 Bad Gateway
zurück.Wenn der Token-Erstellungsprozess fehlschlägt:
Ich plane, ein paar weitere Funktionen hinzuzufügen, wie zum Beispiel:
Ich habe nach einer Möglichkeit gesucht, mit der neuen Chat-GPT-API zu interagieren, aber die meisten Quellen hier auf GitHub erfordern, dass eine Chromium-Instanz im Hintergrund ausgeführt wird. oder indem Sie den Web Inspector verwenden, um das Zugriffstoken manuell abzurufen.
Nicht mehr. Ich konnte die API zurückentwickeln und einen TLS-Client verwenden, um einen echten Benutzer nachzuahmen, sodass sich das Skript anmelden kann, ohne Bot-Erkennungstechniken durch Auth0 auszulösen
Grundsätzlich meldet sich das Skript in Ihrem Namen über einen TLS-Client an und ruft dann das Zugriffstoken ab. Es ist ziemlich schnell.
Zunächst möchte ich Ihnen sagen, dass es nicht ausreicht, nur http-Anfragen zu stellen. Auth0 ist intelligent und jeder Prozess wird durch ein state
geschützt, bei dem es sich um ein JWT-Token handelt. Dieses Token wird verwendet, um CSRF-Angriffe zu verhindern, und es wird auch verwendet, um zu verhindern, dass sich Bots anmelden. Wenn Sie sich die Datei auth.py
ansehen, gibt es über neun Funktionen, von denen jede für eine andere Aufgabe verantwortlich ist, und zwar alle Arbeiten Sie zusammen, um einen Token für Sie zu erstellen. Dabei spielten allow-redirects
eine große Rolle, da sie die Navigation durch den Anmeldevorgang ermöglichten
Ich arbeite bei MeshMonitors.io. Wir stellen tolle Tools her (Schau es dir an!). Ich habe beschlossen, nicht zu viel Zeit damit zu verbringen, aber hier sind wir.
Niemand war dazu in der Lage, und ich wollte sehen, ob ich es könnte.