## README for `Content Base Filtering` Feature ### Overview This FastAPI application performs content-based filtering using embeddings from a serialized dataset. ### Requirements To run this application, you need to install the dependencies listed in `requirements.txt`. Use the following command: ```bash pip install -r requirements.txt ``` ### Data The application uses a serialized dataset stored in `data_compressed.pkl`. This file contains embeddings and IDs. To deserialize this file, use the `joblib` library as shown in the code: ```python embd_id = joblib.load('data_compressed.pkl') ``` ### API The application exposes a single endpoint `/search` that accepts a JSON body with a `user_search_query` field. **Input:** ```json { "user_search_query": "user search query here" } ``` **Output:** A list of original IDs of the listings that match the search query. ### Running the Application To run the application, use the following command: ```bash uvicorn content_base_filtering:app --host 0.0.0.0 --port 8000 ``` ### Usage 1. Send a POST request to `http://localhost:8000/search` with a JSON body containing your search query. 2. The application will return a list of original IDs of the listings that match the search query. Note: Make sure to replace the `openai.api_key` and `openai.api_base` variables with your actual OpenAI API credentials.