Absolutely π Hereβs a crisp, professional README description for your chatbot project β based on the details you shared earlier (multimodal chatbot, image-based search, FastAPI backend, React frontend, Gemini LLM, Milvus + OpenSearch retrieval, etc.).
You can paste this directly into your README.md file π
A full-stack multimodal chatbot platform that combines text and image understanding using advanced LLMs and vector search. The system enables users to chat naturally, upload images, and retrieve contextually relevant information or images β all in a sleek, responsive web interface.
- π¬ LLM-Powered Chat β Real-time conversational AI using Google Gemini for contextual and multimodal responses.
- πΌοΈ Image-Based Search β Upload an image to find visually and semantically similar results via CLIP embeddings stored in Milvus.
- π Hybrid Retrieval β Combines semantic vector search (Milvus) with keyword search (OpenSearch) for precise and grounded responses.
- β‘ FastAPI Backend β Handles LLM orchestration, embedding generation, and API routing efficiently.
- π§© Scalable Ingestion Pipeline β Automatic document and image preprocessing, embedding, and multi-threaded indexing.
- π₯οΈ Modern Frontend β Built with React + TypeScript, featuring chat history, typing animation, drag-and-drop image uploads, and responsive UI.
- π§ Structured Output Parsing β Normalizes LLM responses into clean JSON for easy frontend rendering.
Frontend: React, TypeScript, Redux, Framer Motion Backend: FastAPI, Python, uvicorn AI / Search: Google Gemini API, CLIP (PyTorch), Milvus, OpenSearch, llama_index Storage / Utilities: PIL, ThreadPoolExecutor, JSON, REST APIs
React Frontend β FastAPI Gateway β LLM + Retrieval Engine
β
ββββββββββ΄βββββββββ
β β
Milvus VectorDB OpenSearch Index
β β
CLIP Embeddings Keyword Search
# Clone repository
git clone git@github.com:GuptaDevansh-2004/ChabotAgentProject.git
cd ChabotAgentProject
# Backend setup
cd backend
pip install -r requirements.txt
uvicorn main:app --reload
# Frontend setup
cd ../frontend
npm install
npm run devThen open http://localhost:5173 to interact with the chatbot.
- Ask questions about uploaded documents or images.
- Search for visually similar images using image embeddings.
- Retrieve accurate answers grounded in indexed data.
- Extend with new models, retrievers, or file types.