Complete and extensible human to AI interface
talk2robots is an extensible human to AI interface. It is a framework that allows you to easily create your own chatbot, voice assistant, or any other kind of AI interface. It is designed to be easy to use and to extend.
in Telegram: https://t.me/gienjibot
in Slack:
- General Features
- Telegram Features
- Slack Features
- Admin Features (via Telegram System bot)
- Development in GitHub Codespaces
- Deploy and enjoy
- Architecture overview
- Telegram bot
- Slack integration
- Discord bot
- Voice/Audio/Video prompt (OpenAI Wisper)
- Cache persistent layer (Redis)
- System health check and analytics (DataDog)
- Business analytics integration (DataDog)
- Alarm system/notifications integration (Telegram System Bot, DataDog)
- Support/feedback system (likes/dislikes)
- Payment system integration (Stripe)
- Video/Audio transcription
- Video/Audio summary
- Voice response (OpenAI TTS)
- Threads, i.e. context awareness and memory (OpenAI Assistant Threads)
- Image recognition
- Image generation
- Chat with state of art ChatGPT models
/chatgpt
. The bot remembers the context of the conversation until you say/clear
. - Voice support, just send a voice message in any popular language
-
/voicegpt
for full voice experience, i.e. voice prompt and voice reply (with OpenAI TTS) -
/grammar
mode just to correct grammar -
/teacher
mode to correct and explain grammar -
/transcribe
voice/audio/video messages -
/summarize
text/voice/audio/video messages - Upgrade subscription
/upgrade
. Three subscription plans are available:- Free - limits to $0.05/month of AI usage (text and audio)
- Free+ - limits to $0.25/month AI usage (just to test the system and conversion rates)
- Basic - $9.99/month, limits to $9.99/month AI usage
- Cancel subscription
/downgrade
- Get user status (usage, limits etc)
/status
- Get
/support
- View terms
/terms
- pin language for transcription and voice recognition by adding 'language' parameter to a command, e.g.
/transcribe hebrew
. Useful when translation of transcripts is needed or when studying a foreign language.
While in groups context:
- the bot will only reply when mentioned (so commands should be suffixed with @gienjibot, e.g.
/upgrade@gienjibot
) - in /transcribe and /grammar modes, the bot will react to all messages to either transcribe audio or correct grammar.
gienji-telegram.mov
- Chat in DM, private and public channels and/or threads
- Chat with GPT-3.5
/chatgpt
. The bot remembers the context of the conversation until you say/clear
. - Use
/grammar
mode just to correct grammar, you can also add ๐ emoji to a message to get grammar correction reply - Summarize message thread by adding ๐ emoji to a message
- Use
/teacher
mode to correct and explain grammar - Upgrade subscription
/upgrade
, only free subscription is available at the moment:- Free - limits to $0.05 AI usage
- Free+ - limits to $0.25 AI usage (just to test the system and conversion rates)
- Cancel subscription
/downgrade
- Get user status (usage, limits etc)
/mystatus
- Get
/support
- View terms
/terms
slack-gienji-720.mov
- Get system status
/status
- Ban/Unban user
/banuser
/unbanuser
- Reset Stripe subscription for a user
/stripereset
- Reset usage for a user
/usagereset
- Get user info
/user
- Get users count
/userscount
- Get users count for a subscription
/usersforsubscription
graph LR
subgraph "User"
O[User]
X[Admin]
end
subgraph "Client"
T[Telegram]
S[Slack]
end
Client <-.-> User
Client <--> A[Backend]
subgraph "DigitalOcean"
A[Backend] --> F[Redis]
A[Backend] --> B[MongoDB]
end
subgraph "Dependencies"
D[OpenAI API]
E[FireworksAI API]
P[DataDog]
N[Stripe]
end
A[Backend] <--> D[OpenAI API]
A[Backend] <--> E[FireworksAI API]
A[Backend] -.-> P[DataDog]
A[Backend] <-.-> N[Stripe]
- Setup Telegram bot - https://core.telegram.org/bots#6-botfather and save in the repo/Codespace secrets as
TELEGRAM_BOT_TOKEN
- Setup OpenAI API key - https://platform.openai.com/account/api-keys and save in the repo/Codespace secrets as
OPENAI_API_KEY
- Setup FireworksAI API key - https://fireworks.ai/api-keys and save in the repo/Codespace secrets as
FIREWORKS_API_KEY
-
Fork the repository
-
Start a Codespace
-
Make port 80 of the Codespace public, guide.
-
Run the following command inside the Codespace:
$ make start
-
Try accessing backend
$ curl http://localhost/health
- Setup DO CLI - https://docs.digitalocean.com/reference/doctl/how-to/install/
- Setup DigitalOcean PAT - https://docs.digitalocean.com/reference/api/create-personal-access-token/ and save in the repo secrets as
DO_PAT
- Setup Stripe CLI - https://stripe.com/docs/stripe-cli#install