A modern web application that combines image gallery functionality with an AI-powered chatbot interface. This project allows users to upload, view, and interact with images while engaging in natural conversations about the visual content.
- Image Gallery: Browse and view uploaded images in an organized gallery interface
- Image Upload: Support for uploading and managing images
- AI Chatbot: Interactive chatbot that can discuss and analyze images
- Modern UI: Clean and responsive user interface built with modern web technologies
- Vector Database: Efficient image storage and retrieval using vector database technology
- Python 3.10 or higher
- pip (Python package installer)
- Clone the repository:
git clone https://github.com/yourusername/gallery-chatbot.git
cd gallery-chatbot- Create and activate a virtual environment:
python -m venv .venv
# On Windows
.venv\Scripts\activate
# On Unix or MacOS
source .venv/bin/activate- Install dependencies:
pip install -r requirements.txt- Set up environment variables:
Create a
.envfile in the root directory with the following variables:
API_KEY=your_api_key_here
IMAGE_DATA_FILE_PATH=path/to/image/storage
- Start the application:
python -m app.main- Open your web browser and navigate to:
http://localhost:8000
- You can now:
- Upload images through the upload interface
- Browse the image gallery
- Interact with the AI chatbot about the images
gallery-chatbot/
├── app/
│ ├── api/ # API routes and endpoints
│ ├── config/ # Configuration settings
│ ├── services/ # Business logic and services
│ ├── static/ # Static files (CSS, JS, images)
│ ├── templates/ # HTML templates
│ ├── utils/ # Utility functions
│ ├── vectrodb_models/# Vector database models
│ └── main.py # Application entry point
├── tests/ # Test files
├── .env # Environment variables
├── requirements.txt # Project dependencies
└── README.md # Project documentation
- Backend Framework: FastAPI
- Frontend: HTML, CSS, JavaScript
- Database: Vector Database for image storage
- AI/ML:
- CLIP for image understanding
- LangChain for chatbot functionality
- Other Key Libraries:
- uvicorn (ASGI server)
- python-multipart (file uploads)
- jinja2 (templating)
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for CLIP model
- FastAPI team for the excellent web framework
- All contributors and users of this project
Made with ❤️ by [Saib Ahmed Emil]