This project is a standalone, overpowered VLOOKUP powered by Sentence-BERT. It allows users to perform advanced lookup operations based on natural language input, leveraging the power of Sentence-BERT for semantic understanding.
This app allow users to load CSV or XLSX files and select columns containing natural language data. Once loaded, users can query their data using vague or descriptive phrases, enabling more flexible and intuitive searches through the dataset.
This is how you load files and select the descriptive column:

This is how you navigate files:

This is how you input queries (the dataset is rearranged by similarity):

Make sure you have the following installed:
First, clone the repository to your local machine:
git clone https://github.com/FabioSol/AiLookUp.gitGo to the cloned repository, create the venv and activate it:
cd AiLookUp
python -m venv venv #if you have multiple python versions use py -3.11 -m venv venv
source venv/Scripts/activateUse pip to install the required packages listed in requirements.txt :
pip install -r requirements.txtThis will create and download the necessary files for the app tu run
python -m app.buildAt this point you should be able to run the app in the repo with this command:
python -m appfeel free to load information so your build has it by default or edit the static file for styling
For a single-file standalone:
pyinstaller app/__main__.py \
--onefile \
--add-data "app/model/model;app/model/model" \
--add-data "app/db/data;app/db/data" \
--add-data "app/static;app/static" \
--icon=app/static/logo.ico \
--name AiLookUp \
--noconsoleLet's be real, you don't need a transformer in the same file as your app, and data will not be persistent this way, so for a more reasonable approach, here is the command for one directory:
pyinstaller app/__main__.py \
--add-data "app/model/model;app/model/model" \
--add-data "app/db/data;app/db/data" \
--add-data "app/static;app/static" \
--icon=app/static/logo.ico \
--name AiLookUp \
--noconsoleyour executable file should be in the dist/ directory
Anyway, running torch this way is kind of slow, so if this repo gains some visibility, I might change the model part to run without dependencies.