A Streamlit application that allows users to store and search PDF documents (manuals, reviews, FAQs) for home appliances (washing machines, refrigerators, monitors) using Weaviate as a vector database.
- Upload appliance PDFs and extract text automatically.
- Store metadata (product type, model, brand, document type) in Weaviate.
- Perform semantic search on stored documents using vectorization.
- Authentication support with API key.
Ensure you have Python 3.8+ installed. You can check your version with:
python --version
If not installed, download it from Python's official website.
Run the following commands to set up a virtual environment:
python -m venv venv
source venv/bin/activate # MacOS/Linux
venv\Scripts\activate # Windows
pip install -r requirements.txt
- Go to Weaviate Cloud Console.
- Sign up and create a free sandbox instance.
- Copy the Weaviate URL and API Key from the instance details.
More details: Weaviate Documentation
Alternatively, you can run Weaviate locally using Docker:
docker run -d --name weaviate -p 8080:8080 semitechnologies/weaviate:latest \
--env OPENAI_APIKEY=your_openai_key
More on Weaviate Docker setup: Weaviate Quickstart
Copy the provided .env.sample
file and rename it to .env
:
cp .env.sample .env
Then, update the .env
file with your Weaviate URL and API key.
Once everything is set up, run:
source venv/bin/activate
streamlit run app.py
This will launch the application in your browser.
- Enter a search query to find relevant documents based on semantic similarity.
- Results include document type, product details, and a preview of the text.
To stop the app, press CTRL + C
in the terminal.
To deactivate the virtual environment, run:
deactivate
- 🔥 Improve document classification using AI.
- 📂 Support for more file types.
- 📊 Visualization of stored documents.
This project is licensed under the MIT License.
Pull requests are welcome! Open an issue for feature requests or bugs.
- Weaviate Website: https://weaviate.io/
- Weaviate Cloud Console: https://console.weaviate.io/
- Weaviate Documentation: https://weaviate.io/developers/wcs
- Weaviate Quickstart Guide: https://weaviate.io/developers/weaviate/quickstart
- Python Downloads: https://www.python.org/downloads/
- Streamlit Documentation: https://docs.streamlit.io/
Happy Coding! 🚀