A customer support intelligence API that interprets customer requests in the form of text
and through the use of AI automate workflows predicts the category & confidence score
of the request and generates a one-sentence summary.
- Django + Django Ninja
- AI workflows using Bert classification & T5 summarization
- PostgreSQL database
- Celery + RabbitMQ Async workflow
- Gunicorn + Nginx Production setup
- Dockerization, Entrypoint & .env file
- Linting, Type Checking & Pytest
git clone https://github.com/JonathanB-96/Customer-Support-Intelligence.git
cd Customer-Support-Intelligence
python -m venv api
source api/bin/activate
pip install -r requirements/base.txt
Important: Pre-trained models; bert-helpdesk-classifier & t5-helpdesk-summarize are not included in
the repository, please request for them separately.
When setting local development for the first time update local.env file & run:
./run.sh build_local
If already built run:
./run.sh run_local
API should be up and running see: http://0.0.0.0:8000/api/docs for further access.
If adding or making changes to dependencies make sure to run:
./run.sh requirements
to update the requirements .txt files & re-build.
Similarly for production development update prd.env file while ensuring that the following field is set:
DJANGO_CSRF_TRUSTED_ORIGINS=http://localhost:1337
due to nginx app
& run:
./run.sh build_prd
Otherwise:
./run.sh run_prd
See http://localhost:1337/api/docs.
For Linting, Type Checking & Pytest run:
./run.sh run_test
For further information on how to operate the run script see:
./run.sh help