Skip to content

radiantspace/talk2robots

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

talk2robots

Complete and extensible human to AI interface

What is talk2robots?

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.

Try it

in Telegram: https://t.me/gienjibot

in Slack:

Add to Slack

πŸ“ Table of contents

General Features

  • 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

Telegram Features

  • 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.

Telegram bot in action

gienji-telegram.mov

Slack Features

  • 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 bot in action

slack-gienji-720.mov

Admin Features (via Telegram System bot)

  • 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

πŸ—οΈ Architecture overview

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]


⛏️ Development in GitHub Codespaces

Requirements

Start local development environment

  • 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

πŸš€ Deploy and enjoy

DigitalOcean Requirements

Stripe Requirements

About

Complete and extensible human to AI interface

Topics

Resources

License

Stars

Watchers

Forks

Languages