Теперь есть плохие новости и хорошие новости.
Хорошей новостью является то, что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 Просто представьте этого человека и запустите его.
# Начни бежать
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:
bind
: Это значит поставить свой chatgpt Веб-учетная запись записывается в службе, поэтому служба имеет вашу личность и может имитировать вашу личность для входа в систему. chatgpt из api доступ. связывать Поддерживает несколько методов входа в систему, например:#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。
# использовать Access token Пример обязательного удостоверения
root@VM-0-8-ubuntu:/home/ubuntu# curl localhost:8088/bind -d '{"user_id": "test", "access_token": "your token"}'
{"code":200,"message":""}
ask
:ask Это настоящая сессия вопросов и ответов, параметры которой очень просты. Наиболее важные параметры: prompt
, Отмечает, что вы задали вопрос. Если вы хотите продолжить разговор, вы вернетесь к последнему разу. conversation_id
Просто передайте его как параметр.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 как общий инструмент для команды.