Slack GPT-бот
Этот репозиторий содержит бот Slack GPT на базе Python, который использует модель GPT OpenAI для ответа на вопросы пользователей. Кроме того, бот может извлекать контент из URL-адресов, указанных в сообщении пользователя, и учитывать их содержимое в своем ответе.
Функции
- Извлечение URL-адресов из сообщений пользователей
- Очистка содержимого веб-страницы с URL-адресов
- Интегрируйтесь с GPT-4 OpenAI, чтобы отвечать на вопросы
- Сохранение контекста разговора в многопоточном формате
- Интеграция режима сокетов со Slack
Зависимости
- Python 3.6 или новее
- красивыйсуп4
- натяжной болт
- Slack-SDK
- опенай
- запросы
См. requirements.txt
.
Установка
- Клонируйте этот репозиторий:
git clone https://github.com/alex000kim/slack-gpt-bot.git
cd slack-gpt-bot
- Установите необходимые пакеты:
pip install -r requirements.txt
- Создайте файл .env в корневом каталоге проекта и добавьте ключи API Slack и OpenAI:
SLACK_BOT_TOKEN=your_slack_bot_token
SLACK_APP_TOKEN=your_slack_app_token
OPENAI_API_KEY=your_openai_api_key
Ниже описано, как их получить.
Настройка разрешений в Slack
Прежде чем вы сможете запустить бота Slack GPT, вам необходимо настроить соответствующие разрешения для вашего бота Slack. Выполните следующие действия, чтобы настроить необходимые разрешения:
- Создать Slack-приложение
- Перейдите на панель управления Slack API и щелкните приложение, которое вы создали для этого бота.
- На левой боковой панели нажмите «OAuth и разрешения».
- В разделе «Области действия» вы найдете два типа областей: «Области действия токенов бота» и «Области действия токенов пользователя». Добавьте следующие области в разделе «Области действия токена бота»:
-
app_mentions:read
: позволяет боту читать события упоминаний. -
chat:write
: позволяет боту отправлять сообщения.
- Прокрутите страницу до «Токены OAuth для вашей рабочей области» и нажмите кнопку «Установить приложение в рабочую область». Это создаст
SLACK_BOT_TOKEN
. - На левой боковой панели нажмите «Режим сокета» и включите его. Вам будет предложено «Сгенерировать токен уровня приложения для включения режима сокетов». Создайте токен с именем
SLACK_APP_TOKEN
и добавьте область connections:write
. - В разделе «Затронутые функции» на странице «Режим сокета» нажмите «Подписки на события» и установите для параметра «Включить события» значение «Вкл.». Добавьте событие
app_mention
с областью app_mentions:read
в раздел «Подписаться на события бота» под переключателем.
Использование
- Запустите бота:
- Пригласите бота на желаемый канал Slack.
- Упомяните бота в сообщении и задайте вопрос (включая любые URL-адреса). Бот ответит ответом, принимая во внимание любой извлеченный контент из URL-адресов.
Пример
Примечание. Крайняя дата получения знаний GPT-4 — сентябрь 2021 г., версия 1.2 для scikit-learn была выпущена в декабре 2022 г. ![пример](https://images.downcodes.com/uploads/20241202/img_674d29b98272330.png)