Skip to content

Alexcmad/virtual-assistant

Repository files navigation

A virtual assistant powered by GPT-3.5 in python (eventually)(It is now)

To-do List of Features:

  • Opening and closing applications.✅
  • Setting reminders
  • Fetching reminders
  • Sending emails✅
  • Fetching Emails ✅
  • Writing in txt files
  • General Searching✅
  • Voice controls✅
  • Voice activation✅
  • Text to speech
  • Small talk
  • Calendar Management
  • Todo list✅
  • Translation✅
  • spotify controls✅
  • typing, scrolling, pressing enter✅
  • pushing to git

DEMOS:

Date: 10/4/2023

AI.ASSISNTANT.MK1.mp4
forgot.this.mp4

image

image

image

Date: 11/4/2023

image User has the choice to use either the fine-tuned model or GPT3.5-Turbo.

GPT3.5-Turbo:
  • uses more tokens per command
  • can be provided with conversation history to allow it to use context clues when interpreting natural language
  • may very occasionally refuse commands or say 'okay, [carrying out command]' which is not valid command format
  • in the above event, conversation history can be manually reset with the command 'reset' or 'thank you' or 'thanks'
  • conversation history automatically resets after a certain amount of commands

Fine-tuned GPT3-Davinci (as of today):

  • uses much less tokens per command
  • however, as a trade off, training the model uses a great deal of tokens. In the future, additional training should only be done when commands get added to save money
  • no conversation history
  • very concise and only ever gives more than us required of it
  • will not refuse commands, but may misinterpret them if the intention is not clear
  • probably faster but needs a lot of training data to be as accurate as Turbo.

In all I prefer using turbo for the more natural interaction with message history, but in the later stages of this project I may train a really good davinci (or other) model and use it instead for the sake of my wallet. Don't know how training a turbo model would even work but it would be interesting to use if they make that possible.

Date 12/4/2023 🎂

image

image

Date 21/4/2023

At first, the assistant would write then send the email immediately:

email.demo.mp4

image

image

However, I realized this wasn't really practical because you need to review emails before you send them, so I split the command into "write email" and "send email":

image

image

image

image

Date 29/4/2023

Reading.Emails.mp4

SO it can read my emails from Gmail now. It's able to search through a range of emails (i set this to 50) within a range of days (set it to 3) If the content of the email is in an unreadable format (not plain text) then it doesn't attempt to read it because I can't read it. IF the openAI API were free (or like way cheaper) I would just throw all the output to it and let it parse it and talk to me as well as save all the information about the emails in the history. Currently everything is stored in a TinyDB, so chatGPT doesnt even know what they are. I want to change this, even though i know it's going to cost alot :(

About

A virtual assistant powered by GPT-3.5

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages