Softlandia background



Bytewax & Softlandia Workshop Recap: Stateful Streaming Slack GenAI RAG Bot

On February 16th, Softlandia and Bytewax ran an engaging online workshop designed to introduce the basics of incorporating AI into Slackbots by utilizing stateful streaming. This free, two-hour session offered a hands-on experience, aimed at teaching participants how to equip their Slackbots with intelligent AI capabilities. 

Leading the workshop were Henrik Nyman, Softlandia's co-founder and software architect with a rich background in system design and programming; Mikko Lehtimäki, another co-founder and data scientist of Softlandia; and Zander Matheson, Bytewax's founder, with extensive data engineering expertise.

The workshop welcomed participants from any operating system — Windows, macOS, or Linux — and centered around using Python 3.11. Organizers made sure everyone had access to necessary resources such as a dedicated Slack workspace and an API key for the AI model, setting everyone up for an interactive session.

The event began with an introduction to the technologies we'd be using. These included Bytewax, a tool for real-time stateful streaming; Qdrant, a database for storing and searching data; and two AI concepts, Large Language Models (LLM) for text generation, and Retrieval Augmented Generation (RAG) for enhancing AI responses with additional information searches. This brief overview helped clarify the tools and concepts for everyone.

Next, we moved into the practical part of the workshop, starting with the installation of Bytewax and Qdrant. The instructors guided participants through each step, ensuring everyone was ready to proceed with the actual development work.

Henrik Nyman guiding the participants through the Slackbot development.

The main project of the workshop involved creating a simple system to handle messages from Slack, differentiating between general statements and specific queries. The main technology enabling this kind of stream data processing was Bytewax, a state-of-the-art stateful streaming Python framework. 

Using YOKOT.AI, the session demonstrated how to either summarize statements or search for detailed answers to queries, applying the LLM and RAG technologies. A clear workflow diagram was provided, illustrating how messages from Slack were processed, analyzed, and responded to.

Finally, the last step was enabling two-way communication where the Slackbot sent responses back to the Slack channel. In the end, the workshop Slack channel was filled with awesome bots that replied to all kinds of questions users asked from them.

The workshop concluded with a live demonstration and a discussion led by Henrik Nyman, Mikko Lehtimäki, and Zander Matheson. This session offered insights into the practical application of the workshop's teachings and provided a glimpse into the future possibilities of AI-enhanced real-time communication.

The workshop struck a balance between simplicity for beginners and depth for those with more experience, ensuring a broad understanding of how to apply AI in real-time communication solutions. For those who attended, the workshop opened up new possibilities for innovation in their work or hobbies. The workshop was recorded and is available on YouTube.

Don't hesitate to contact us if you want to have a similar workshop, internal or public, where we demonstrate how to use your technology to build something awesome!