ChatGPT-Plus — это приложение, использующее официальный API ChatGPT.
Демонстрация демо/проблемы с отзывами/разработка Gitpod/развертывание Vercel
Упрощенный китайский |
Нравится этот проект? Пожалуйста, дайте мне звезду ️
Или поделитесь им с друзьями, чтобы помочь ему улучшиться!
Клиент ChatGPT-Plus — это приложение официального API ChatGPT. Это приложение представляет собой оболочку официального API ChatGPT OpenAI.
Доступ к нему можно получить двумя способами. Чтобы использовать этот модуль в Node.js, вам нужно выбрать один из двух способов:
метод | бесплатно? | крепкий? | качество? |
---|---|---|---|
ChatGPTAPI | нет | ✅ Да | ✅️Настоящая модель ChatGPT |
ChatGPTUnofficialProxyAPI | ✅ Да | ☑️ Возможно | ✅ Реальный чатGPT |
ChatGPTAPI
— использует модель gpt-3.5-turbo-0301
с официальным API завершения чата OpenAI (официальный, мощный метод, но не бесплатный). Вы можете переопределить модели, параметры завершения и системные сообщения, чтобы полностью настроить своего помощника.
ChatGPTUnofficialProxyAPI
— используйте неофициальный прокси-сервер для доступа к внутреннему API ChatGPT в обход Cloudflare (использует настоящий ChatGPT, который является легким, но опирается на сторонние серверы и имеет ограничения по скорости).
Эти два метода имеют очень похожие API, поэтому переключение между ними должно быть простым.
Примечание. Мы настоятельно рекомендуем использовать ChatGPTAPI
, поскольку он использует официально поддерживаемый API OpenAI. В будущем выпуске мы можем прекратить поддержку ChatGPTUnofficialProxyAPI
.
Принцип запроса использует функциональный модуль, предоставляемый Chatgpt-api.
Вы можете использовать Gitpod для онлайн-разработки:
Или клонируйте в локальную разработку и выполните следующие действия:
# clone the project
git clone https://github.com/zhpd/chatgpt-plus.git
Если у вас нет среды git, вы можете напрямую загрузить zip-пакет, разархивировать его и войти в каталог проекта.
Этот проект разработан на основе Node.js и требует среды Node.js 14.0+. Убедитесь, что вы используете
node >= 18
, чтобы была доступнаfetch
(илиnode >= 14
если вы устанавливаете полифил выборки).
Этот проект использует API, официально предоставленный OpenAI, и требует приложения для ключа API и AccessToken.
- Официальный адрес заявки на регистрацию OpenAI: https://platform.openai.com/, требуется научный доступ в Интернет.
- Получите
ApiKey
илиAccessToken
другими способами. Нажмите, чтобы просмотреть.
После успешного применения приложения введите APIKey и AccessToken в файл chatgpt-plus/service/.env
Для разработки рекомендуется использовать редактор VSCode, установить плагины
ESLint
иPrettier
и включить в настройкахFormat On Save
.
Настройте адрес запроса порта и интерфейса в корневом каталоге .env. Вы можете напрямую скопировать файл .env.example в корневой каталог для изменения и изменить имя файла на .env)
Имя переменной среды | значение по умолчанию | иллюстрировать |
---|---|---|
PORT | 3000 | порт |
NEXT_PUBLIC_API_URL | http://localhost:3002 | адрес интерфейса |
Вы можете напрямую скопировать файл .env.example в корневой каталог для изменения и изменить имя файла на .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
После успешного запуска операции вы можете открыть http://localhost:3000 в браузере, чтобы просмотреть результат.
Настройте порт, ApiKey и AccessToken в файле .env в каталоге службы.
Имя переменной среды | значение по умолчанию | иллюстрировать |
---|---|---|
PORT | 3002 | порт |
OPENAI_API_KEY | - | API_KEY |
OPENAI_ACCESS_TOKEN | - | ДОСТУП_ТОКЕН |
API_REVERSE_PROXY | https://api.pawan.krd/backend-api/conversation | актерское мастерство |
TIMEOUT_MS | 60000 | Тайм-аут в миллисекундах |
Вы можете напрямую скопировать файл .env.example в каталог службы для изменения и изменить имя файла на .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
После успешного запуска операции серверная служба может работать нормально.
Для развертывания с помощью Docker вам необходимо установить среду Docker.
Используйте файл конфигурации в папке docker-compose, чтобы получить и запустить его.
Используйте Vercel для развертывания, развертывание в один клик
API_URL
в файле .env
в корневом каталоге, чтобы он был фактическим адресом общедоступной сети вашего внутреннего интерфейса.npm install
чтобы установить зависимости.npm run build
чтобы упаковать код.dist
в каталог前端服务
вашего сайта.dist
npm run start
чтобы запустить службу. service
папкуnpm install
чтобы установить зависимости.npm run build
чтобы упаковать код.service/dist
в каталог后端服务
вашего сайта.service/dist
npm run start
чтобы запустить службу.Примечание . Если вы не хотите упаковывать, вы можете напрямую скопировать папку
service
на сервер и запуститьnpm install
иnpm run start
, чтобы запустить службу.
Вы можете получить к нему доступ, настроив ключ OPENAI_API_KEY
для внутреннего сервиса service.env:
# R OpenAI API Key
OPENAI_API_KEY =
В этом проекте используется API, официально предоставленный OpenAI. Сначала вам необходимо подать заявку на учетную запись OpenAI.
Вы можете получить к нему доступ, настроив токен доступа OPENAI_ACCESS_TOKEN
для внутреннего сервиса service.env:
# change this to an `accessToken` extracted from the ChatGPT
OPENAI_ACCESS_TOKEN =
Вам необходимо получить токен доступа OpenAI из веб-приложения ChatGPT. Вы можете использовать один из следующих методов, для которых требуются email
и password
и возврат токена доступа:
Эти библиотеки работают с учетными записями, которые аутентифицируются с помощью электронной почты и пароля (например, они не поддерживают учетные записи, аутентифицированные с помощью Microsoft/Google).
Кроме того, вы можете вручную получить accessToken
, войдя в веб-приложение ChatGPT и открыв https://chat.openai.com/api/auth/session
, который вернет объект JSON, содержащий вашу строку accessToken
.
Токены доступа действительны в течение нескольких дней.
Примечание . Использование обратного прокси-сервера приведет к тому, что ваш токен доступа станет доступен третьим лицам. Это не будет иметь каких-либо побочных эффектов, но учтите риски, прежде чем использовать этот метод.
Вы можете переопределить обратный прокси-сервер, настроив адрес прокси-сервера API_REVERSE_PROXY
во внутреннем сервисе service.env:
# Reverse Proxy
API_REVERSE_PROXY =
Известные обратные прокси-серверы, которыми управляют члены сообщества, включают:
URL-адрес обратного прокси-сервера | автор | предел скорости | дата последней проверки |
---|---|---|---|
https://bypass.churchless.tech/api/conversation | @cheong08 | 5 запросов/10 секунд по IP | 24.03.2023 |
https://api.pawan.krd/backend-api/conversation | @ПаванОсман | 50 повторов / 15 секунд (~3 р/с) | 23.03.2023 |
Примечание. Информация о том, как работает обратный прокси-сервер, в настоящее время не публикуется, чтобы OpenAI не мог отключить доступ.
Вопрос: Если я использую только интерфейсную страницу, где мне изменить интерфейс запроса?
О: Поле API_URL
в файле .env
в корневом каталоге.
Вопрос: На передней части нет эффекта пишущей машинки?
О: Одна из возможных причин заключается в том, что после включения обратного прокси-сервера Nginx и включения буфера Nginx попытается буферизовать определенный размер данных из бэкэнда перед отправкой их в браузер. Попробуйте добавить proxy_buffering off;
после анти-параметра, а затем перезагрузите Nginx. Конфигурация других веб-серверов аналогична.
Спасибо всем, кто внес свой вклад!
Если вы считаете, что этот проект полезен для вас, вы можете поставить ему звезду ️ или поделиться им с друзьями. Ваша поддержка — моя самая большая мотивация!
МТИ © ЖПД