small-cactus / M.I.L.E.S

M.I.L.E.S, a GPT-4-Turbo voice assistant, self-adapts its prompts and AI model, can play any Spotify song, adjusts system and Spotify volume, performs calculations, browses the web and internet, searches global weather, delivers date and time, autonomously chooses and retains long-term memories. Available for macOS and Windows.
https://github.com/small-cactus/M.I.L.E.S
MIT License
113 stars 20 forks source link
ai ai-assistant calculator chatbot customization electron-app gpt-4-turbo home-assistant-integration jarvis-assistant large-language-models llm macos memory openai spotify tts ui voice-assistant voice-recognition windows

Miles - GPT 4 Turbo powered voice assistant

A voice assistant beyond anything that currently exists. Other voice assistants are slow, inaccurate, and just don't work. Miles fixes those problems. Custom trained wake word trained on 50,000 samples, self adapting prompts, a unbelievably realistic voice, and unmatched conceptual language understanding. Welcome to M.I.L.E.S (Machine Intelligent Language Enabled System).

🚀 Download and Installation

Install for macOS 

Install for Windows ⊞

🌟 Core Features

Setup Page

The Setup page walks users through the process of entering their API keys and other necessary configurations for M.I.L.E.S. M.I.L.E.S Setup Page

💡 Tips and Tricks

🔒 Your Privacy Matters

Here is an in-depth look at how Miles ensures your information is safe and secure:

🗣️ Natural Language Commands

Miles is powered by a language model, so no specific commands are needed. Just speak naturally, and he'll understand! For example:

Let your imagination run wild with Miles!

Planned upcoming features with progress %

These are all planned features that will soon be implemented, you'll see the date last updated, and current progress as of that date.

Smart Wake Up

4-30-24 - 10% complete - lots of ideas, plans laid out

  • Say anything to activate Miles
  • It understands context, meaning it won't activate by you just talking
  • Examples: Instead of just saying Miles, you could say "i need help" or "wake up" or "wake up miles" or hi miles, hey miles, okay miles, and miles
  • Annoyance mode: Allows slower but smarter commands, you don't need a wake word at all anymore, just talk when you wanna talk, Miles will always be listening and transcribing background context and conversations to differentiate between a question, task, and if it's directed towards Miles or someone else.
  • I'm highly confident I can recreate the useability of Jarvis from Ironman, where you just talk whenever you want and it works. Although it will be very expensive and very slow, probably 2-7 seconds slower.

Plugins

3-29-24 - 100% complete - finished

  • Allows anyone to add a python function or group of python functions to Miles' tool list.
  • All you have to do is write a python function and follow the correct docstring format

Home Assistant integration

3-29-24 - 100% complete - finished

  • During setup, you can provide your Home Assistant tokens and choose which devices you want Miles to control.

Settings and Config Menu

3-31-24 - 10% complete - extremely hard to do, would have to change every python variable to an import

  • Allows you to change API keys and preferences after setup.

Dynamic Background Learning

3-29-24 - 0% complete - rough ideas in place, still researching

  • Everytime you aren't talking to Miles, he is processing, compacting, and researching your past conversations to learn how to better assist you.
  • Agentic behavior behind the scenes
  • Allowed to set schedules for tasks, learn common commands and at what time you ask them, and act upon them autonomously when trends are strong.

Projection UI

3-31-24 - 100% complete - finished

  • Changes UI to simplistic black background with smooth animations meant for projecting onto a wall

https://github.com/small-cactus/M.I.L.E.S/assets/125771841/b3286b3c-f88b-4315-bbe5-850e8d681e9d

This is a realtime demo of the projection UI with sound (modulated to emulate jarvis, not sure if I will keep it), the black background makes it appear on the wall as if it has a transparent background

🤝 Contribute to Development

Your feedback shapes M.I.L.E.S! Though this is a beta release, I eagerly await your feature requests and issue reports for our final launch on GitHub.

Contact: anthonyhayward1000@gmail.com