LTUAssistantPlus is a voice-controlled AI assistant created specifically for use by LTU students.
This is a continuation of the LTUAssistant project, with a modernized code base and added FAQ functionality.
LTUAssistantPlus has direct dependencies on the following packages:
See the requirements.txt
file for a complete listing of needed pip packages.
Note: These instructions are all given for Windows.
This project needs additional setup for Neo4j, run as the local database. You will need the following prerequisites for it:
- Chocolatey (an application package manager for Windows)
- A Java 1.8 runtime environment (JRE)
Once the above are installed on your machine, run the following command in an elevated PowerShell prompt to install Neo4j Community Edition (based on this blog post):
choco install neo4j-community -version 3.5.1
After this, you will also need the project's direct dependencies. For instance, you will need Python installed. This project has been tested with Python 3.6.8 64-bit on Windows 10.
In a command prompt, navigate into the cloned project directory and run:
python -m venv .venv
.venv\Scripts\activate
python -m pip install -r requirements.txt
Navigate to the Neo4j installation directory (if you used the Chocolatey
command above, this is likely
C:\tools\neo4j-community\neo4j-community-3.5.1
).
Before you start the server for the first time, you need to set the password. Run the following command (you only ever need to do this once):
bin/neo4j-admin set-initial-password password
Also, for running Neo4j locally, you may have to change the following property
in your neo4j.conf
file in the conf
subfolder of the installation
directory to disable HTTPS (we only need HTTP and Bolt here):
dbms.connector.https.enabled=false
Then start the server:
bin\neo4j console
The above will allow the assistant to connect to the database using the Bolt
driver endpoint on port 7678, with username neo4j
and password password
.
In another command prompt, navigate to the project's top-level directory, then run:
python .\LTUAssistantPlus\LTUAssistant.py
The assistant will greet you after the NLP pipeline initializes. Once you see
the phrase Say something!
in the terminal, you may speak your command and
wait for the assistant to process it.
Notes:
- Currently, the assistant can only process one command per session. To have it execute another command, you need to restart the script.
- The assistant's data will be stored in the
~/.LTUAssistant
directory on your computer.
LTUAssistantPlus organizes what it can do into multiple skills, each of which is dedicated to handling one particular task. Here are some things you can say to the assistant to try out its capabilities.
- "Schedule an event."
- "Plan an event."
- "Remind me about an event."
- "Use a male voice."
- "Use a female voice."
- "Call me Bob."
- "Go to BannerWeb."
- "Open Gmail."
- "Find room S108."
- "Send an email."
- "Compose an email to [email protected]."
- "Tell me the date."
- "What is the current date?"
- "What is my schedule?"
- "Tell me the time."
- "What is the current time?"
This project includes some unit tests. To run all tests, navigate into the
LTUAssistantPlus
directory under the project root, then run this command:
python -m unittest discover -v
This project is made available under the MIT license. Please see the LICENSE file in the project root directory for details.
License notices for third-party software libraries this project uses are listed in the THIRD_PARTY_NOTICES.txt file for reference.
This was a project by Christopher Horton and Mengyi Chen for Lawrence Technological University's Collaborative Research Project 2 course during the Fall 2019 semester. It was done under the supervision and guidance of Dr. Paula Lauren.