CADOCS is a conversational agent working on the Slack platform and able to use third-party tools to identify and manage community smells in software development communities on GitHub.
Specifically, this is the repository containing the Natural Language Understanding service module to interpret users' intent. The main CADOCS app communicates with this module through an API call.
The main elements of the repository are described below:
- CADOCS.py: This module is responsible to load the NLU models and give predictions
- cadocs_service.py: This is the web services that exposes the model functionalities through HTTP requests
- dataset folder: This is the folder which contains all the datasets used in the project
- jupiter folder: All the Python notebooks created for the project
- requirements.txt: The dependencies needed to execute the module
The entire CADOCS tool is composed of three modules:
- CADOCS link: it is the Slack App used to interact with users.
- CADOCS_NLU_Model (this repository): it is the ML service used to interpret the users' intents.
- csDetector link: the augmented and wrapped version of csDetector, used in our tool to detect community smells and other socio-technical metrics.
- Python version 3.7+
-
Step 1: Local installation of the NLU service (Recommended, using Anaconda)
- Clone the current repository on your system
- In our repository, find the requirements.txt file which contains the dependencies needed
- Create the virtual environment and run the following command: pip install -r requirements.txt
-
Step 2: Use our Model!
- Open the project on your system with the IDE you prefer (We suggest using Visual Studio Code or PyCharm)
- Activate the python environment created in the Step 1 and run the module cadocs_service.py
-
(Optional) Step 3: Test it
- Open your browser
- Make a GET request like follows: http://localhost:5000/predict?message=YOUR_MESSAGE