Getting Started with Geppetto: Your AI-Powered Slack Bot

Aug 5, 2021 | Educational

Welcome to the world of Geppetto, a versatile Slack bot designed by DeepTechia that integrates effortlessly with various AI models, empowering your team with cutting-edge AI technology. In this article, we will walk you through the essential steps to set up and use Geppetto in your Slack workspace, ensuring seamless communication and collaboration. Let’s dive in!

Key Features of Geppetto

  • Multi-Model Support: Toggle effortlessly between AI models like ChatGPT, Claude, and Gemini to suit your specific requirements. ChatGPT model gpt4-turbo is set as the default model.
  • Access for All: Provide access for everyone in Slack without requiring any additional payment or configuration per user.
  • Streamlined Communication: Initiate dynamic conversation threads by directly messaging Geppetto.
  • Advanced LLM Control: Manage multiple AI models with the advanced LLM controller component.
  • Effortless Setup: Enjoy a smooth setup experience powered by Docker.
  • Creative Image Generation: Unleash the power of DALL-E-3 to generate innovative images directly within your Slack conversations.

Usage Guidelines

Direct Messages

To communicate with Geppetto, simply send a direct message without needing to mention it with @. Each direct message generates a separate conversation thread.

Slack Channels

Invoke Geppetto in channel discussions by mentioning it with @Geppetto.

Allowed Users

Access is granted only to users listed in the allowed users configuration file.

Switching AI Models

To switch between AI models, simply include the following commands in your message:

  • llm_openai to use ChatGPT
  • llm_gemini to use Gemini
  • llm_claude to use Claude

Listing All Available AI Models

To see all available models, type llms in your message.

Setup and Configuration

Slack App Configuration

  1. Modify App:

    • Edit configmanifest-dev.yaml to tailor Geppetto for your needs.
  2. Create App:

    • Go to the Slack API and navigate to Your Apps.
    • Click on Create New App, select Create from manifest, choose YAML, and paste the contents of the modified manifest-dev.yaml file.
    • Click Next and then Create the application.
  3. Save App Credentials:

    • Save your Signing Secret and App-Level Token with connections:write scope for later use.
  4. Environment Setup:

    • Copy config.env.example to config.env, and adjust the environment variables like SLACK_BOT_TOKEN, OPENAI_API_KEY, and others accordingly.

Deployment

Ensure you have Python (3.x), pip, and poetry installed. To deploy Geppetto:

  1. Clone the repository and navigate to its directory.
  2. Install dependencies using poetry install.
  3. Launch the application with poetry run geppetto.

Docker Deployment

If you prefer to use Docker:

  1. Rename docker-compose.example.yml to docker-compose.yml and update your config folder location.
  2. Adjust configuration values in config.env.
  3. Execute docker compose build followed by docker compose up -d.

You can find our Docker container available for download on Dockerhub: Dockerhub.

Testing Geppetto

To execute tests, run the following command from the root directory:

  • python -m unittest for standard testing.
  • python -m unittest -v for verbose output.

Troubleshooting

If you encounter issues while setting up or using Geppetto, here are some troubleshooting ideas:

  • Make sure you have the correct environment variables set up in config.env.
  • Check the permissions for the Slack API app; the bot needs the appropriate scopes to function correctly.
  • Verify that the allowed users are correctly configured in the allowed users configuration file.

For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.

Conclusion

At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

Stay Informed with the Newest F(x) Insights and Blogs

Tech News and Blog Highlights, Straight to Your Inbox