Сегодня я поделюсь частным веб-приложением ChatGPT — ChatGPT Next Web, позволяющим удобно использовать ChatGPT в любое время и в любом месте!
Без лишних слов, давайте начнем строить его прямо сейчас!
Демо Demo: https://chat-gpt-next-web.vercel.app/
обратная связь Issues: https://github.com/Yidadaa/ChatGPT-Next-Web/issues
присоединиться Discord: https://discord.gg/zrhvHCr79N
Награды разработчикам: Пригласите оригинального автора проекта выпить кофе.
Существует два официальных метода построения: первый не требует сервера и развертывается непосредственно на Vercel, второй развертывается на вашем собственном сервере;
version: '3.3'
services:
chatgpt-next-web:
ports:
- '8090:3000'
environment:
- OPENAI_API_KEY=sk-xxxx # Заполните свой API KEY
- CODE=your-password # Введите пароль, иначе ваш лимит скоро будет исчерпан
image: yidadaa/chatgpt-next-web
Выкидывайте ядро прямо сюда docker-compose.yaml
файл, знакомый docker Друзья окружающей среды могут напрямую копировать и строить его.
Уведомление:
OPENAI_API_KEY
Вы можете сослаться на Гугу в прошлом году12луна Написано статей:От регистрации до игры в ChatGPT — самом продвинутом в мире гражданском чат-боте с искусственным интеллектом.。
Рекомендуем к прочтению:Народный! Кратко объясните ChatGPTиOpenAI и API КЛЮЧИ
CODE
Не забудьте записать это, иначе веб-страница будет доступна в Интернете, и ваша квота API скоро будет исчерпана.
Ниже приводится подробное руководство по настройке для развертывания сервера.
Исправление: Кажется, ничего страшного, если он заблокирован. Так мы называем API.
Выберите сервер и сначала проверьте, можете ли вы получить доступ к ChatGPT:
bash <(curl -Ls https://cpp.li/openai)
Требования к серверу: рекомендуется 1 ГБ или более памяти.
Видео адрес:https://youtu.be/C97PAwJ9fkA
Билибили [HD-версию можно нажать, чтобы пожаловаться на нее B стоять и смотреть】:<joe-bilibili bvid="BV1w84y1M7zG"></joe-bilibili>
Если вы не используете облегченный сервер приложений Tencent Cloud, вы можете сразу перейти к разделу 5.1.
Самая большая особенность легкого сервера Tencent Cloud заключается в том, что «Легкий» по сравнению с CVM больше подходит для начала работы новичкам. Здесь выбираем между. Docker Базовый образ, можно сохранить для последующей установки. Docker шаги (Если вы настаиваете на использовании домашнего сервера, установите его здесь. Docker Зеркало также поможет вам настроить источники внутреннего зеркала для ускорения доступа. docker Зеркальные ресурсы) Не используйте отечественные 。
Вы можете напрямую обратиться к этому контенту:
https://blog.laoda.de/archives/nginxproxymanager
Создайте каталог установки:
sudo -i
mkdir -p /root/data/docker_data/chatgpt-web
cd /root/data/docker_data/chatgpt-web
Здесь мы устанавливаем его напрямую с помощью докера.
vim docker-compose.yml
В разделе «Английский метод ввода» нажмите i
version: '3.3'
services:
chatgpt-next-web:
ports:
- '8090:3000'
environment:
- OPENAI_API_KEY=sk-xxxx # Заполните свой API KEY
- CODE=your-password # Введите пароль, иначе ваш лимит скоро будет исчерпан
image: yidadaa/chatgpt-next-web
После внесения изменений обратите внимание на переключение на английский метод ввода, а затем нажмите esc
,Затем :wq
Сохраняем и выходим.
Открыть порты брандмауэра 8090
Например, способ открытия Tencent Cloud следующий (некоторые поставщики услуг не имеют собственного брандмауэра панели, поэтому этот шаг не обязателен):
<img src="https://img.laoda.de/i/2022/06/30/zlio5h-2.webp" alt="image-20220630215240864" style="zoom:33%;" />
<img src="https://img.laoda.de/i/2022/06/30/10h3dqt-2.webp" alt="image-20220630220546335" style="zoom:33%;" />
Пример на картинке заполнен 5230
,Замечание заполнено memos
,Здесь мы заполняем 8090
,Заполните пример chatgpt-web
, просто подтвердите (если вы находитесь в docker-compose Изменено в файле 9009
,Вам нужно заполнить это здесь 9009
,и так далее)
<img src="https://img.laoda.de/i/2022/08/19/o4byqz-2.webp" alt="image-20220819145844555" style="zoom:33%;" />
Проверьте, занят ли порт (начните с 8090
(например), введите:
lsof -i:8090 #Проверять 8090 Порт занят?,если занято,Переопределить порт
Если ничего не появляется, это означает, что порт не занят и мы можем продолжить следующие операции ~
Если оно появляется:
-bash: lsof: command not found
бегать:
apt install lsof #Установить lsof
Если порт не занят (если занят, измените порт, например, измените его на 8081
,Уведомление docker И командную строку, и фаервол надо менять)
наконец:
cd /root/data/docker_data/chatgpt-web # приходить dockercompose В папке, где находится файл
docker-compose up -d
Теоретически мы можем войти http://ip:8090
Доступ установлен.
Уведомление: 1. Не знаю сервера IP,может быть напрямуюсуществоватькомандная строкавходить:
curl ip.sb
,会显示当впередсервериз IP。 2. Если вы столкнулись с невозможностью доступа, проверьте еще раз, открыт ли соответствующий порт в брандмауэре панели Pagoda и внутреннем брандмауэре поставщика услуг.
Некоторые друзья могут захотеть настроить его и поделиться им с другими. Если они захотят позже поделиться им с другими, порт IP + слишком неэлегантен. Гугу предлагает каждому создать доменное имя, которое легко запомнить и которое выглядит более формально. . Это позволит вам использовать https, что сделает веб-страницу более безопасной.
и namesilo выше xyz Доменное имя с суффиксом действует один год. 7 Юани можно выбрасывать каждый год. (Пустяки, по названию Плата за продление шестизначного номера xyz всегда составляет 0,99 доллара США. = =)
Если вы хотите использовать его в течение длительного времени, рекомендуется купить его. com Доменное имя с суффиксом более формально и его можно вводить laodade
получить 1 Скидка в долларах США (не знаю, доступна ли она сейчас)
namesilo Поставляется с защитой конфиденциальности,Гугу использовал это место,Цена также относительно низкая среди этих регистраторов.,Ключевым моментом является то, что его компания не похожа на других регистраторов доменных имен.,Никаких трюков!(Это просто какой-то фоновый интерфейсуродливый древний = =)
Давайте посмотрим вниз!
cd /root/data/docker_data/chatgpt-web
docker-compose down
cp -r /root/data/docker_data/chatgpt-web /root/data/docker_data/chatgpt-web.archive # На всякий случай заранее сделайте резервную копию
docker-compose pull
docker-compose up -d # пожалуйста, не используйте docker-compose stop остановить контейнер, поскольку для этого требуется дополнительное время на ожидание остановки контейнера; up -d Когда вы напрямую обновляете контейнер, он автоматически останавливается и немедленно перестраивает новый контейнер, поэтому нет необходимости тратить это время.
docker image prune # prune Команда используется для удаления тех, которые больше не используются. docker объект. Удалить все элементы, которые не были tag Отметьте и изображения, которые не используются контейнерами
намекать:
WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N]
входить y
Приложения, созданные с использованием Docker, очень легко обновлять~
cd /root/data/docker_data/chatgpt-web
docker-compose down
cd ..
rm -rf /root/data/docker_data/chatgpt-web # Полностью удалить данные, сопоставленные локально
Может быть удален очень чисто.
Для доступа к нашему сервису нам нужно использовать доменное имя вместо IP+порта!
существоватьдобавить вобратный прокси之вперед,Убедитесь, что вы завершили разрешение доменного имени,Если вы не знаете как, вы можете посмотреть это:Доменное имя и разрешить его на сервере(Покупка доменного имени, разрешение доменного имени Видеоурок)
После этого войдите в систему Nginx Proxy Manager(Не знаю, как это смотреть:Установите прокси-менеджер Nginx.(Связанные руководства))
Уведомление: Nginx Proxy Менеджер (далее – НПМ) будет использоваться
80
、443
порт, поэтому эта машина не может его занять (например, изначально у нее был Nginx)
Просто добавьте несколько фотографий:
<img src="https://img.laoda.de/i/2022/05/02/kfes4s\_7.webp" alt="image-20220502123517401" style="zoom: 33%;" />
<img src="https://img.laoda.de/i/2023/04/03/pnip9i-0.webp" alt="image-20230403155113921" style="zoom:50%;" />
Обратите внимание на заполнение соответствующего
доменное имя
、IP
ипорт
,Согласно статье,должно быть8090
Заполните IP:
если Nginx Proxy Manager и chatgpt-web существоватьтакой жеодинсервер上,Можетсуществовать Терминалвходить:
ip addr show docker0
Просмотрите соответствующий внутренний IP-адрес контейнера Docker.
В противном случае заполните напрямую chatgpt-web
Сервер, где IP Вот и все.
<img src="https://img.laoda.de/i/2022/04/03/h9azjx\_7.webp" alt="image-20220403104353185" style="zoom: 33%;" />
Откройте его еще раз и проверьте следующее:
Затем вы можете использовать доменное имя для установки и доступа к нему.
Я обнаружил, что многие друзья до сих пор привыкли использовать панель «Пагода», и вот обратная конфигурация панели «Пагода»:
Просто создайте новый сайт, без базы данных, без PHP, просто статический.
Затем откройте следующую конфигурацию и измените конфигурацию Nginx.
Код выглядит следующим образом:
location / {
proxy_pass http://127.0.0.1:8090/; # Будьте осторожны и измените его на тот порт, который вы действительно используете.
rewrite ^/(.*)$ /$1 break;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade-Insecure-Requests 1;
proxy_set_header X-Forwarded-Proto https;
}
Этот метод подходит для 90% изобратный прокси может быть эффективным, затем вы можете использовать доменное имя для установки и доступа к нему.
Некоторые студенты могут спросить, почему бы просто не использовать функцию обратного прокси, которая поставляется с Pagoda.
Это также возможно, но сам Гугу уже сталкивался с ситуацией, когда при наличии нескольких веб-сайтов, которые необходимо отменить, при настройке здесь будет сообщаться об ошибке = =
Поэтому позже я перестал его использовать и просто использовал метод выше для управления им.
Давайте поговорим об этом, пока записываем видео. Давайте исследуем это сами = =.
Помнитьвходить之впередdocker-compose.yml
Пароль внутри~
Вы можете сначала попробовать сами. Это несложно. Если вы хотите узнать подробности работы, подождите, пока Гугу сделает видео на выходных.
Никто
Желаю всем удачного опыта и не стесняйтесь спрашивать, если у вас есть какие-либо вопросы. GitHub нести Issues,Вы также можете общаться и обсуждать друг с другом в комментариях.
При этом есть возможность отдать ChatGPT Next Студенты, которые вносят свой вклад в Интернет, также могут активно участвовать. проект Приходите и внесите свой вклад!
Наконец, спасибо Упорный труд веб-разработчиков ChatGPT Next позволил нам использовать такой отличный проект!
Демо Demo: https://chat-gpt-next-web.vercel.app/