디스코드 토론 현재 상태: 유지되지 않습니다. 작동하지 않습니다.
미안해요! 개인 프로젝트로 정말 바쁩니다. 이것은 매우 재미있었습니다!
자세히 알아보기 - OpenAI가 봇/스크레이퍼의 요청을 필터링하는 방법
️ 이 저장소가 마음에 드시나요? 별표를 표시하고 계속 유지하려면 기부하는 것을 고려해 보세요.
OpenAI가 API를 변경하면 최대한 빨리 수정하겠습니다. 알림을 받으려면 저장소를 시청하세요 .
Huggingface Spaces에 통합되었나요? 그라디오를 사용하여 웹 데모를 사용해 보세요
채팅
토큰 만들기
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 ] 세션을 사용자 정의하려면 ChatGPT()
생성자에 options()
객체를 전달하세요.
[ 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 ()
한 번만 질문해 보세요.
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
사용하여 업데이트 options()
클래스에 새로운 pass_moderation
매개변수를 도입합니다. 기본값은 False
입니다.pass_moderation
이 True이면 함수가 다른 스레드에서 호출되므로 기본 스레드를 차단하지 않습니다. answer, previous_convo, convo_id
반환합니다.options()
클래스 메소드action=next
에서 action=variant
로 자주 전환됩니다. 이 라이브러리는 이제 API에서 다음 응답을 얻기 위해 action action=next
대신 action=variant
사용합니다.502 Bad Gateway
오류를 반환합니다.토큰 생성 프로세스가 실패하는 경우:
다음과 같은 몇 가지 기능을 더 추가할 계획입니다.
저는 새로운 Chat GPT API와 상호작용할 수 있는 방법을 찾고 있었지만 여기 GitHub의 소스 대부분은 Chromium 인스턴스가 백그라운드에서 실행되도록 요구합니다. 또는 Web Inspector를 사용하여 액세스 토큰을 수동으로 가져옵니다.
더 이상은 없습니다. API를 리버스 엔지니어링하고 TLS 클라이언트를 사용하여 실제 사용자를 모방하여 Auth0에 의한 봇 감지 기술을 설정하지 않고도 스크립트가 로그인할 수 있게 되었습니다.
기본적으로 스크립트는 TLS 클라이언트를 사용하여 사용자를 대신하여 로그인한 다음 액세스 토큰을 가져옵니다. 꽤 빠릅니다.
먼저, "단지 http 요청을 하는 것만으로는 충분하지 않습니다. Auth0은 똑똑하고 각 프로세스는 JWT 토큰인 state
토큰으로 보호됩니다." 이 토큰은 CSRF 공격을 방지하는 데 사용되며, 봇이 로그인하는 것을 방지하는 데에도 사용됩니다. auth.py
파일을 보면 9개 이상의 기능이 있으며, 각 기능은 서로 다른 작업을 담당하며 모두 당신을 위한 토큰을 만들기 위해 함께 노력하세요. allow-redirects
로그인 프로세스를 탐색할 수 있도록 허용하므로 여기서 큰 역할을 했습니다.
저는 MeshMonitors.io에서 일하고 있습니다. 우리는 놀라운 도구를 만듭니다(자세히 확인해보세요!). 나는 이것에 너무 많은 시간을 소비하지 않기로 결정했지만 여기에 있습니다.
누구도 이것을 할 수 없었으며, 나는 내가 할 수 있는지 알고 싶었습니다.