**CSIT321 Project FYPS1-21** ## Our Refineverse Plugin URL on Hugging Face's Spaces https://huggingface.co/spaces/FYP-S1-21/Refineverse_Plugin ## Our Source code Repository: https://github.com/Nikosgo/FYP-S1-21-Refineverse.git ## Document Collaboration: PRD: https://docs.google.com/document/d/1KzWv19fPhlArzDB4qHAZJvnFYp4dYmLc6hcRYNzQYpo/edit PDD: https://docs.google.com/document/d/1iaCLy5Lp8uQCk9S3xiU3oQ-k3_SXKCMH_BroqT468MI/edit# Progress Report: https://docs.google.com/document/d/1Oz7se17k6ZgRiOpJKM1JsYvRBPzr0PIQNATsm_kHGqw/edit?usp=sharing User Manual: https://docs.google.com/document/d/1Xo8E8Xlls_Kg31RyLLfvCPqADh-9agRHGi-efjHB91k/edit?usp=sharing --- ## IMPORTANT! Rules to follow during development: 1. Only Commit to your own branch/workspace under Source control.(Message..to commit on "your name") 2. Please DO NOT push or commit to "Main" branch (very Important) 3. Before doing anything with code, always select Pull From "Main" under Source Control 4. Make sure you are in your own branch/workspace before doing anything. --- ## SET UP 1. Install Vscode 2. Install XAMPP https://www.apachefriends.org/download.html --- ## In Vscode, before cloning repository: 1. Make sure to install Git https://git-scm.com/downloads (Ignore if Git already installed) 2. Install Git Extension Pack, Extension Pack for Java, Jira and Bitbucket(Atlassian Labs). 3. Install PHP Extensions. ## In Vscode, cloning repository: 1. In New Window, Select "Clone Git Repository..." 2. Copy & paste https://github.com/Nikosgo/FYP-S1-21-Refineverse.git in github url option. 3. Click and select "Clone From github". Do not select clone from URL! 4. Select local repository location as C:\xampp\htdocs (Xampp) 5. Prompt to login in to Atlassian Account, Do so. ## Setting Git Credentials and Access: 1. Select and Open New Terminal under Terminal Tab. 2. Type "cd" command to go root directory of your Git repository. 3. Type and run git config --global user.name "your Github username" 4. Type and run git config --global user.email "your Github email" 5. Type and run git config --global credential.helper wincred to store your Github credentials 6. Type and run git config --list to verify verify that your Git configuration is set up correctly --- ## Selecting Your Branch/Workspace 1. In left Side panel of screen, select Source Control 2. Select the 3 dots next to refresh icon and all the other icons. 3. Select Checkout to origin/yourname --- ## To be done each time before any coding to get most updated version of source codes 1. In left Side panel of screen, select Source Control 2. Select the 3 dots next to refresh icon and all the other icons. 3. Under "Pull,Push" select "Pull From..." 4. Choose "origin/main" --- ## How to push commit to your codes? 1. Under File tab, make sure "Autosave" is checked to automatically save your codes 2. Under Source Control, ensure message box shows "Message (Ctrl+Enter to commit on "yourname") 3. Below blue commit button, under Changes select the "+" sign to stage changes. 4. Write a message for the change and Select blue Commit Button. 5. Select Sync Changes to update local repository. --- ## Setting up a Python Virtual Environment (in VS Code) To run/debug our project's NLP-related Python code, you must first set up a Python virtual environment. Alternatively, you can install the libraries locally on your machine (not recommended). **Important!** At the very least you must have Python installed locally on your machine and the Python extension enabled in VS Code. The library installation commands listed here are meant for Windows machines. Do find the approriate commands for Linux/Mac yourself. When running the virtual environment, you might run into an error intially when running the activate script due to Window's PowerShell. (Ignore if not using a Windows machine) You can rectify this by changing the current execution policy for running scripts. 1. Open up Window's PowerShell (not command prompt!) **as an administrator**. 2. Use Get-ExecutionPolicy to check the current execution policy. 3. If it is "Restricted", set it to either "RemoteSigned" or "Unrestricted" using "Set-ExecutionPolicy RemoteSigned" or "Set-ExecutionPolicy Unrestricted". 4. You can change it back after you are done with the virtual environment using "Set-ExecutionPolicy Restricted". Now you can open up VS Code to create the virutal environment. 1. In VS Code, use the shortcut "Ctrl+Shift+P" to open up the command palette. 2. Search for "Python: Create Environment..." and click it. 3. When asked to pick an enviroment type, choose "Venv". 4. When asked for a Python installation to use you should only have one option listed which is the Python version installed on your machine locally. Choose that option. 5. A notification will appear to show the progress of the environment creation. After creation, a folder will appear in your workplace automatically, and the Python intepreter should be changed automatically. 6. Verify if your Python has been changed to the new environment by looking at the bottom-right of your VS Code. It should say something like "Python 3.11.3 ('venv':venv)". If not, click on it and change it to the correct environment. 7. Now you can start installing the neccessary libraries by opening a new terminal window in VS Code. Navigate to the Terminal tab and choose "New Terminal". The new environment should be reflected in the terminal. 8. Install Pytorch (CPU): Pytorch (CPU): pip3 install torch torchvision torchaudio 9. Install Transformers: pip install transformers 11. These libraries are the bare minimum for running NLP code using HuggingFace's transformers. You can now try running some test code to verify. To note: By default, the virtual enviroment will not be detected as a new change/commit due to the automatically generated .gitignore file. Please **do not** attempt to change this and upload your environment to GitHub as it may cause errors! --- ## Managing your Virtual Environment As the path of the Python installation used to build the environment is user-specific, it cannot be shared. Thus, the virtual environment must be maintained and installed properly by yourself. Feel free to rename your virtual environment anything you want. If you wish to install more libraries to test/debug new features (such as Flask or Beautiful Soup) go ahead. However, do communicate with the team if a new library is being used to enable team members to run your code as well. The final required Python libraries for our project will be included in a requirements.txt file. If for some reason you encounter issues such as library conflicts or errors, feel free to remove your environment and follow the steps to create a new one again. --- ## Installing your libraries 1. Ensure that you have already setup and activated your virtual environment. 2. In the VsCode terminal, type the command "pip install -r requirements.txt" and click enter to allow the system to automatically install all necessary libraries that have been defined in the requirements.txt file in order to run the application. --- ## Creating or Saving a requirements.txt for library installation 1. Ensure that you have already setup and activated your virtual environment. 2. Delete any existing requirements.txt file as the command does not overwrite the text file. 2. In the VsCode terminal, type the command "pip freeze > requirements.txt" and click enter to save all libraries that have already been installed into the requirements.txt file.