Учебное пособие по созданию сервера OpenAI ChatGPT в .NET

Сервер ChatGPT — популярная платформа для чат-ботов WeChat. Однако из-за запрета WeChat использование чат-ботов WeChat внутри WeChat может привести к потенциальной блокировке. Если вы не хотите каждый раз посещать официальный сайт OpenAI для использования ChatGPT, рассмотрите возможность создания собственного сервера для локального вызова ChatGPT. В конце концов, API OpenAI общедоступно.

Используйте .NET для быстрого создания сервера ChatGPT и открытия API OpenAI

Играйте со всеми в WeChat Мне очень нравится играть с чат-ботами. Однако, поскольку ChatGPT запрещён WeChat, использование чат-ботов WeChat в WeChat может привести к блокировке. Я не хочу каждый раз заходить на сайт OpenAI, чтобы использовать ChatGPT, поэтому лучше создам собственный сервис для локального вызова ChatGPT. В конце концов, API OpenAI открыто для всех.

Диалог чата на официальном сайте имеет ограничения. Если текст ответа достаточно длинный, это может привести к исключениям, например, к тайм-ауту запроса по истечении определённого времени. Прямой доступ через API позволяет избежать этой ситуации.

Ниже представлена официальная информация. Вы можете самостоятельно создать сервер ChatGPT для предоставления услуг другим.

Официальный адрес веб-сайта документа:https://beta.openai.com/docs/introduction

Если вы не знаете, как зарегистрировать учетную запись OpenAI, вы можете обратиться к:

Подробное руководство по регистрации в ChatGPT на платформе приема иностранных кодов SMS-Activate. Регистрация в ChatGPT прошла на 100% успешно!

Сборка сервера ChatGPT

Сначала создайте новую программу-сервис Webapi.

Используйте .NET для быстрого создания сервера ChatGPT и открытия API OpenAI

Я использую .NET 6, но вы можете выбрать предпочтительную среду. Для удобства чтения я решил использовать контроллеры и включил поддержку OpenAPI (Swagger).

Используйте .NET для быстрого создания сервера ChatGPT и открытия API OpenAI

После его создания добавьте в программу регистрацию сервиса HttpClient, который будет использоваться для доступа к API OpenAI.

Используйте .NET для быстрого создания сервера ChatGPT и открытия API OpenAI

Создайте новый контроллер с именем RobotController, чтобы предоставить интерфейс webapi для тестирования.

Используйте .NET для быстрого создания сервера ChatGPT и открытия API OpenAI

В недавно созданном контроллере выполните некоторые начальные приготовления, например, внедрите IHttpClientFactory для резервного копирования.

Используйте .NET для быстрого создания сервера ChatGPT и открытия API OpenAI

На официальном сайте есть некоторая информация. Например, максимальное количество токенов модели text-davinci-003 составляет 4000, поэтому в конце есть параметр запроса, который не может превышать это число.

Используйте .NET для быстрого создания сервера ChatGPT и открытия API OpenAI

 

Это рекомендация по параметрам: установите для параметра temperature значение 0,9f, а для top_p — 1. Согласно документу, значение temperature повлияет на некоторые характеристики содержимого ответа, например на долю содержимого, которое может быть спроектировано как недружелюбное.

Используйте .NET для быстрого создания сервера ChatGPT и открытия API OpenAI

Давайте создадим общий класс сущности запроса, который будет служить параметрами, необходимыми для доступа к нашему веб-API. Важны три ключевых параметра, которые можно настроить более точно. Например, в документации рекомендуется установить значение temp равным 0,9f, а максимальное количество токенов — 4000, что можно изменить. Поле message содержит параметры запроса, используемые для взаимодействия с ботом.

Используйте .NET для быстрого создания сервера ChatGPT и открытия API OpenAI

Затем следует тело возвращаемого значения. Этот формат настраивается путём разбора возвращаемого значения OpenAI. Вы можете ссылаться на него по своему усмотрению или напрямую возвращать строку без разбора. В конце концов, это строка данных JSON, так что это не такая уж большая проблема.

Используйте .NET для быстрого создания сервера ChatGPT и открытия API OpenAI

Теперь давайте уточним метод Call. Общее содержимое показано ниже. «openaiKey» — мой личный ключ, поэтому я слегка размыл его, чтобы избежать проблем с конфиденциальностью. Надеюсь, вы понимаете. Остальной код вы можете посмотреть на скриншотах.

Используйте .NET для быстрого создания сервера ChatGPT и открытия API OpenAI

Наконец, запустите сервисную программу и введите Swagger для вызова интерфейса. Например, если я передам в поле сообщения «Помогите мне написать версию Hello World для C#», возвращаемым значением будут первые данные в массиве choices[], а text — содержимое ответа робота.

Используйте .NET для быстрого создания сервера ChatGPT и открытия API OpenAI

Вышеприведённый пример — всего лишь простой. Вы можете расширить или изменить его в соответствии со своими потребностями. Например, вы можете использовать существующие ключи и шаблоны для создания чат-сервиса на другом языке или создать чат-клиент для доступа к нему. Всё возможно. Если WeChat заблокирован, вы можете попробовать создать собственный сервис для косвенной реализации умного чата в определённых приложениях.

Загрузка сервера ChatGPT:https://www.mediafire.com/file/zfhax9qcbjzooq3/RobotServer.zip/file

Оригинальная ссылка этого блога:https://www.cnblogs.com/weskynet/p/16987108.html

счет

комментарий 3

Ответить

Ваш адрес электронной почты не будет опубликован. Обязательные поля помечены *