um aplicativo de bot em execução no Tencent QQ que integra recursos de chatbot GPT com pintura de IA.
Um aplicativo de robô em execução no Tencent QQ que integra recursos de bate-papo GPT com pintura de IA.
Devido à energia pessoal limitada, atualmente este projeto é voltado principalmente para usuários chineses. Se eu tiver tempo no futuro, posso adicionar mais suporte à internacionalização. Para usuários ingleses, não será difícil entender com a ajuda de nomes de variáveis. código. Você também pode traduzir este arquivo leia-me para o inglês para ajudá-lo a entender este projeto. A ideia principal é usar prompts para orientar a inserção de texto de identificação para o programa reconhecer e executar instruções. como serviços de voz, gerenciamento de grupos e análise de imagens de usuários(tem sido implementado por visual-chatgpt). Se este projeto puder inspirar ou ajudar você, ficaria honrado.
Há um projeto derivado modificado com base neste projeto e adicionando recursos de análise de voz e imagem: https://github.com/AGuanDao/mix-chatgpt-and-ai-painting-and-vits
Inicie a API de qualquer projeto em selfhostedAI (testei apenas RWKV-Runner, recomendado)
Em seguida, em config.py, defina use_selfhostedllm como True. Neste momento, use #gpt para mudar para o modo GPT3 original e o modelo local será chamado.
show all ...
na parte inferior. O Windows geralmente usa windows_amd64.exe. Como go-cqhttp anunciou que interromperá a manutenção, agora você pode usar https://github.com/LLOneBot. /LLOneBot como alternativa, habilite-o nas configurações. Basta conectar-se ao Websocket de encaminhamento e o restante do conteúdo permanece como de costume.models/Stable-diffusion
de stable-diffusion-webuipython webui.py --medvram --deepdanbooru --xformers --api --enable-insecure-extension-access
, observe que o parâmetro --api
deve ser incluído, se você estiver usando o pacote de integração de outra pessoa, Pode ser necessário adicionar manualmente o parâmetro --api
ao script de inicialização. Consulte常见问题
acima.git clone https://github.com/josStorer/mix-chatgpt-and-ai-painting
e instale dependências pip install -r requirements.txt
use_chatgpt
api_key
/ email,password
working_groups
master_id
, bot_id
. auth_vip_for_all
, local_mode
, outros, por favor, tome sua própria decisãopython main.py
win+tab
para criar um novo desktop para fazer outras coisas, para que seu computador possa ser usado pelo grupo quando estiver ocioso.AttributeError: 'Error' object has no attribute 'message'
"proxy": "你的代理地址"
após a senha do e-mail em main.py#L119. não possui um proxy, defina use_chatgpt
como False
e preencha api_key
错误: 'images'
ou错误: 404: {"detail":"Not Found"}
--api
adicionalmente ao iniciar. Se estiver usando o pacote de integração de outra pessoa, encontre o arquivo de inicialização relevante (geralmente com um sufixo .bat) e encontre a linha com. parâmetros nele, como --deepdanbooru
, --xformers
, adicione --api
no final, preste atenção ao espaço entre os parâmetros, se houver um iniciador, encontre e verifique opções como启用API
/暴露API
错误: [WinError 3] The system cannot find the path specified
HOME
para um determinado caminho de pasta para armazenar informações de configuração.git pull
para obter atualizações para este projeto e certifique-se de usar pip install -r requirements.txt --upgrade
para atualizar bibliotecas dependentes.device.json
no mesmo diretório, abra e encontre protocol
, altere o valor para 2
e reinicie o programa para fazer loginmain.py
, encontre run_forever
e exclua reconnect=3
entre colchetesmain.py
para configurar o proxy: proxy = { 'http' : "http://127.0.0.1:端口号" , 'https' : "http://127.0.0.1:端口号" }
openai . proxy = proxy
Se você tiver algum problema de uso, pode ingressar no grupo QQ 283430436 para se comunicar ou experimentar.
@机器人1号#上线
, o que é adequado para situações em que há vários robôs no grupo, e o uso direto do comando sirene afetará todos os robôs. .instrução | Exemplo | ilustrar |
---|---|---|
#gpttoggle | #gpttoggle | Alternar entre os modos gpt3 e chatgpt |
#on-line | #on-line | Coloque o robô de bate-papo em grupo on-line para permitir que ele execute chamadas openai e pintura de IA |
#off-line | #off-line | Coloque o robô de bate-papo em grupo off-line para que não seja permitido realizar chamadas openai e desenhos de IA |
#draw图 | #draw图512x512.menina | Deixe o robô desenhar imagens no bate-papo em grupo, por exemplo: #画图girl , use pontos ou ponto e vírgula para separar, permita algumas operações de atalho, use chaves para permitir operações detalhadas de configuração json, use #帮助 para visualizar detalhes |
#d | #d 512x512.menina | Operações de desenho rápido que os usuários da lista vip podem usar, o efeito é o mesmo de #画图 |
#retirar | #retirar | Desfaça a última mensagem do bot acionada por você |
#黑黑 | #黑黑123456 | Proibir este usuário de usar bots neste bate-papo em grupo |
#demissão | #lift123456 | Desbloquear este usuário |
#vip | #vip123456 | Adicione o usuário à lista vip Os usuários na lista vip podem usar o comando #d ou chamar o robô através de at para executar a conversa da API openai. |
#desvip | #desvip 123456 | Remover este usuário da lista vip |
#conversalimpa | #conversalimpa | Limpe o contexto da conversa (quando o conteúdo da conversa anterior era muito longo e causava falha na solicitação, você pode optar por limpá-lo) |
#ajuda | #ajuda | Exibir informações de ajuda para usuários comuns do grupo, excluindo instruções vip e instruções mestre |
#padrão | #padrão | Exibe a configuração json padrão de #画图 . Você pode copiar diretamente essas informações e modificá-las você mesmo, e depois devolvê-las para chamar por meio de #画图{...} |
#lista negra | #lista negra | Mostrar lista negra |
#na troca | #na troca | Alterne o modo de resposta do robô. Por padrão, o robô at é sempre necessário para a resposta openai. Após alternar, você pode ter uma conversa direta e responder a cada frase. |
#modelo | #modelanything-v4 | Insira #model diretamente para visualizar a lista de modelos atualmente ativos e todos os modelos disponíveis. Insira #model 模型名 para alternar modelos. O nome do modelo não precisa estar completo, ele só precisa existir no nome do modelo de destino. diferencia maiúsculas de minúsculas. Por exemplo, um modelo completo chamado anything-v4.0-pruned.safetensors , você pode inserir diretamente #model v4 para alternar. |
#vae | #vae Qualquer coisa-V3.0.vae.pt | Insira #vae diretamente para visualizar o VAE usado atualmente. Insira #vae VAE名称 para alternar o VAE. Observe que, diferentemente da troca de modelo, a troca de VAE deve corresponder completamente ao nome do arquivo. |
#equilíbrio | #equilíbrio | Exibir o saldo da chave API usada atualmente |
Modifique a função on_message em main.py e ws_wrapper.py para tentar desenvolver aplicativos de robô para outros programas além do QQ
No início, este projeto era apenas um brinquedo para amigos de escultura em areia. Recentemente, quando eu estava trabalhando em um modelo da vida real, integrei a função de diálogo gpt. , então tornei-o de código aberto.
A ideia central pode ser entendida observando o prompt do config.py. Ideias semelhantes também podem ser usadas para gerar conversas de voz, gerenciar bate-papos em grupo, etc.
O código e os logs do git são muito longos, porque desde o início era apenas um projeto de brinquedo e foi construído diretamente com um ônibus espacial. Além disso, os registros também contêm informações privadas, como meu próprio nome de domínio e chave, então eu criei diretamente. um novo projeto sem nenhum log.