Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refact the backend code to make it more modular and allow for easy plugin integration in the future #40

Open
snowyu opened this issue Dec 10, 2023 · 3 comments

Comments

@snowyu
Copy link
Contributor

snowyu commented Dec 10, 2023

Currently, there are 3 backend components: chat, text-to-speech (TTS), speech-to-text (STT). Also, a storage backend is needed and the UI could be considered as a special fifth backend component too.

  • Chat
  • TTS(text-to-speech)
  • STT(speech-to-text)
  • Storage
  • UI(Optional)

IMO, all interfaces in the future are only auxiliary, and all interfaces should be able to be called by talking to the bot.

@snowyu
Copy link
Contributor Author

snowyu commented Dec 15, 2023

@kasumi-1 Currently the back-end code is split in different directories, so the first step is to put them in the same directory, such as:

chatbot/
   llamacpp/
   openai/
tts/
   coqui/
   openaiTTS/
...

And the UI interface should be changed from the modal dialogue box to the modeless dialogue box: Users can use chat commands to operate the interface at the same time.

@kasumi-1
Copy link
Contributor

@snowyu agree! But, what do you mean by modeless dialogue box? Like, implementing slash commands or something?

@snowyu
Copy link
Contributor Author

snowyu commented Dec 15, 2023

A modeless dialog box (also known as non-modal) is a type of user interface element that allows users to interact with it without interrupting their current task or session. This means that while the dialog box is open, the rest of the application remains accessible and responsive.

implementing slash commands

Yes, exactly. You can type slash command to open UI or change the config in the UI.
The next step is that the bot should analyze user intent and automatically call slash commands based on those intentions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants