Salesman: A Multilingual Semantic Search Vectors Gadgets Recommendation Application
Salesman is a gadgets recommendation application that uses multilingual semantic search vectors to help users find the perfect gadgets for their needs. The application allows users to input their desired specifications and preferences, and returns a list of laptops that match those criteria. Salesman uses advanced AI and machine learning algorithms to provide accurate and personalized laptop recommendations to users.
To install Salesman, follow these steps:
NOTE: You would need to have python version 3.10 upwards installed.
git clone https://github.com/mcsavvy/salesman.git
cd salesman
pipenv install
pipenv run salesman interactive
# limit the number of output (default: 5)
pipenv run salesman interactive --limit 10
# produce output in json format
pipenv run salesman interactive --json
pipenv run salesman web
# You can optionally specify host and port
pipenv run salesman web --host 0.0.0.0 --port 80
If you would like to contribute to Salesman, please go through this first.
Salesman is licensed under the MIT license. See the licence file for more information.
If you have any questions or concerns about Salesman, please contact any of the developers.
We used Cohere to do a series of tasks:
-
To classify gadgets. Check here to see what and what was classified.
-
To summarize different details of a gadget into one complete paragraph.
-
To embed payloads.
-
To embed queries.
We used Qdrant in the following ways:
-
Qdrant acted as a host for our embeddings and also the payload data.
-
Qdrant also did vector search and filtering based on queries.
Flask was used to serve our api.
Rich was used to display colorful content and beautiful layouts of data in the terminal.
Click was used to create the amazing commandline interface.
For the initial fetching of data Requests came to the rescue. However, as we needed to go faster, we had to use Aiohttp