author: Ardya Dipta Nandaviri (GDE in AI/ML) | date: Feb 20, 2025
This project implements an Agentic AI Research Assistant using Google Generative AI and Retrieval-Augmented Generation (RAG). The system first checks if an answer exists in a FAISS vector database before searching the web for new information. If a match is found, the stored response is returned. Otherwise, the assistant performs a web search, summarizes the results, and stores the new information for future use.
- AI-Powered Summarization: Uses Google Generative AI to extract key points.
- FAISS Vector Database: Stores and retrieves knowledge efficiently.
- Streamlit UI: Provides an easy-to-use web interface.
- Web Search Integration: Uses SerpAPI for dynamic knowledge retrieval.
- Python
- Streamlit
- LangChain
- Google Generative AI (Gemini)
- FAISS (Facebook AI Similarity Search)
- SerpAPI
- dotenv (for API key management)
git clone https://github.com/your-username/agentic-ai-research-assistant.git
cd agentic-ai-research-assistant
python -m venv venv
source venv/bin/activate # On macOS/Linux
venv\Scripts\activate # On Windows
pip install -r requirements.txt
Create a .env
file in the project directory and add the following:
GOOGLE_API_KEY=your-google-api-key
SERPAPI_API_KEY=your-serpapi-api-key
streamlit run app.py
- Open the Streamlit web interface.
- Enter a research query in the text input field.
- The AI will first check the FAISS vector database.
- If the answer is found, it will be retrieved and displayed.
- If not, the AI will search the web, summarize the findings, and store them in the database for future use.
agentic-ai-research-assistant/
│── app.py # Main application file
│── requirements.txt # Python dependencies
│── .env # API keys (excluded from GitHub)
│── README.md # Project documentation
│── faiss_index_store/ # Stored knowledge base (create this directory)
Pull requests are welcome! If you'd like to contribute:
- Fork the repo.
- Create a feature branch.
- Make changes and commit.
- Submit a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
For inquiries, please contact [[email protected]].