The current NUS-ISS website is targeted at prospective students rather than existing students. It is difficult to search for related information and data pertaining to non-curriculum (such as nearest canteen, nearest facilities) or student guides (student handbooks).
It has been identified that there are already existing NUS-ISS chatbots developed. These NUS-ISS chatbots cannot provide accurate responses to queries and are confined to fixed responses. They only accept limited follow-up questions. These chatbots are also outdated and do not provide easy means for extension. Frequent changes to the NUS-ISS curriculum or information could not be easily updated into the chat system.
In summary, the problems of existing solutions can be summarised in the following points
• Relevancy of information
• Difficulty of updating information
The proposed intelligent chatbot is going to address these gaps of the current NUS-ISS chatbots. The delivery of the MVP (Minimum Viable Prototype) is going to demonstrate the chatbot’s capability of delivering accurate and up-to-date information. The following diagram illustrates the business flow for the proposed solution.
Official Full Name | Student ID (MTech Applicable) | Work Items (Who Did What) | Email (Optional) |
---|---|---|---|
Lee Kah Wai | A0019705H | * Project coordinator for project. * Distribution of work to team * Work on assessment, development of frontend system * Work on assessment, development of endpoint system * System integration for the System * Host application on Azure * Creation of Business Video |
[email protected] |
Wee De Li, Darren | A0269370X | * Technical manager for project * Responsible for all technical aspects and modelling. * Researching and selecting various packages and methodologies to develop a chatbot * Design and implement LangChain * Conduct testing to ensure the accuracy of our chatbot * Identify necessary improvements to enhance system performance. |
[email protected] |
Seow Teck Han, Michael | A0270178B | * Business Manager for this project * Conduct market research on the viability of chatbot systems. * Research and testing on image recognition solutions * Design and develop the image processing subsystem. * In charge of design and planning of test cases * Conduct testing of chatbot system functionalities. * Summarize the objectives and goals of the project into a conclusion. |
[email protected] |
Sankalp | A0226756W | * Release manager for the project * Worked on creating and maintaining the GitHub repository * Researched on large language models to use for question answering. * Researched on technologies to use for the frontend/backend. * Created the template for the final report. * Created the technical video for the project. |
[email protected] |
ChattyISS is already hosted in Azure. However, it is possible to install and run in your local machine. Use an Ubuntu machine or WSL. Ensure that Python3 has been installed in the machine. Download the latest code from Github Navigate to /SystemCode/backend/endpoint folder
Download all the necessary requirements by running the following command. chmod +x install.sh
./install.sh
Setup a cron task to perform daily OCR.
chmod +x cronTask.sh
crontab –e
This will open a table in the default text editor. Add a new line at the bottom of the file and specify the schedule and command to execute.
0 0 * * * cronTask.sh
Retrieve your OpenAI API key from https://platform.openai.com/account/api-keys Navigate to /SystemCode/backend/endpoint/NUS_ISS_chatbot folder Edit chatbot.py, chatbot_gpt4.py and understandingimages_llama.py with your API key.
import os
os.environ[“OPENAI_API_KEY”] = {Your API Key}
Navigate to /SystemCode/backend/endpoint/ folder. Run the backend server using the following command.
python3 main2.py
Verify that the backend server is running by navigating to the link in your preferred web browser as shown above. The following webpage should be shown:
The project report could be found in the ProjectReport folder in this repository.