Welcome to the AI Researcher project! This nifty tool harnesses the power of Large Language Models (LLMs) and advanced web searching to help you craft top-notch reports on any topic. 🤓✨
- Dynamic Topic Input: Just type in your topic, and let the magic begin! 🧙♂️
- Web Search Integration: Uses Tavily to scour the web for the best sources. 🌐🔍
- LLM-Powered Reports: Employs Groq's LLM to generate comprehensive, human-like reports. 📝🧠
- Streamlit Interface: User-friendly interface for seamless interaction. 🖥️✨
- Python 3.8+
- Streamlit
- dotenv
- Gemini API Key
- Tavily API Key
Clone this repository and navigate to the project directory:
git clone https://github.com/bharathajjarapu/researchify.git
cd researchify
Install the required packages:
pip install -r requirements.txt
Create a .env
file and add your API keys:
GOOGLE_API_KEY=your_gemini_api_key
TAVILY_API_KEY=your_tavily_api_key
Fire up the Streamlit app:
streamlit run app.py
- User Input: Enter your topic in the text box.
- Web Search: The app uses Tavily to perform an in-depth web search on the topic.
- PubMed Search: The app uses PubMed Research Documents to cite the Relavent Information.
- Wikipedia Search: The app uses Wikipedia Look up things for people, movies, series and information.
- Report Generation: Groq's LLM takes the search results and crafts a well-structured, NYT-worthy report.
- Display: The final report is displayed beautifully in the Streamlit interface.
- Environment Setup: Loads API keys from
.env
file. - Streamlit Config: Sets up the page title and icon.
- Main Interface: Provides an input box for the topic and a button to generate the report.
- Web Search: Uses TavilyClient to fetch search results.
- PubMed Search: The app uses PubMed Research Documents to cite the Relavent Information.
- Wikipedia Search: The app uses Wikipedia Look up things for people, movies, series and information.
- Report Generation: Groq's LLM processes the results and generates the report.
- Output: Displays the final report in Markdown format.
Here's what a generated report looks like:
## Title
- **Overview** Brief introduction of the topic.
- **Importance** Why is this topic significant now?
### Section 1
- **Detail 1**
- **Detail 2**
- **Detail 3**
### Section 2
- **Detail 1**
- **Detail 2**
- **Detail 3**
### Section 3
- **Detail 1**
- **Detail 2**
- **Detail 3**
## Conclusion
- **Summary of report:** Recap of the key findings from the report.
- **Implications:** What these findings mean for the future.
## References
- [Reference 1](Link URL to Source)
- [Reference 2](Link URL to Source)
Feel free to contribute! Fork the repo, make your changes, and send a pull request. For issues or questions, open a ticket or hit me up directly.
Use this project for learning not just copy pasting the repo for a hackathon, though you might win the hackathon but sure will never learn how it works.
This project is licensed under the MIT License. See the LICENSE file for more details.
Happy researching! 🎓🧐