recommender-service-flask/README.md

77 lines
1.7 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## How to Run This Project
### 1⃣ Create and Activate a Virtual Environment
Run the following command to create a virtual environment:
```sh
python -m venv venv
```
### Activate the Virtual Environment
**On macOS/Linux:**
```sh
source venv/bin/activate
```
### 2⃣ Install Dependencies
After activating the virtual environment, install the required packages:
```sh
pip install -r requirements.txt
```
### 3⃣ Run the Flask Application
Once dependencies are installed, start the Flask app by running:
```sh
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**
```ini
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:
```ini
import nltk
nltk.download('punkt_tab')
```
This will download the necessary model and store it on your local machine under:
```
~/nltk_data
```