Руководство по созданию личной версии ChatGPT на облачном сервере и интеграции GPT чата с серверной частью Spring Boot
Руководство по созданию личной версии ChatGPT на облачном сервере и интеграции GPT чата с серверной частью Spring Boot

Эта статья разделена на две части,включать【Создайте чат GPT на внутреннем сервере.】и【Бэкенд Спринг Загрузить интегрированный чат GPT】。

Создавать ли чат на [внутреннем сервере] GPT] и [Backend Spring Загрузить интегрированный чат GPT], оба метода требуют, чтобы машина имела доступ к www.google.com.

Начнем с урока, состоящего из двух частей.

1. Создайте чат GPT на домашнем сервере.

Сначала нужно подготовить следующие вещи:

1. Облачный сервер Linux, имеющий доступ к публичной сети, минимальная конфигурация — 1 ядро ​​и 2G (конечно, если есть деньги, можно купить самую высокую конфигурацию)

2. Ключ GPT Чата

3. Образ Docker с открытым исходным кодом, похожий на GPT.

1.1. Подготовьте облачный сервер.

Это может быть Tencent Cloud, Alibaba Cloud или Huawei Cloud и т. д. Обычно я могу построить его на Alibaba Cloud и Huawei Cloud соответственно.

1.2. Настройте сетевой прокси.

На сервере, который уже имеет доступ к Google, вам необходимо добавить прокси в /etc/profile, чтобы обеспечить нормальный доступ к вызову интерфейса ChatGPT через метод ключа:

export all_proxy=http://127.0.0.1:8889 export http_proxy=http://127.0.0.1:8889 export https_proxy=https://127.0.0.1:8889 export all_proxy=socks5://127.0.0.1:1080

8889 и 1080 здесь должны быть установлены соответственно в соответствии с config.json в конфигурации вашего прокси.

После завершения настройки выполните source /etc/profile, проверьте завиток Если доступ к api.openai.com/ возможен, проблем нет. Может…

1.3. Установите Докер.

Вы можете прочитать статью, которую я записал ранее о настройке.DockerКомандная строка выглядит следующим образомПримечания о проблемах, возникающих при установке Docker на CentOS7.

После завершения построения, поскольку внешний доступ Docker должен проходить через прокси хоста, необходимо задать следующие операции —

Создайте каталог ~/.docker/, затем создайте в нем новый файл config.json и добавьте в него следующую команду:

Язык кода:javascript
копировать
{
   "default":
   {
     "httpProxy": "http://127.0.0.1:8889",
     "httpsProxy": "http://127.0.0.1:8889",
     "noProxy": "*.test.example.com,.example2.com,127.0.0.0/8"
   }
 }
}
копироватькод

1.4. Докер-образ.

В настоящее время на GitHub в Интернете имеется множество отличных приложений с открытым исходным кодом, имитирующих страницу чатаGPT. Нам не нужно изобретать велосипед. Нам нужно всего лишь выбрать одно из них, чтобы упаковать его и развернуть в контейнере Docker для запуска.

Я использую проект с открытым исходным кодомchatgpt-mirror.

Непосредственно клонируйте проект на соответствующий сервер Linux ——

Язык кода:javascript
копировать
git clone https://github.com/yuezk/chatgpt-mirror.git
копироватькод

Перед упаковкой в ​​виде Dockerfile на основе этого проекта с открытым исходным кодом необходимо выполнить следующие зависимые образы —

Язык кода:javascript
копировать
docker pull node:18-alpine 
docker pull node:18-slim
копироватькод

Далее вы можете выполнить следующие операции для создания образа Docker:

Язык кода:javascript
копировать
cd chatgpt-mirror
#--network хост означает публичную сеть с хостом, то есть используйте прокси, а потом обратите внимание на последний .
docker build --network host  -t chatgpt-mirror . 
#После успешного нормального выполнения вы можете увидеть новое изображение с помощью этой команды
docker images
копироватькод

Конкретная ситуация следующая:

Затем вам нужно добавить новый файл env в среду cdchatgpt-mirror и прописать в файле ключ ChatGPT и агент хост-машины:

Язык кода:javascript
копировать
OPENAI_API_KEY=ваш ключ GPT для чата
HTTP_PROXY=http://127.0.0.1:8889
копировать код

После завершения вышеуказанных операций наконец выполните в каталогеchatgpt-mirror——

docker run -itd --net host -p 3000:3000 -v /app/config.json:/app/config/app.config --env-file env chatgpt-mirror

