An AI-powered museum exploration app built with Python, FastAPI, Gradio, LangChain, and LangGraph. Search artworks by keyword, browse results in an interactive gallery, and get rich AI-generated explanations covering artist background, historical and cultural context, visual analysis, and a visitor-friendly summary — powered by Google Gemini.
https://museumapp-two.vercel.app/
- Keyword Artwork Search: Search museum collections by keyword and retrieve matching artworks via the museum API.
- Interactive Gallery: Browse search results in a Gradio gallery with titles and images.
- AI-Powered Explanations: Select an artwork to generate a structured explanation including artist background, historical context, cultural context, visual analysis, date explanation, and a visitor summary.
- LangGraph Pipelines: Dedicated graphs for search and explanation with validation, evaluation, and error handling.
- FastAPI + Gradio UI: REST API endpoints alongside a mounted Gradio interface for an interactive demo experience.
- Google Gemini Integration: Uses LangChain with Gemini for structured, grounded artwork insights.
- Python 3.12+
- FastAPI: Backend framework for building fast and scalable APIs.
- Gradio: Interactive UI for search, gallery browsing, and explanation display.
- LangChain / LangGraph: Agent workflows for search and artwork explanation pipelines.
- Google Gemini: LLM for structured artwork analysis (
gemini-3.5-flash). - httpx: Async HTTP client for museum API requests.
- Set up the following environment variables (e.g. in a
.envfile):MUSEUM_API_BASE_URL=your_museum_api_base_urlGOOGLE_API_KEY=your_google_api_key
- Install dependencies:
pip install -e .- Run the app:
uvicorn src.main:app --reload- Open the following link in your browser: http://localhost:8000/
Feel free to open issues or submit pull requests to improve the project. Contributions are welcome!
Developed by extrawest. Software development company
