ChatGPT-Plus é um aplicativo que usa a API oficial do ChatGPT.
Demonstrar problemas de demonstração/feedback/desenvolver Gitpod/implantar Vercel
Chinês Simplificado | Inglês
Gostou deste projeto? Por favor, me dê uma estrela ️
Ou compartilhe com seus amigos para ajudá-lo a melhorar!
O cliente ChatGPT-Plus é um aplicativo da API oficial do ChatGPT. Este aplicativo é um aplicativo wrapper para a API oficial do ChatGPT da OpenAI.
Existem duas maneiras de acessá-lo. Para usar este módulo no Node.js, você precisa escolher entre dois métodos:
método | livre? | robusto? | qualidade? |
---|---|---|---|
ChatGPTAPI | não | ✅ Sim | ✅️Modelo Real ChatGPT |
ChatGPTUnofficialProxyAPI | ✅ Sim | ☑️ Possivelmente | ✅ ChatGPT real |
ChatGPTAPI
- Usa gpt-3.5-turbo-0301
com a API oficial de conclusão de bate-papo OpenAI (método oficial e poderoso, mas não gratuito). Você pode substituir modelos, parâmetros de conclusão e mensagens do sistema para personalizar totalmente seu assistente.
ChatGPTUnofficialProxyAPI
- Use um servidor proxy não oficial para acessar a API de back-end do ChatGPT de uma forma que contorne o Cloudflare (usa o ChatGPT real, que é leve, mas depende de servidores de terceiros e tem limites de taxa).
Esses dois métodos têm APIs muito semelhantes, portanto alternar entre eles deve ser simples.
Nota: Recomendamos fortemente o uso ChatGPTAPI
, pois ele usa a API oficialmente suportada pela OpenAI. Em uma versão futura, poderemos descontinuar o suporte para ChatGPTUnofficialProxyAPI
.
O princípio da solicitação usa o módulo de função fornecido pelo chatgpt-api.
Você pode usar o Gitpod para desenvolvimento online:
Ou clone para desenvolvimento local e siga estas etapas:
# clone the project
git clone https://github.com/zhpd/chatgpt-plus.git
Se você não possui um ambiente git, pode baixar diretamente o pacote zip, descompactá-lo e entrar no diretório do projeto.
Este projeto é desenvolvido com base em Node.js e requer ambiente Node.js 14.0+. Certifique-se de usar
node >= 18
para quefetch
esteja disponível (ounode >= 14
se você instalar um polyfill de busca).
Este projeto usa a API fornecida oficialmente pela OpenAI e requer aplicação de API Key e AccessToken.
- Endereço oficial do pedido de registro da OpenAI: https://platform.openai.com/, é necessário acesso científico à Internet
- Obtenha
ApiKey
ouAccessToken
através de outros métodos Clique para visualizar.
Depois que o aplicativo for bem-sucedido, preencha APIKey e AccessToken no arquivo chatgpt-plus/service/.env
Recomenda-se usar o editor VSCode para desenvolvimento, instalar os plug-ins
ESLint
ePrettier
e ativarFormat On Save
nas configurações.
Configure o endereço de solicitação de porta e interface no diretório raiz .env. Você pode copiar diretamente o arquivo .env.example no diretório raiz para modificação e alterar o nome do arquivo para .env)
Nome da variável de ambiente | valor padrão | ilustrar |
---|---|---|
PORT | 3000 | porta |
NEXT_PUBLIC_API_URL | http://localhost:3002 | endereço de interface |
Você pode copiar diretamente o arquivo .env.example no diretório raiz para modificação e alterar o nome do arquivo para .env
# port
PORT = 3000
# api url
NEXT_PUBLIC_API_URL = http://localhost:3002
# enter the project directory
cd chatgpt-plus
# install dependency
npm install
# develop
npm run dev
Depois que a operação for iniciada com sucesso, você pode abrir http://localhost:3000 no navegador para visualizar o efeito.
Configure a porta, ApiKey e AccessToken em .env no diretório de serviço.
Nome da variável de ambiente | valor padrão | ilustrar |
---|---|---|
PORT | 3002 | porta |
OPENAI_API_KEY | - | API_KEY |
OPENAI_ACCESS_TOKEN | - | ACCESS_TOKEN |
API_REVERSE_PROXY | https://api.pawan.krd/backend-api/conversation | atuando |
TIMEOUT_MS | 60.000 | Tempo limite em milissegundos |
Você pode copiar diretamente o arquivo .env.example no diretório de serviço para modificação e alterar o nome do arquivo para .env
# service/.env
# OpenAI API Key - https://platform.openai.com/overview
OPENAI_API_KEY =
# change this to an `accessToken` extracted from the ChatGPT site's `https://chat.openai.com/api/auth/session` response
OPENAI_ACCESS_TOKEN =
# Reverse Proxy default 'https://bypass.churchless.tech/api/conversation'
API_REVERSE_PROXY =
# timeout
TIMEOUT_MS = 100000
# enter the project directory
cd chatgpt-plus
# enter the service directory
cd service
# install dependency
npm install
# develop
npm run dev
Depois que a operação for iniciada com êxito, o serviço de back-end poderá ser executado normalmente.
Para implantar usando Docker, você precisa instalar o ambiente Docker
Use o arquivo de configuração na pasta docker-compose para extraí-lo e executá-lo
Use Vercel para implantação, implantação com um clique
API_URL
no arquivo .env
no diretório raiz para o endereço real da rede pública da interface de back-endnpm install
para instalar dependênciasnpm run build
para empacotar o códigodist
para o diretório do前端服务
do seu sitedist
npm run start
para iniciar o serviço service
npm install
para instalar dependênciasnpm run build
para empacotar o códigoservice/dist
para o diretório do后端服务
do seu siteservice/dist
npm run start
para iniciar o serviçoNota : Se você não deseja empacotar, você pode copiar diretamente a pasta
service
para o servidor e executarnpm install
enpm run start
para iniciar o serviço.
Você pode acessá-lo configurando OPENAI_API_KEY
para o backend service.env:
# R OpenAI API Key
OPENAI_API_KEY =
Este projeto usa a API fornecida oficialmente pela OpenAI. Você precisa primeiro solicitar uma conta OpenAI.
Você pode acessá-lo configurando o token de acesso OPENAI_ACCESS_TOKEN
para o backend service.env:
# change this to an `accessToken` extracted from the ChatGPT
OPENAI_ACCESS_TOKEN =
Você precisa obter um token de acesso OpenAI do aplicativo da web ChatGPT. Você pode usar um dos seguintes métodos, que exigem email
e password
e retornam um token de acesso:
Essas bibliotecas funcionam com contas que são autenticadas com e-mail e senha (por exemplo, elas não suportam contas autenticadas com Microsoft/Google).
Alternativamente, você pode obter manualmente um accessToken
fazendo login no aplicativo da web ChatGPT e abrindo https://chat.openai.com/api/auth/session
, que retornará um objeto JSON contendo sua string accessToken
.
Os tokens de acesso são válidos por vários dias.
Observação : o uso de um proxy reverso exporá seu token de acesso a terceiros. Isto não terá quaisquer efeitos adversos, mas considere os riscos antes de usar este método.
Você pode substituir o proxy reverso configurando o endereço do proxy API_REVERSE_PROXY
no backend service.env:
# Reverse Proxy
API_REVERSE_PROXY =
Os proxies reversos conhecidos executados por membros da comunidade incluem:
URL de proxy reverso | autor | limite de taxa | data da última verificação |
---|---|---|---|
https://bypass.churchless.tech/api/conversation | @acheong08 | 5 req/10 segundos por IP | 24/03/2023 |
https://api.pawan.krd/backend-api/conversation | @PawanOsman | 50 req/15 segundos (~3 r/s) | 23/03/2023 |
Nota: Informações sobre como o proxy reverso funciona atualmente não são divulgadas para evitar que o OpenAI desabilite o acesso.
P: Se eu usar apenas a página front-end, onde altero a interface de solicitação?
R: O campo API_URL
no arquivo .env
no diretório raiz.
P: Não há efeito de máquina de escrever no front-end?
R: Um possível motivo é que depois que o proxy reverso Nginx e o buffer forem ativados, o Nginx tentará armazenar em buffer um determinado tamanho de dados do back-end antes de enviá-los ao navegador. Tente adicionar proxy_buffering off;
após o antiparâmetro e recarregue o Nginx. A configuração de outros servidores web é a mesma.
Obrigado a todos que contribuíram!
Se você acha que este projeto é útil para você, pode dar uma estrela ️ ou compartilhá-lo com seus amigos. Seu apoio é minha maior motivação!
MIT © zhpd