seratch/ChatGPT-in-Slack

Swift demonstration of how to build a Slack app that enables end-users to interact with a ChatGPT bot

What it solves

This project provides a way to integrate ChatGPT and DALL-E 3 into a Slack workspace, allowing users to interact with AI models directly within their communication tool. It eliminates the need to switch between Slack and the OpenAI web interface, facilitating better collaboration on writing, planning, and proofreading tasks.

How it works

The app acts as a bridge between Slack and the OpenAI API. It supports three primary interaction interfaces:

  • Channel Threads: Users can mention the bot to start a conversation, and the bot maintains context within that specific thread.
  • Direct Messages: Users can have private 1:1 conversations with the bot.
  • Home Tab: A dedicated space for configuring API keys, model settings, and using quick-access tools like a proofreader or a general prompt sender.

Who it’s for

Individuals and teams using Slack who want to leverage LLMs for productivity, as well as corporate environments that require self-hosting the app on their own infrastructure for data confidentiality.

Highlights

  • Contextual Memory: Remembers previous messages within the same Slack thread.
  • ** uma DALL-E 3 Integration**: Supports image generation via prompts.
  • Flexible Deployment: Can be run locally or deployed via Docker using Socket Mode, removing the requirement for a public URL.
  • ** uma Customization**: Supports system prompts (priming instructions) to define the bot's purpose, such as turning it into a dedicated proofreader.
  • Azure OpenAI Support: Compatible with Azure OpenAI v1 API.

Related

  • Project
  • Project
  • Project
  • Dispatch
  • Project