https://github.com/coinfabrik/geppetto
Geppetto: Advanced Slack bot using multiple AI models for interactive conversations and creative image generation. Enhances Slack with automated responses and intelligent dialogues, supporting flexible model management and Docker deployment.
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.0%) to scientific vocabulary
Keywords
Repository
Geppetto: Advanced Slack bot using multiple AI models for interactive conversations and creative image generation. Enhances Slack with automated responses and intelligent dialogues, supporting flexible model management and Docker deployment.
Basic Info
- Host: GitHub
- Owner: CoinFabrik
- License: agpl-3.0
- Language: Python
- Default Branch: main
- Homepage: https://deeptechia.io/
- Size: 8.61 MB
Statistics
- Stars: 19
- Watchers: 2
- Forks: 19
- Open Issues: 0
- Releases: 2
Topics
Metadata Files
README.md

Geppetto
DeepTechia, is proud to introduce Geppetto, a versatile Slack bot that seamlessly integrates with various AI models, empowering your team with the power of cutting-edge AI technology 🚀
⭐️ Key Features
- 🔀 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.
🚀 Demo

👨💻 Usage Guidelines
📩 Direct Messages
- Directly messaging the bot does not require mentioning it with "@".
- Each direct message generates a conversation thread.
💬 Slack Channels
- Invoke Geppetto in channel discussions by mentioning it with "@".
🔒 Allowed Users
- Access is granted only to users listed in the allowed users configuration file.
🔀 Switching AI Models
- To switch between ChatGPT, Gemini and Claude include the following commands in your message:
llm_openaito use ChatGPTllm_geminito use Geminillm_claudeto use Claude
📚 Listing all available AI models
- Only type
llmsin your message.
🛠️ Setup and Configuration
🔧 Slack App Configuration
- Modify App:
- Edit
config/manifest-dev.yaml: Adjust fields underdisplay_informationandbot_userto tailor Geppetto for your needs.
- Edit
Create App:
- Go to the Slack API and navigate to Your Apps.
- Click on Create New App.
- Choose Create from manifest, select yaml and paste the contents of the modified
manifest-dev.yamlfile. - Click Next and then Create the application.
Save App Credentials 🗝️
At the Basic Information section:
1. Under the App Credentials subsection, save the following:
- Signing Secret.
2. In the App-Level Tokens subsection:
- Click on Generate Tokens and Scopes.
- Set a Token Name and assign the scope to connections:write.
- Generate and save the App-Level Token for later use (this will be your SLACK_APP_TOKEN).
At the Install App section:
3. Under the Install App to Your Team subsection:
- Save the Bot User OAuth Token (this will be your SLACK_BOT_TOKEN).
- Install or Request the installation of your app to your Workspace (if it requires approval from an owner of your Slack workspace).
Environment Setup
Copy
config/.env.exampleinto a newconfig/.env, and adjust the environment variables accordingly:
- `SLACK_BOT_TOKEN`: Your Slack bot token (This is the Bot User OAuth Token, it should start with 'xoxb').
- `SLACK_APP_TOKEN`: Your Slack application token (This is the App-Level Token, it should start with 'xapp').
- `OPENAI_API_KEY`: Your OpenAI API key.
- `SIGNING_SECRET`: Your Signing secret to verify Slack requests (from your Slack App Credentials).
- `DALLE_MODEL`: The OpenAI DALL-E model.
- `CHATGPT_MODEL`: The OpenAI ChatGPT model.
- `GEMINI_MODEL`: The Gemini model.
- `GOOGLE_API_KEY`: The Google Gemini API key.
- `CLAUDE_MODEL`: The Claude model.
- `CLAUDE_API_KEY`: The Anthropic Claude API key.
🚀 Deployment
Ensure you have Python (3.x), pip, and poetry installed. To deploy Geppetto:
- Clone the repository and navigate to its directory.
- Install dependencies using
poetry install. - Launch the application with
poetry run geppetto.
🐳 Docker Deployment
With Docker and Docker Compose ready:
- Rename
docker-compose.example.ymltodocker-compose.ymland update your config folder location. - Adjust configuration values in
config/.env. - Execute
docker compose buildfollowed bydocker compose up -d.
We published our docker container for download on Dockerhub: https://hub.docker.com/r/deeptechia/geppetto
🧪 Testing
Run the following from the root directory to execute tests:
python -m unittestfor standard testing.python -m unittest -vfor verbose output.
🌐 About DeepTechia
We are DeepTechia, where the future of technology meets today’s business needs. As pioneers in the digital realm, we’ve made it our mission to bridge the gap between innovation and practicality, ensuring that businesses not only survive but thrive in an ever-evolving technological landscape.
Born from a passion for cutting-edge technology and a vision for a digitally integrated future, DeepTechia was established to be more than just a tech consultancy. We are visionaries, strategists, and implementers, dedicated to pushing the boundaries of what’s possible while ensuring real-world applicability.
Over the years, we’ve had the privilege of partnering with over 500 companies from a wide range of industries, guiding them through the intricate maze of digital transformation.
At DeepTechia, we believe in a future where technology enhances every facet of business operations, from efficiency and growth to innovation and customer engagement. Our commitment is unwavering: to provide solutions that are forward-thinking yet grounded, innovative yet practical.
We’re not just your tech consultants; we’re your partners in crafting a digital future that’s bright, secure, and boundless.
📜 License
Geppetto is licensed and distributed under the AGPLv3 license. Contact us if you're looking for an exception to the terms.
Owner
- Name: CoinFabrik
- Login: CoinFabrik
- Kind: organization
- Location: Argentina
- Website: http://www.coinfabrik.com
- Twitter: CoinFabrik
- Repositories: 15
- Profile: https://github.com/CoinFabrik
GitHub Events
Total
- Push event: 1
- Pull request event: 2
Last Year
- Push event: 1
- Pull request event: 2
Dependencies
- actions/checkout v2 composite
- wangchucheng/git-repo-sync v0.1.0 composite
- actions/checkout v2 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- Pillow ^10.1.0
- certifi ^2023.11.17
- openai ^1.4.0
- python ^3.8
- python-dotenv ^1.0.0
- slack-bolt ^1.18.1
- slack-sdk ^3.26.1
- certifi >=2023.11.17
- openai >=1.4.0
- pillow >=10.1.0
- python-dotenv ==1.0.0
- slack-bolt >=1.18.1
- slack-sdk >=3.26.1
- python latest build
- actions/checkout v3 composite
- google-github-actions/auth v0 composite
- google-github-actions/get-gke-credentials v0 composite