An AI-powered research assistant built using LangChain, Gemini 1.5/2.5, GPT-4, Claude 3.5, and real-time web tools like DuckDuckGo and Wikipedia.
This project enables structured research generation with support for saving, summarizing, and exporting insights in a clean, user-friendly format.
With the explosion of online content, manually researching any topic is time-consuming. This agent automates the research process using LLMs and tools to generate structured summaries with verified sources β all in seconds.
- π Multi-tool Research Agent: Combines Wikipedia, DuckDuckGo search, and file-saving capabilities using LangChain Agents.
- π§ LLM Integration: Supports top-tier models (Gemini 1.5/2.5, GPT-4, Claude 3.5) for accurate and structured output.
- π§Ύ Structured Results: Automatically returns research in a standardized JSON format (Topic, Exploration, Summary, Sources, Tools Used).
- π PDF Export: Download clean PDF reports generated from markdown using
xhtml2pdf. - π±οΈ No-code UI: Built with Streamlit for fast, interactive use.
Check out the live version here:
π LLM-Agent-ResearchSuite β Streamlit App
β οΈ Note: This app may take a few seconds to load based on Streamlitβs server spin-up time.
| Component | Description |
|---|---|
| LangChain | Agent & tool orchestration |
| Gemini/GPT/Claude | Large Language Models for research |
| DuckDuckGo API | Real-time web search tool |
| Wikipedia API | Fast lookup for verified facts |
| Streamlit | Front-end interface |
| Pydantic | Structured output validation |
| xhtml2pdf | PDF generation from markdown |
- User enters a research topic.
- LLM Agent is activated with selected tools (e.g., Wikipedia, Web Search).
- LangChain AgentExecutor loops through tools to gather relevant info.
- Output is structured, summarized, and can be saved/exported.
.
βββ tools.py # LangChain tool definitions
βββ web.py # Main Streamlit app + agent pipeline
βββ README.md
βββ requirements.txt # DependenciesHere are a few screenshots that demonstrate how the app works:
Shows the initial UI where the user enters a research query, selects tools, and picks an LLM.
Displays the structured research result, including topic, exploration, summary points, sources, and tools used.
Highlights the PDF generation feature, allowing users to download a clean, formatted research report.
- π Academic Research Summaries
- π Market or Business Analysis
- π¦Έ Fun Topics (e.g., "Unknown Facts about Batman")
- π Real-time info gathering + PDF reporting
- Students writing reports or research essays
- Content creators looking to outline factual content
- Developers learning how to integrate LLMs with tools
- βοΈ Combines multi-agent orchestration and tool calling β not just a chatbot
- βοΈ Focused on structured knowledge, not random chat
- βοΈ Versatile for both fun and professional use
- βοΈ Strong backend + frontend integration
- Heavily depends on the quality and availability of search results.
- Requires API keys; free-tier models may sometimes return incomplete outputs.
- Currently supports only English input and output.
The agent was tested across 10 diverse topics (tech, history, science). It consistently returned structured summaries with 85β90% relevance and accuracy when manually compared to top search results.
Iβm a passionate Computer Science student and aspiring AI engineer. This project showcases my ability to combine:
- π€ AI agent design
- π§° Tool integration (LangChain ecosystem)
- π₯οΈ Full-stack development with Python + Streamlit
- π Prompt engineering & structured output parsing
- Clone the repo
git clone https://github.com/Yaser-123/LLM-Agent-ResearchSuite.git
cd LLM-Agent-ResearchSuite- Install dependencies
pip install -r requirements.txt- Add your
.envfile with your keys:
GOOGLE_API_KEY=your_key
OPENAI_API_KEY=your_key
ANTHROPIC_API_KEY=your_key- Run the app
streamlit run web.py- Add tool usage memory (LangGraph or ReAct-style)
- Add more search engines (Google SERP, You.com)
- Allow citation formatting (APA/MLA/Harvard)
- Cloud storage support for research archives
If you found this project useful or inspiring, consider giving it a βοΈ on GitHub!
Feel free to connect with me on LinkedIn or reach out via email at [email protected] for collaboration opportunities.


