Заявление: Большинство статей в этом общедоступном аккаунте взяты из ежедневных учебных заметок автора, а некоторые статьи переизданы с разрешения автора и других белых списков общедоступного аккаунта. Несанкционированная перепечатка строго запрещена. Если вам необходимо перепечатать, свяжитесь с Kaibai. Пожалуйста, не используйте соответствующие технологии, описанные в статье, для участия в незаконном тестировании. Любые вытекающие из этого неблагоприятные последствия не имеют никакого отношения к автору статьи и этому публичному аккаунту. |
---|
Введение
ChatGPT в последнее время стал популярен во всем Интернете благодаря своим мощным возможностям диалога и интеграции информации. Он может писать код, редактировать статьи, рассказывать истории и является почти всемогущим. Это заставляет людей задуматься о том, можем ли мы использовать его модель диалога для интеграции. наш WeChat Создайте умного робота, который сможет давать неожиданные ответы при общении с друзьями, и нам больше не придется беспокоиться о том, что наши подруги влияют на нас. играть в игры Работало.
Чат-робот WeChat на основе ChatGPT генерирует контент разговора через интерфейс ChatGPT и использует itchat для получения и автоматического ответа на сообщения WeChat. Реализованные функции следующие:
Поддержка ChatGPT: https://github.com/openai/openai-python
itchat: https://github.com/littlecodersh/ItChat
Текстовый разговор: получайте сообщения WeChat в частных чатах и группах.,UseChatGPT генерирует содержимое ответа,Полный автоматический ответ
Настройка правил: подтверждение запускает автоматические ответы в соответствии с указанными правилами в частных чатах, подтверждение устанавливает белый список автоматических ответов для групп.
Несколько учетных записей: поддержка Несколько учетных записей WeChat одновременно.
Генерация изображения: поддержание генерирует изображения на основе описаний и автоматически отправляет их в личный кабинет. чат или групповой чат
Контекстная память: поддерживает несколько раундов памяти разговоров и поддерживает независимые контекстные разговоры для каждого друга.
Распознавание голоса: подтверждение получает и обрабатывает голосовые сообщения в виде текстового характера или голосового ответа.
быстрый старт
Подготовить
Перейдите на страницу регистрации OpenAI, чтобы создать учетную запись. Обратитесь к этому руководству, чтобы получить код подтверждения через виртуальный номер мобильного телефона.
После создания учетной записи перейдите на страницу управления API, создайте ключ API и сохраните его, затем этот ключ понадобится вам в разделе «Конфигурация» проекта.
Страница регистрации OpenAI:https://beta.openai.com/signup
Учебное пособие:https://www.pythonthree.com/register-openai-chatgpt/
Страница управления API:https://beta.openai.com/account/api-keys
Модель разговора, используемая в проекте: davinci,способ оплаты указан примерно за 750 Характер (Содержит запросы и ответы) потреблять $0.02,Генерация изображенийкаждыйпотреблять $0,016, создание аккаунта бесплатно. $18 После использования квоты вы можете изменить свой адрес электронной почты и зарегистрироваться снова.
поддерживать Linux、MacOS、Windows система (может быть установлена на Linux-сервере в течение длительного времени), и ее необходимо установить одновременно Python。
Примечание:предположениеPythonверсия в 3.7.1~3.9.X между версиями 3.10 и выше находятся в MacOS Доступно, не уверен, что оно работает корректно в других системах.
Клонировать код проекта:
git clone https://github.com/zhayujie/chatgpt-on-wechat
cd chatgpt-on-wechat/
Установите необходимые основные зависимости:
pip3 install itchat-uos==1.5.0.dev0
pip3 install --upgrade openai
Примечание:itchat-uosиспользовать Укажите версию1.5.0.dev0,openai использовать последнюю версию,Должно быть выше 0.27.0.
Шаблон файла конфигурации находится в файле config-template.json в корневом каталоге. Этот шаблон необходимо использовать для создания окончательного документа config.json:
cp config-template.json config.json
Затем заполните Конфигурацию в config.json.,Ниже приведено описание конфигурации по умолчанию.,При необходимости могут быть внесены индивидуальные изменения:
# Пример содержимого файла config.json
{
"open_ai_api_key": "YOUR API KEY", # Заполните OpenAI API KEY
"proxy": "127.0.0.1:7890", # IP-адрес и порт прокси-клиента
"single_chat_prefix": ["bot", "@bot"], # При личном общении текст должен содержать этот префикс, чтобы вызвать ответ робота.
"single_chat_reply_prefix": "[bot] ", # Префикс автоматического ответа во время приватного чата, используемый для распознавания реальных людей.
"group_chat_prefix": ["@bot"], # Включение этого префикса в групповой чат приведет к ответу робота.
"group_name_white_list": ["Тестовая группа ChatGPT", «Тестовая группа ChatGPT 2»], # Включить список имен групп автоответчика
"image_create_prefix": ["рисование", "смотреть", «попробуй найти»], # Включить префикс для ответов с картинками
"conversation_max_tokens": 1000, # Максимальное количество символов характера для поддержки контекстной памяти
"character_desc": «Вы ChatGPT, Большая языковая модель, обученная OpenAI, Вы стремитесь отвечать и решать любые вопросы, которые возникают у людей, и можете общаться с людьми на нескольких языках. " # Описание личности
}
Если эта машина разрабатывает локальный проект, выполните непосредственно в корневом каталоге проекта:
python3 app.py
После того, как терминал выведет QR-код, используйте WeChat для сканирования кода. "Start auto replying" указывает на то, что автоответчик прошел успешнобегать Понятно(Уведомление:WeChat, используемый для входа в систему, должен пройти аутентификацию по настоящему имени в платежном офисе.)。
После сканирования QR-кода для входа ваша учетная запись станет роботом. Вы можете запускать автоматические ответы с помощью ключевого слова Конфигурация на мобильном телефоне WeChat (Любой друг может отправить вам сообщение, или вы можете). отправить сообщение другу самостоятельно), см. №142.
использовать команду nohup в фоновой программе запуска:
touch nohup.out # В первый раз необходимо создать новый файл журнала.
nohup python3 app.py & tail -f nohup.out # запустить программу в фоновом режиме и вывести QR-код через журнал
После сканирования QR-кода для входа программу можно запустить в фоновом режиме сервера.,На этом этапе вы можете закрыть журнал, нажав ctrl+c.,запуск не повлияет на фоновые программы.
использовать ps -ef | grep app.py | grep -v grep Команда может просматривать процессы, работающие в фоновом режиме. Если вы хотите перезапустить программу, вы можете сначала перезапустить ее. kill Отмените соответствующий процесс.
Если после закрытия журнала вы хотите открыть его снова, просто введите Tail -f nohup.out. В каталоге scripts/ имеются соответствующие скрипты, которые можно вызвать
Уведомление: Если после сканирования кода мобильный телефон предложит, что для подтверждения входа необходимо подождать 5 секунд, а QR-код терминала снова обновится и предложит Log in time out, reloading QR код, пожалуйста, обратитесь к этому issue Эту проблему можно решить, изменив одну строку кода.
Несколько учетных записейподдерживать: Сделайте несколько копий проекта, копируйте, запускайте программы отдельно и сканируйте QR-код, чтобы войти в систему под разными учетными записями и добиться одновременной обработки.
Особые инструкции: Пользователь отправляет робота #очистить память Это очистит контекстную память пользователя.