Создайте свой собственный сервис API Chatgpt.
Создайте свой собственный сервис API Chatgpt.

Ограничения чатгпт openapi

Теперь есть плохие новости и хорошие новости.

Хорошей новостью является то, чтоchatgpt открыл openapi.

Плохая новость заключается в том, что openapi предоставляется за дополнительную плату и стоит не так дешево, как вы думаете.

Текущая цена на официальном сайте составляет: 0,002 доллара США за 1000 токенов, что составляет примерно 750 слов. Но в настоящее время API не запоминает содержание вашего разговора, то есть openapi не имеет контекстной информации. Если вы хотите, чтобы chatgpt был достаточно умным, чтобы вести с вами действительно контекстный разговор, как в веб-версии, тогда каждый раз, когда вы вызываете API, вы должны накладывать содержимое предыдущего разговора, и чем больше текста, тем больше токенов это будет стоить. Таким образом, стоимость токена будет расти в геометрической прогрессии.

Глядя на это с этой точки зрения, один разговор может легко потреблять 10 000 токенов или даже больше.

Имитировать веб-идентичность для разговора

Итак, можно ли смоделировать идентичность веб-страницы, чтобы общаться с chatgpt, и создать на основе этого сервис, разве его нельзя будет использовать бесплатно, а функции веб-страницы могут обновляться более своевременно, чем функция openapi? .

Ответ: да. Одним из наиболее известных проектов является acheong08/ChatGPT,Этоиндивидуальный python проект всего за несколько месяцев достиг почти 2w индивидуальный звезда. Этот индивидуальный проект в настоящее время предлагает имитацию входа в Интернет из python библиотека, также предоставляет openapi версия (openapi Версия самая последняя обновленная, 2w индивидуальныйstar Не из-за этой части способностей). Но этого индивидуального Служить нет в наличии в готовом виде. api версию, чтобы вы могли находиться в не- python изпроект inuse Этот индивидуальный проект может оказаться немного сложным. и u2takey/chatgpt-go этотиндивидуальный go проекты не только обеспечивают go языковая версия SDK и предоставляет индивидуальный готов к использованию из коробки api услуги и Dockerfile относительно удобнее.

Как использовать

этотиндивидуальный Проекты, с которых мы начинаемиспользовать u2takey/chatgpt-go docker service Перспективную версию см. в разделе «Как использовать». На данный момент в проекте предусмотрен индивидуальный вариант, которым можно пользоваться «из коробки». docker Зеркало: ccr.ccs.tencentyun.com/leiwang/chat-service:v0 , на вашем хосте pull Просто представьте этого человека и запустите его.

Язык кода:txt
копировать
# Начни бежать
root@VM-0-8-ubuntu:/home/ubuntu# docker run -d  -p 8088:8088 ccr.ccs.tencentyun.com/leiwang/chat-service:v0
c2f95863b5c476fe722f2fc48d95f082739e844c9aa499fee0d97cd0cc6bd1c1

# Проверьте статус работы
root@VM-0-8-ubuntu:/home/ubuntu# docker ps
CONTAINER ID   IMAGE                                             COMMAND                  CREATED         STATUS         PORTS                              NAMES
c2f95863b5c4   ccr.ccs.tencentyun.com/leiwang/chat-service:v0    "/usr/local/bin/chat…"   5 seconds ago   Up 2 seconds   0.0.0.0:8088->8088/tcp             unruffled_bohr

Этот индивидуальный сервис очень прост и в основном имеет только два индивидуальных API:

  1. bind: Это значит поставить свой chatgpt Веб-учетная запись записывается в службе, поэтому служба имеет вашу личность и может имитировать вашу личность для входа в систему. chatgpt из api доступ. связывать Поддерживает несколько методов входа в систему, например:
Язык кода:txt
копировать
#Email/Password Не поддерживается Google/Microsoft счет
{
  "email": "email",
  "password": "your password"
}

# Session token от cookies on chat.openai.com as "__Secure-next-auth.session-token"
{
  "session_token": "..."
}

# 3. Access token доступ https://chat.openai.com/api/auth/session ты можешь получить
{
  "access_token": "<access_token>"
}

в то же время bind из времени вам необходимо взять с собой индивидуального user_id Параметры, которые идентифицируют вас и могут быть доступны позже Другие интерфейсы, принесите их user_id Вот и все. Ниже приведен индивидуальный использовать Access token Пример обязательной идентификации, первый визит https://chat.openai.com/api/auth/session, Пучок token copy выходи и тогда bind。

Язык кода:txt
копировать
# использовать Access token Пример обязательного удостоверения
root@VM-0-8-ubuntu:/home/ubuntu# curl localhost:8088/bind -d '{"user_id": "test", "access_token": "your token"}'
{"code":200,"message":""}
  1. ask:ask Это настоящая сессия вопросов и ответов, параметры которой очень просты. Наиболее важные параметры: prompt, Отмечает, что вы задали вопрос. Если вы хотите продолжить разговор, вы вернетесь к последнему разу. conversation_id Просто передайте его как параметр.
