Skip to content

Ankit357911/MiQ

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

MiQ

MiQ, short for Machine Instruction Query, is a desktop assistant that combines a Java Swing client with a FastAPI backend. The project focuses on voice-driven interaction, intent classification, shortcut management, and local AI-assisted responses.

Highlights

  • Voice-triggered desktop assistant flow
  • Intent detection for actions such as open, add, remove, list, chat, and exit
  • User shortcut management backed by a database
  • Local chat integration support for private/offline experimentation
  • Java desktop UI paired with a Python AI/API backend

Architecture

  • frontend/: Java 21 Swing desktop app
  • backEnd/: FastAPI backend, database access, and AI integration

Tech Stack

  • Frontend: Java 21, Maven, Vosk, JNativeHook
  • Backend: Python, FastAPI, SQLAlchemy, Transformers, RapidFuzz
  • Local AI tooling: Hugging Face Transformers, optional GGUF chat model flow

Running Locally

Backend

  1. Create and activate a Python virtual environment.
  2. Install dependencies:
cd backEnd
pip install -r ai/requirements.txt
  1. Start the API server:
uvicorn main:app --reload

If you have a locally exported intent model, point the app to it with MIQ_MODEL_DIR. Chat GGUF assets can be downloaded locally with the helper in backEnd/ai/download_chat_model.py.

Frontend

  1. Install Java 21 and Maven.
  2. Add any local runtime assets you want to use under frontend/lib/ such as Vosk models and optional jars.
  3. Start the desktop app:
cd frontend
powershell -ExecutionPolicy Bypass -File .\run-dev.ps1

The included icon and activation sound now load from the project directory instead of a machine-specific path.

Repo Notes

  • Dataset files are intentionally excluded from version control.
  • Large trained model folders, generated output, IDE files, and caches are ignored.
  • Some runtime assets are expected to be restored locally instead of being committed.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages