Introducing a transformative app for Slack users, specifically designed to enhance your communication with ChatGPT! This app enables seamless interaction with ChatGPT via Slack channels, optimizing your planning and writing processes by leveraging AI technology.
Discover the app's functionality by installing the live demo from https://bit.ly/chat-gpt-in-slack. Keep in mind that the live demo is personally hosted by @seratch. For corporate Slack workspaces, we strongly advise deploying the app on your own infrastructure using the guidelines provided below.
If you're looking for a sample app operating on Slack's next-generation hosted platform, check out https://github.com/seratch/chatgpt-on-deno 🙌
You can interact with ChatGPT like you do in the website. In the same thread, the bot remember what you already said.
Consider this realistic scenario: ask the bot to generate a business email for communication with your manager.
With ChatGPT, you don't need to ask a perfectly formulated question at first. Adjusting the details after receiving the bot's initial response is a great approach.
Doesn't that sound cool? 😎
To run this app on your local machine, you only need to follow these simple steps:
#
Create an app-level token with connections:write scopeexport
SLACK_APP_TOKEN=xapp-1-...#
Install the app into your workspace to grab this tokenexport
SLACK_BOT_TOKEN=xoxb-...#
Visit https://platform.openai.com/account/api-keys for this tokenexport
OPENAI_API_KEY=sk-...#
Optional: gpt-3.5-turbo and gpt-4 are currently supported (default: gpt-3.5-turbo)export
OPENAI_MODEL=gpt-4#
Optional: Model temperature between 0 and 2 (default: 1.0)export
OPENAI_TEMPERATURE=1#
Optional: You can adjust the timeout seconds for OpenAI calls (default: 30)export
OPENAI_TIMEOUT_SECONDS=60#
Optional: You can include priming instructions for ChatGPT to fine tune the bot purposeexport
OPENAI_SYSTEM_TEXT="
You proofread text. When you receive a message, you will checkfor mistakes and make suggestion to improve the language of the given text
"
#
Optional: When the string is "true", this app translates ChatGPT prompts into a user's preferred language (default: true)export
USE_SLACK_LANGUAGE=true#
Optional: Adjust the app's logging level (default: DEBUG)export
SLACK_APP_LOG_LEVEL=INFO#
Optional: When the string is "true", translate between OpenAI markdown and Slack mrkdwn format (default: false)export
TRANSLATE_MARKDOWN=true#
Optional: When the string is "true", perform some basic redaction on propmts sent to OpenAI (default: false)export
REDACTION_ENABLED=true#
To use Azure OpenAI, set the following optional environment variables according to your environment#
default: Noneexport
OPENAI_API_TYPE=azure#
default: https://api.openai.com/v1export
OPENAI_API_BASE=https://YOUR_RESOURCE_NAME.openai.azure.com#
default: Noneexport
OPENAI_API_VERSION=2023-05-15#
default: Noneexport
OPENAI_DEPLOYMENT_ID=YOUR-DEPLOYMENT-ID#
Experimental: You can try out the Function Calling feature (default: None)export
OPENAI_FUNCTION_CALL_MODULE_NAME=tests.function_call_example python -m venv .venvsource
.venv/bin/activate pip install -r requirements.txt python main.py
Confidentiality of information is top priority for businesses.
This app is open-sourced! so please feel free to fork it and deploy the app onto the infrastructure that you manage.
After going through the above local development process, you can deploy the app using Dockerfile
, which is placed at the root directory.
The Dockerfile
is designed to establish a WebSocket connection with Slack via Socket Mode.
This means that there's no need to provide a public URL for communication with Slack.
You're always welcome to contribute! 🙌 When you make changes to the code in this project, please keep these points in mind:
app/markdown.py
etc.) and add/edit the code that do not call any web APIs, writing tests should be relatively easy../validate.sh
. The script runs black (code formatter), flake8 and pytype (static code analyzers).The MIT License
For more information add chatgpt to slack, please get in touch with us!