Как сделать свой ChatGPT

Думаю все (или абсолютное большинство), кто это читает, уже попробовали ChatGPT. Я лично пользуюсь им почти каждый день и чувствую пользу и деградацию.



Но в один момент там появились конские лимиты сообщений, типа 2 сообщения в час. Потом адские задержки. Потом меня там вообще забанили. Да и вообще, чаты в веб-интерфейсе – это кусок 💩



И я сделал свой удобный ChatGPT в телеграме! Притворяться браузером и делать запросы в их интерфейс – не вариант (лимиты, да и бан никто не отменял). Поэтому я решил построить ChatGPT на основе ее базовой модели – GPT-3, благо у нее есть API.



Немного ликбеза. GPT-3 – это большая языковая модель (LLM), которая умеет только одно: принимать на вход текст и писать к нему продолжение. ChatGPT в свою очередь построен на базе GPT-3, но он еще умеет поддерживать контекст в чате, что является game changer'ом 🏆 (бешеный хайп на ChatGPT подтверждает это, ведь до него, GPT-3 была уже доступна около года, но всем было пох).



Получается, задача сводится к тому, чтобы научить GPT-3 поддерживать контекст. А сделать это очень просто с правильным промптом. Например, таким:





As an advanced chatbot named ChatGPT, your primary goal is to assist users to the best of your ability. This may involve answering questions, providing helpful information, or completing tasks based on user input.



User: What is the meaning of the Nero Burning ROM logo?

ChatGPT:




Далее засовываем это в API в GPT-3 и получаем ответ. Сохраняя вопросы-ответы, мы можем каждый раз вставлять историю диалога в наш промпт, и так GPT-3 будет знать весь контекст. Это работает очень хорошо и почти неотличимо от ChatGPT.



Внизу поделюсь ссылкой на свой репозиторий с телеграм ботом, куда вы сможете вставить OpenAI API ключ и наслаждаться общением с AI в уютном телеграмчике. А первым 10 комметаторам дам доступ в свой поднятный бот (только не обанкротьте меня там, плз 🥲).



P.S.: Если душнить, то ChatGPT в отличии от GPT-3 была дополнительно зафайнтьюнина на диалоговых данных + дообучена на ответах кенийских рабочих за 2$/час разметчиков с помощью RLHF. Но мои тесты показали, что похоже это все нацелено не на улучшение качества и полезности ответов, а на то, чтобы в OpenAI не подали в суд (за то, что их модель с удовольствием рассказывает людям как угнать машину).



*Еще в комменты закину несколько приколюх



🔗 ChatGPT Telegram Bot (GitHub)

🎒 @karim_iskakov