| ## 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. |