Как мы сделали полнофункциональный ChatGPT

Время чтения ~4 мин


Привет. Я Дима, пишу из города Москва, где нет ChatGPT. Настрадавшись обходными путями и телеграм ботами, мы с командой решили сделать для него свой интерфейс доступный где угодно.

Отчаяние

ChatGPT от OpenAI в представлении не нуждается, как не нуждается в представлении тот факт, что в России он работает через жопу. Если вы еще не пробовали, то вам придется найти VPN, который его устроит, арендовать виртуальный европейский номер телефона, который его устроит и заплатить 20 баксов с карты, которая… Ну вы поняли.

Как пользоваться интернетом в 2023 году

Лично я большой любитель интимных отношений с ЭВМ, но даже мне стало плохо, когда соединение через подходящий VPN стало необходимо держать все время. Получается мой сервер в Польше не устраивает ни OpenAI ни Кинопоиск. Чтож, можно было его поменять или заплатить за что-то еще, но меня уже не остановить.

Поиски

Почти все веб-приложения имеют серверную и клиентские части. А если нельзя нормально пользоваться клиентом, почему бы не пользоваться сервером? Благо у OpenAI ясный API для таких задач. Кроме того, если общая проблема имеет очевидное решение, значит кто-то его уже принял и самое первое что приходит в голову — это бот в телеграме. Здесь уже есть готовый клиент для чата, остается только только написать простой сервис, где будет идти маршрутизация запросов в OpenAI. Останется только время от времени пополнять счет, чтобы списания за каждый запрос не оставили его в нуле.

Таких оказалась масса. В них можно покупать запросы или токены. Сколько-то дают бесплатно при активации бота. Токен — это часть слова, буква или целое слово, которое обрабатывает бот. Как правило одно слово в сгенерированном ответе стоит немногим больше 1 токена. На русском больше потому что кодировка.

Надежда

В основном GPT нужна мне чтобы вести диалоги о конфигурациях разных программ, решений задач на нескольких языках программирования, написании новых текстов и корректировки существующих. Многие думают, что ChatGPT это как гугл: ты спрашиваешь его, а он находит подходящие материалы, только круче, сразу с результатом, который тщательно обдумал.

В реальности же нужно заниматься обучением модели, чтобы в конечном счете она могла выдать тот результат, который вам нужен. Иногда необходимо написать 10 запросов в одном контексте для того чтобы нейросеть вообще “поняла” о чем идет речь, а в конце задать один простой вопрос и получить гениальный ответ.

ミーシャ、全部クソ、もう一度やり直そう!

В телеграм ботах для смены контекста существует команда /forget, которую стоит использовать чтобы нейронка "забыла" о чем вы говорили ранее и не пыталась придумать развивающую детскую программу летнего чтения держа в "голове" специфику моего кластера kubernetes.

В общем все шло хорошо, пока не стало идти плохо. За время проведенное с ботами я понял три вещи:

  • Мне нужно уметь быстро возвращать прежние контексты и продолжать диалог
  • Нужен GPT-4 потому что он офигеть какой умный и хорошо бы в той же подписке
  • Надо иметь возможность смотреть как нейронка набирает ответ и уметь как-то остановить ее поток “мыслей” на вопрос который я ненароком отправил недописанным

А на такое телеграм, в отличие от оригинального интерфейса ChatGPT, не способен.

Развитие

Все вернулось на круги своя и я понял, что мне нужен, собственно, ChatGPT как он задуман, а значит самостоятельный сервис.

Лучшее, что можно найти по этому запросу — зарубежные сервисы вроде Merlin, которые не принимают карты РФ, разные поделки на Github, которые можно развернуть со своим ключом API и пара недоделанных интерфейсов, которые уже кто-то запустил, но полноценно пользоваться ими невозможно.

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

В этот момент мои коллеги из Script Heads, с которыми мы сделали ни один крутой продукт в самых разных сферах, тоже увидели эту боль и мы начали разработку. К этому моменту нас уже были наработки по чатам, эквайрингу, подпискам и всему прочему, а еще крутой кластер в Яндекс Облаке. К тому же мы представлены в ЕС, а значит можно делать расчеты с OpenAI системно.

Звезды сошлись вместе и получился GPTunnel.

Звезд с неба не хватает, на оригинальность не претендует, дело свое делает. То, что надо. Пока выпускали первые обновления стабильности, пришла идея добавлять сюда и другие нейросети по API. Так у нас появилась Midjorney. На этом можно бы и закончить, но тому, кто читает это на VC, скорее всего интересно как все устроено.

Расчеты

У нас есть ООО и договор с банком Тинькофф на интернет-эквайринг. Банк забирает деньги граждан и дальше процесс выглядит так:

Ничего необычного, но в одиночку такое проворачивать совсем беда. Дальше начинается трата лимитов API, где дают кредит на месяц определенного объема. За его рамки выйти нельзя, только договориться об увеличении лимита с поддержкой и ждать ответа. OpenAI списывает токены за:

  • Сам запрос
  • Каждое слово в ответе
  • Каждое предыдущее сообщение в истории переписки

Цена разная за GPT-3.5 и за GPT-4. Пришлось прикидывать и считать сколько должен стоить запрос, потому что оплату объяснять очень трудно. Путем проб и ошибок пришли к схеме покупки пользователями виртуальной валюты — токенов. Запрос к 3.5, как точка отсчета, стоит 1 токен, к 4-й версии — 3 токена, а к Midjorney — 15. Токены пополняются в виде pay as you go в трех вариантах:

  • 25 токенов за 75 рублей
  • 100 за 279
  • 400 за 759

Так покрытие всех затрат начало сходиться. Дальше посмотрим.

Бизнес?

Мы надеемся, что этот простой сервис сможет собрать аудиторию, которой важно использовать нейросети в работе и в жизни. Простое общение с чатом — это не продукт, который мы бы хотели видеть, а скорее решение проблем здесь и сейчас. Сейчас мы собираем данные анализируя поведение пользователей чтобы найти проблемы, решение которых с помощью специальных интерфейсов нейросетей будет более продуктивным, чем просто чат. Если у вас такие имеются — пишите в комментариях, мы любим запускать и непрерывно улучшать полезные вещи.


Дмитрий БельтюковПубликация от 01.06.2023
+7 (995) 986-01-00
О компании
Оферта
Политика конфиденциальности
© Script Heads