Estado atual da discussão do Discord: Não mantido. Não está funcionando.
Desculpe pessoal! Muito ocupado com projetos privados. Isso foi muito divertido!
Leia mais - Como OpenAI filtra solicitações feitas por bots/scrapers
️ Gostou deste repositório? por favor marque com uma estrela e considere doar para mantê-lo mantido
Se a OpenAI alterar sua API, irei consertar o mais rápido possível, então assista ao repositório se quiser ser notificado
Integrado nos espaços Huggingface? usando Gradio. Experimente a demonstração na web
Conversando
Criando um token
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
[ NOVO ] Passe um objeto options()
para o construtor ChatGPT()
para personalizar a sessão
[ NOVO ] Agora você pode salvar suas conversas em um arquivo
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 )
[ NOVO ] Retomar uma conversa
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 )
Iniciar uma sessão CLI
from PyChatGPT import Chat
chat = Chat ( email = "email" , password = "password" )
chat . cli_chat ()
Faça uma pergunta única
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
na classe options()
, o padrão é False
pass_moderation
for True, a função é invocada em outro thread, portanto não bloqueia o thread principal. answer, previous_convo, convo_id
options()
para definir as opções para a sessão de chataction=next
para action=variant
, frequentemente. Esta biblioteca agora está usando action=variant
em vez de action=next
para obter a próxima resposta da API.502 Bad Gateway
.Se o processo de criação do token estiver falhando:
Estou planejando adicionar mais alguns recursos, como:
Tenho procurado uma maneira de interagir com a nova API Chat GPT, mas a maioria das fontes aqui no GitHub exige que você tenha uma instância do Chromium em execução em segundo plano. ou usando o Web Inspector para obter o token de acesso manualmente.
Não mais. Consegui fazer engenharia reversa da API e usar um cliente TLS para imitar um usuário real, permitindo que o script faça login sem ativar nenhuma técnica de detecção de bot pelo Auth0
Basicamente, o script faz login em seu nome, usando um cliente TLS e, em seguida, obtém o token de acesso. É muito rápido.
Primeiramente, gostaria de dizer que "apenas fazer solicitações http" não será suficiente, Auth0 é inteligente, cada processo é guardado por um token state
, que é um token JWT. Este token é usado para evitar ataques CSRF e também para evitar que bots façam login. Se você olhar o arquivo auth.py
, existem mais de nove funções, cada uma delas é responsável por uma tarefa diferente, e todas elas trabalhem juntos para criar um token para você. allow-redirects
desempenhou um papel importante nisso, pois permitiu navegar pelo processo de login
Eu trabalho na MeshMonitors.io, criamos ferramentas incríveis (confira você!). Decidi não perder muito tempo com isso, mas aqui estamos.
Ninguém foi capaz de fazer isso e eu queria ver se conseguia.