recommender service build using flask
Go to file
2025-04-23 10:33:28 +08:00
src added .env.example 2025-04-23 10:33:28 +08:00
.gitignore update .gitignore 2025-03-28 17:39:46 +08:00
docker-compose.yml update docker compose file 2025-04-08 17:33:37 +08:00
Dockerfile added Dockerfile and startup.sh 2025-04-07 17:55:00 +08:00
README.md added .env.example 2025-04-23 10:33:28 +08:00
startup.sh update startup.sh 2025-04-08 13:13:35 +08:00

How to Run This Project

1 Create and Activate a Virtual Environment

Run the following command to create a virtual environment:

python -m venv venv

Activate the Virtual Environment

On macOS/Linux:

source venv/bin/activate

2 Install Dependencies

After activating the virtual environment, install the required packages:

pip install -r requirements.txt

3 Run the Flask Application

Once dependencies are installed, start the Flask app by running:

cd src
python app.py

Environment Variables

  1. Copy .env.example to .env
  2. Edit .env and fill in the required values.

File Placement of .env in Development

  • Place the .env file inside src directory.

Example .env File

QDRANT_HOST=localhost
QDRANT_PORT=6333
QDRANT_API_KEY=
QDRANT_HTTPS='true'
QDRANT_SSL_VERIFY= 'false'
QDRANT_CLUSTER=''
QDRANT_COLLECTION_NAME='mocktestdata'
MODEL_FOLDER=
TOKENIZER_FOLDER=

Note for production/docker container:
TOKENIZER_FOLDER and MODEL_FOLDER are only required for local development.

When running the application in a Docker container, these variables are already set in the Dockerfile and do not need to be defined in your .env file.

📥 NLTK Setup for Development

If you are running the application in development mode for the first time, you need to manually download the NLTK resource required for sentence tokenization.

Run the following inside your virtual environment:

import nltk
nltk.download('punkt_tab')

This will download the necessary model and store it on your local machine under:

~/nltk_data