Click on the image below to view the demo.
A powerful application for searching through handwritten documents using advanced Vision Language Models (VLM) and vector search capabilities. This project combines state-of-the-art OCR using Qwen-VL with efficient vector search using LanceDB.
- OCR powered by Qwen2-VL-2B-Instruct model
- Vector embeddings generation using Jina Embeddings (jinaai/jina-embeddings-v2-base-en)
- Efficient vector search using LanceDB
- Streamlit-based user interface with integrated API functionality
- Python 3.11 or higher
- Poetry for dependency management
Install dependencies using Poetry:
poetry install
Run the Streamlit application:
poetry run streamlit run search-handwritten/main.py
- Process Images: Upload and process handwritten documents
- Search: Search through processed documents using natural language queries
- Data Management: Clear and manage your document database
- Qwen2-VL: Vision Language Model for OCR
- Jina Embeddings: For generating text embeddings
- LanceDB: Vector database for efficient similarity search
- Streamlit: For building the user interface
- Poetry: Dependency management and packaging