Discord ディスカッションの現在の状態: 維持されていません。機能していません。
ごめんなさい、みんな!プライベートプロジェクトで本当に忙しいです。とても楽しかったです!
続きを読む - OpenAI がボット/スクレーパーによって行われたリクエストをどのようにフィルタリングするか
️ このレポが好きですか?維持するためにスターを付けて寄付を検討してください
OpenAI が API を変更した場合は、できるだけ早く修正しますので、通知を受け取りたい場合はリポジトリをご覧ください。
ハギングフェイススペースに統合?グラディオを使って。ウェブデモを試してみる
おしゃべり
トークンの作成
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
[ NEW ] options()
オブジェクトをChatGPT()
コンストラクターに渡してセッションをカスタマイズします
[ NEW ] 会話をファイルに保存できるようになりました
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 )
[ NEW ] 会話を再開する
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 )
CLIセッションを開始する
from PyChatGPT import Chat
chat = Chat ( email = "email" , password = "password" )
chat . cli_chat ()
1 回限りの質問をする
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
パラメータをoptions()
クラスに導入します。デフォルトはFalse
です。pass_moderation
が True の場合、関数は別のスレッドで呼び出されるため、メイン スレッドはブロックされません。 answer, previous_convo, convo_id
が返されます。options()
クラス メソッドaction=next
からaction=variant
に頻繁に切り替わります。このライブラリは、API から次の応答を取得するためにaction=next
の代わりにaction=variant
使用するようになりました。502 Bad Gateway
エラーを返す場合があります。トークン作成プロセスが失敗した場合:
次のような機能をさらにいくつか追加する予定です。
新しい Chat GPT API を操作する方法を探していますが、GitHub 上のほとんどのソースでは、バックグラウンドで実行されている Chromium インスタンスが必要です。または、Web インスペクターを使用してアクセス トークンを手動で取得します。
もうない。 API をリバース エンジニアリングし、TLS クライアントを使用して実際のユーザーを模倣することができ、Auth0 によるボット検出技術を作動させることなくスクリプトがログインできるようになりました。
基本的に、スクリプトは TLS クライアントを使用してユーザーに代わってログインし、アクセス トークンを取得します。かなり速いですね。
まず、「http」リクエストを行うだけでは不十分であること、Auth0 は賢明であり、各プロセスはstate
トークン (JWT トークン) によって保護されていることをお伝えしたいと思います。このトークンは、CSRF 攻撃を防ぐために使用され、ボットのログインを防ぐためにも使用されます。 auth.py
ファイルを見ると、9 つ以上の関数があり、それぞれが異なるタスクを担当しており、それらはすべて協力してトークンを作成します。ログインプロセスをナビゲートできるため、 allow-redirects
これに大きな役割を果たしました。
私は MeshMonitors.io で働いており、素晴らしいツールを作っています (ぜひチェックしてください!)。これにはあまり時間を費やさないことにしましたが、ここまでです。
これは誰もできなかったので、私にもできるかどうか試してみたかったのです。