Язык кода:txt
копировать
root@VM-curl localhost:8088/ask -d '{"user_id": "test", "prompt": "Что такое Happy Planet"}' | jq

{
  "code": 0,
  "message": "",
  "data": {
    "message": «Извините, я не знаю, к какому конкретному понятию или предмету относится «Счастливая планета». Можете ли вы предоставить дополнительную информацию или контекст? Так я смогу лучше ответить на ваш вопрос.»,
    "conversation_id": "d0b3a4f8-b889-46f1-b113-2d0fed3d6a56",
    "parent_id": "caf08b56-6f4d-4aa2-9a67-c3fbe04125d7",
    "model": ""
  }
}


curl localhost:8088/ask -d '{"user_id": "test", "prompt": «Появился в китайском сериале «индивидуальный», "conversation_id": "d0b3a4f8-b889-46f1-b113-2d0fed3d6a56"}' | jq

{
  "code": 0,
  "message": "",
  "data": {
    "message": «Если «Счастливая планета» появляется в китайском сериале, это может быть вымышленное место или организация в сериале. Извините, потому что я не знаю, какой это сериал, и не знаю» Happy Planet» «Планета» играет роль и предысторию в пьесе и не может дать более подробного ответа.»,
    "conversation_id": "d0b3a4f8-b889-46f1-b113-2d0fed3d6a56",
    "parent_id": "d7ec14ea-56fa-4dd2-a1db-99548911d8b4",
    "model": ""
  }
}

Заключение

Имитировать вход пользователя u2takey/chatgpt-go Проектuse очень простой и бесплатный, но у него есть и недостатки, а именно если openapi Официальный сайт изменил метод аутентификации при входе, и для продолжения проекта необходимо соответствующим образом обновить его.

использовать u2takey/chatgpt-go Создайте свой собственный сервис API Chatgpt. После этого вы можете использовать свое воображение. Вы можете сделать на основе этого чат-бота WeChat или индивидуального. alfred Плагин или инструмент командной строки также можно бесплатно предоставить вам в небольшом объеме. API как общий инструмент для команды.

boy illustration
Как вставить элемент перед указанным ключом в ассоциативный массив в PHP
boy illustration
swagger2 экспортирует API как текстовый документ (реализация Java) [легко понять]
boy illustration
Выбор фреймворка nodejs Express koa egg MidwayJS сравнение NestJS
boy illustration
Руководство по загрузке, установке и использованию SVN «Рекомендуемая коллекция»
boy illustration
Интерфейс PHPforwarding_php отправляет запрос на получение
boy illustration
Создавайте и защищайте связь в реальном времени с помощью SignalR и Azure Active Directory.
boy illustration
ВичатПубличная платформаразвивать(три)——ВичатQR-кодгенерировать&Сканировать кодсосредоточиться на
boy illustration
[Углубленное понимание Java IO] Используйте InputStreamReader для чтения содержимого файла и легкого выполнения задач преобразования текста.
boy illustration
сравнение строк PHP
boy illustration
9 сценариев асинхронного сбоя @Async
boy illustration
Эффективная обработка запланированных задач: углубленное изучение секретов библиотеки APScheduler на Python
boy illustration
Рекомендации по облегченному артефакту развязки внутренних компонентов Spring Event (событие Spring)
boy illustration
Go: Лесоруб-лесоруб на колесах Введение
boy illustration
Основы серверной разработки: технология кэширования, которую должен освоить каждый программист
boy illustration
Java Advanced Collections TreeSet: что это такое и зачем его использовать?
boy illustration
Оказывается, у команды go build столько знаний
boy illustration
Node.js
boy illustration
Анализ исходного кода, связанный с запланированными задачами версии ruoyi-vue (7), то есть анализ модуля ruoyi-quartz.
boy illustration
Вход в систему с помощью скан-кода WeChat (1) — объяснение процесса входа в систему со скан-кодом, получение авторизованного QR-кода для входа.
boy illustration
HikariPool-1 — обнаружено отсутствие потока или скачок тактовой частоты, а также конфигурация источника данных Hikari.
boy illustration
Сравнение высокопроизводительной библиотеки JSON Go
boy illustration
Простое руководство по извлечению аудио с помощью FFmpeg
boy illustration
Подсчитайте количество строк кода в проекте
boy illustration
Spring Boot элегантно реализует многопользовательскую архитектуру: концепции и практика
boy illustration
Как интегрировать функцию оповещения корпоративного WeChat в систему планирования xxl-job
boy illustration
SpringBoot интегрирует отправку сообщений через веб-сокет в режиме реального времени
boy illustration
Краткий анализ основных библиотек журналов в Go: узнайте, как интегрировать функции вращения и резки бревен на уровне проектирования.
boy illustration
Реализация API-шлюза с нуля-Golang
boy illustration
[Разговорный сайт] Как Springboot получает значения свойств из файлов конфигурации yml или свойств
boy illustration
Spring Boot — синхронные события приложения против асинхронных событий публикации и подписки. Практический бой