После завершения нормального выполнения,Вы можете просмотреть и ввестиhttp://IP-адрес вашего сервера: 3000, вы можете получить приложение, которое выглядит как ChatGPT, но внутри вызывает реальный интерфейс ChatGPT.

Дело в том, что таким образом ваш компьютер, платформа, мобильный телефон и другие терминалы могут использовать ChatGPT напрямую без доступа к прокси, а скорость ответа примерно в два раза выше, чем при прямом подключении к официальному сайту!

Следующее — доступ к странице чата GPT, созданной на моем собственном сервере. Очень ли она похожа на настоящую?

2. Backend Spring Boot интегрирует GPT чата.

Обратите внимание, что для этого метода также требуется, чтобы у компьютера был нормальный доступ к Google.

Сначала введите следующую конфигурацию в зависимость maven:

Язык кода:javascript
копировать
<dependency>
    <groupId>com.theokanning.openai-gpt3-java</groupId>
    <artifactId>service</artifactId>
    <version>0.11.1</version>
</dependency>
копироватькод

Напишите следующий код -

Язык кода:javascript
копировать
@GetMapping("/ai")
public void sendMsg() throws InterruptedException {
    System.out.println("Начинайте задавать вопросы~");
    System.out.println("Вы помощник по работе и хотели бы помочь разработать книгу по планированию мероприятий" );
  //GPT_TOKEN — ваш кодовый ключ
    OpenAiService service = new OpenAiService(GPT_TOKEN,Duration.ofSeconds(10000));
    CompletionRequest completionRequest = CompletionRequest.builder()
      			//Используемая модель
            .model("text-davinci-003")
            //Вводим приглашение
            .prompt("Разработайте книгу по планированию мероприятий")
            //Чем больше значение, тем более случайные результаты возвращаются каждый раз, то есть чем меньше сходство, необязательный параметр, значение по умолчанию 1. Ценность 0-2
            .temperature(0.5)
            //Вернем максимальное количество сегментов слова в результате
            .maxTokens(2048)
            //Аналогично температуре
            .topP(1D)
            .build();
    service.createCompletion(completionRequest).getChoices().forEach(System.out::println);
    Thread.sleep(6000);
}
копироватькод

Документация по свойствам CompletionRequest представлена ​​здесь:

platform.openai.com/docs/api-re…

Начните, вызовите этот интерфейс, и вы сможете использовать GPT чата для интеграции с серверным кодом SpringBoot ——

Следует отметить, что если он развернут в облачном сервисе Linux с доступом через прокси, код необходимо соответствующим образом скорректировать, иначе ChatGPT не будет доступен и появится следующее исключение: java.net.ConnectException: Failed to Connect to api .openai .com/2a03:2880:f10c:283:face:b00c:0:25de:443]

Поэтому необходимо внести следующие корректировки:

Язык кода:javascript
копировать
public void send1Msg() throws InterruptedException {

        System.out.println("Начинайте задавать вопросы~");
        System.out.println("Вы помощник по работе и хотели бы помочь разработать книгу по планированию мероприятий" );
        //Необходимо настроить дополнительный прокси, который сможет получить доступ к чатуGPT
        ObjectMapper mapper = defaultObjectMapper();
        Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("127.0.0.1", 8889));
        OkHttpClient client =  defaultClient(GPT_TOKEN,Duration.ofSeconds(10000))
                .newBuilder()
                .proxy(proxy)
                .build();
        Retrofit retrofit = defaultRetrofit(client, mapper);
        OpenAiApi api = retrofit.create(OpenAiApi.class);

				//Передаем установленный прокси в OpenAiService
        OpenAiService service = new OpenAiService(api);
        CompletionRequest completionRequest = CompletionRequest.builder()
                .model("text-davinci-003")
                .prompt("Разработайте книгу по планированию мероприятий")
                .temperature(0.5)
                .maxTokens(2048)
                .topP(1D)
                .build();
        service.createCompletion(completionRequest).getChoices().forEach(System.out::println);
        Thread.sleep(6000);
}
копироватькод

Чат, развернутый в облачной службе Linux, возвращает эффект печати ——

Выше речь идет о [построении чата на отечественных серверах] GPT] и [Backend Spring Загрузить интегрированный чат GPT】Руководство, еще больше интересного о чате Если вы хотите узнать о контенте, связанном с GPT, вы можете подписаться на меня, потому что я очень заинтересован в этой области и в следующий раз поделюсь другим соответствующим контентом. Если вы ничего не понимаете, можете спросить меня за кулисами.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose