ChatGPT-Plus es una aplicación que utiliza la API oficial de ChatGPT.
Demostrar demostración/problemas de comentarios/desarrollar Gitpod/implementar Vercel
Chino simplificado | Inglés
¿Te gusta este proyecto? Por favor dame una estrella ️
¡O compártelo con tus amigos para ayudarlo a mejorar!
El cliente ChatGPT-Plus es una aplicación de la API oficial de ChatGPT. Esta aplicación es una aplicación contenedora para la API oficial de ChatGPT de OpenAI.
Hay dos formas de acceder a él. Para utilizar este módulo en Node.js, debe elegir entre dos métodos:
método | ¿gratis? | ¿robusto? | ¿calidad? |
---|---|---|---|
ChatGPTAPI | No | ✅ Sí | ✅️Modelo ChatGPT real |
ChatGPTUnofficialProxyAPI | ✅ Sí | ☑️ Posiblemente | ✅Chat realGPT |
ChatGPTAPI
: utiliza gpt-3.5-turbo-0301
con la API oficial de finalización de chat OpenAI (método oficial y potente, pero no gratuito). Puede anular modelos, parámetros de finalización y mensajes del sistema para personalizar completamente su asistente.
ChatGPTUnofficialProxyAPI
: use un servidor proxy no oficial para acceder a la API backend de ChatGPT de una manera que evite Cloudflare (usa el ChatGPT real, que es liviano, pero depende de servidores de terceros y tiene límites de velocidad).
Estos dos métodos tienen API muy similares, por lo que cambiar entre ellos debería ser sencillo.
Nota: Recomendamos encarecidamente utilizar ChatGPTAPI
, ya que utiliza la API oficialmente compatible de OpenAI. En una versión futura, es posible que descontinuemos el soporte para ChatGPTUnofficialProxyAPI
.
El principio de solicitud utiliza el módulo de funciones proporcionado por chatgpt-api.
Puedes usar Gitpod para el desarrollo en línea:
O clonar a desarrollo local y seguir estos pasos:
# clone the project
git clone https://github.com/zhpd/chatgpt-plus.git
Si no tiene un entorno git, puede descargar directamente el paquete zip, descomprimirlo e ingresar al directorio del proyecto.
Este proyecto está desarrollado en base a Node.js y requiere el entorno Node.js 14.0+. Asegúrate de estar usando
node >= 18
para quefetch
esté disponible (onode >= 14
si instalas un polirelleno de recuperación).
Este proyecto utiliza la API proporcionada oficialmente por OpenAI y requiere la aplicación de API Key y AccessToken.
- Dirección de solicitud de registro oficial de OpenAI: https://platform.openai.com/, se requiere acceso científico a Internet
- Obtenga
ApiKey
oAccessToken
a través de otros métodos. Haga clic para ver.
Después de que la solicitud sea exitosa, complete APIKey y AccessToken en el archivo chatgpt-plus/service/.env
Se recomienda utilizar el editor VSCode para el desarrollo, instalar los complementos
ESLint
yPrettier
y activarFormat On Save
en la configuración.
Configure el puerto y la dirección de solicitud de la interfaz en el directorio raíz .env. Puede copiar directamente el archivo .env.example en el directorio raíz para modificarlo y cambiar el nombre del archivo a .env)
Nombre de la variable de entorno | valor predeterminado | ilustrar |
---|---|---|
PORT | 3000 | puerto |
NEXT_PUBLIC_API_URL | http://localhost:3002 | dirección de interfaz |
Puede copiar directamente el archivo .env.example en el directorio raíz para modificarlo y cambiar el nombre del archivo a .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
Una vez que la operación se haya iniciado correctamente, puede abrir http://localhost:3000 en el navegador para ver el efecto.
Configure el puerto, ApiKey y AccessToken en .env en el directorio de servicios.
Nombre de la variable de entorno | valor predeterminado | ilustrar |
---|---|---|
PORT | 3002 | puerto |
OPENAI_API_KEY | - | API_KEY |
OPENAI_ACCESS_TOKEN | - | ACCESO_TOKEN |
API_REVERSE_PROXY | https://api.pawan.krd/backend-api/conversation | interino |
TIMEOUT_MS | 60000 | Tiempo de espera en milisegundos |
Puede copiar directamente el archivo .env.example en el directorio de servicio para modificarlo y cambiar el nombre del archivo a .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
Una vez que la operación se inicia correctamente, el servicio de backend puede ejecutarse normalmente.
Para implementar usando Docker, necesita instalar el entorno Docker
Utilice el archivo de configuración en la carpeta docker-compose para extraerlo y ejecutarlo
Utilice Vercel para la implementación, implementación con un solo clic
API_URL
en el archivo .env
en el directorio raíz a la dirección de red pública de su interfaz de backend real.npm install
para instalar dependenciasnpm run build
para empaquetar el códigodist
al directorio del前端服务
de su sitio webdist
npm run start
para iniciar el servicio service
npm install
para instalar dependenciasnpm run build
para empaquetar el códigoservice/dist
al directorio del后端服务
de su sitio webservice/dist
npm run start
para iniciar el servicioNota : Si no desea empaquetar, puede copiar directamente la carpeta
service
al servidor y ejecutarnpm install
ynpm run start
para iniciar el servicio.
Puede acceder a él configurando OPENAI_API_KEY
en el backend service.env:
# R OpenAI API Key
OPENAI_API_KEY =
Este proyecto utiliza la API proporcionada oficialmente por OpenAI. Primero debe solicitar una cuenta OpenAI.
Puede acceder a él configurando el token de acceso OPENAI_ACCESS_TOKEN
en el backend service.env:
# change this to an `accessToken` extracted from the ChatGPT
OPENAI_ACCESS_TOKEN =
Debe obtener un token de acceso OpenAI desde la aplicación web ChatGPT. Puede utilizar uno de los siguientes métodos, que requieren un email
y password
y devuelven un token de acceso:
Estas bibliotecas funcionan con cuentas que se autentican con correo electrónico y contraseña (por ejemplo, no admiten cuentas autenticadas con Microsoft/Google).
Alternativamente, puede obtener manualmente un accessToken
iniciando sesión en la aplicación web ChatGPT y abriendo https://chat.openai.com/api/auth/session
, que devolverá un objeto JSON que contiene su cadena accessToken
.
Los tokens de acceso son válidos por varios días.
Nota : El uso de un proxy inverso expondrá su token de acceso a terceros. Esto no tendrá ningún efecto adverso, pero considere los riesgos antes de utilizar este método.
Puede anular el proxy inverso configurando la dirección del proxy API_REVERSE_PROXY
en el backend service.env:
# Reverse Proxy
API_REVERSE_PROXY =
Los servidores proxy inversos conocidos ejecutados por miembros de la comunidad incluyen:
URL de proxy inverso | autor | límite de tasa | última fecha de control |
---|---|---|---|
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 solicitudes/15 segundos (~3 r/s) | 23/03/2023 |
Nota: Actualmente no se publica información sobre cómo funciona el proxy inverso para evitar que OpenAI deshabilite el acceso.
P: Si solo uso la página de inicio, ¿dónde cambio la interfaz de solicitud?
R: El campo API_URL
en el archivo .env
en el directorio raíz.
P: ¿No hay efecto de máquina de escribir en la parte frontal?
R: Una posible razón es que después de que el proxy inverso de Nginx y el búfer estén activados, Nginx intentará almacenar en el búfer un cierto tamaño de datos desde el backend antes de enviarlos al navegador. Intente agregar proxy_buffering off;
después del antiparámetro y luego vuelva a cargar Nginx. La configuración de otros servidores web es la misma.
¡Gracias a todos los que contribuyeron!
Si crees que este proyecto te resulta útil, puedes darle una Estrella ️ o compartirlo con tus amigos. ¡Tu apoyo es mi mayor motivación!
MIT © zhpd