https://github.com/monish-nallagondalla/ai_tool_searchengine
A conversational search chatbot built with Streamlit and LangChain, using Groq's Llama3-8b-8192 model to answer queries by searching Arxiv, Wikipedia, and DuckDuckGo, with chat history support for seamless interactions.
https://github.com/monish-nallagondalla/ai_tool_searchengine
agent ai arxiv chatbot conversational-ai duckduckgo groq langchain llama3 nlp python search-engine streamlit wikipedia
Last synced: 16 days ago
JSON representation
A conversational search chatbot built with Streamlit and LangChain, using Groq's Llama3-8b-8192 model to answer queries by searching Arxiv, Wikipedia, and DuckDuckGo, with chat history support for seamless interactions.
- Host: GitHub
- URL: https://github.com/monish-nallagondalla/ai_tool_searchengine
- Owner: Monish-Nallagondalla
- License: mit
- Created: 2025-05-19T18:13:00.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2025-05-24T18:14:38.000Z (about 1 month ago)
- Last Synced: 2025-06-06T09:39:30.499Z (23 days ago)
- Topics: agent, ai, arxiv, chatbot, conversational-ai, duckduckgo, groq, langchain, llama3, nlp, python, search-engine, streamlit, wikipedia
- Language: Jupyter Notebook
- Homepage:
- Size: 22.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Conversational Search Chatbot with LangChain and Streamlit
This repository contains a conversational search chatbot built with Streamlit and LangChain, leveraging Groq's Llama3-8b-8192 model. The chatbot integrates external tools (Arxiv, Wikipedia, and DuckDuckGo) to answer user queries by searching the web and academic resources, with a chat interface that maintains conversation history.
## Table of Contents
- [Overview](#overview)
- [Features](#features)
- [File Structure](#file-structure)
- [Setup Instructions](#setup-instructions)
- [Requirements](#requirements)
- [Usage](#usage)
- [License](#license)## Overview
The project implements a web-based chatbot using Streamlit, powered by LangChain's agent framework and Groq's Llama3-8b-8192 model. It uses three tools—Arxiv for academic papers, Wikipedia for general knowledge, and DuckDuckGo for web searches—to provide accurate and concise answers. The chatbot maintains a conversation history in the Streamlit session state, enabling interactive and context-aware responses.## Features
- Streamlit-based chat interface for user interaction.
- Integrates three search tools:
- Arxiv: Retrieves summaries from academic papers (top 1 result, 200-character limit).
- Wikipedia: Fetches concise information from Wikipedia (top 1 result, 200-character limit).
- DuckDuckGo: Performs general web searches.
- Powered by Groq's Llama3-8b-8192 model for fast and accurate responses.
- Maintains chat history for seamless conversations.
- Supports streaming responses with real-time feedback via StreamlitCallbackHandler.## File Structure
```
├── .gitignore # Git ignore file for excluding unnecessary files
├── LICENSE # License file (MIT)
├── README.md # Project documentation
├── app.py # Main application with conversational search chatbot
├── requirements.txt # Python dependencies
└── tools_agents.ipynb # Jupyter notebook for experimenting with tools and agents
```## Setup Instructions
1. **Clone the Repository**
```bash
git clone https://github.com/Monish-Nallagondalla/Ai_Tool_SearchEngine.git
cd Ai_Tool_SearchEngine
```2. **Install Dependencies**
Ensure you have Python 3.8+ installed. Install the required packages:
```bash
pip install -r requirements.txt
```3. **Set Up Environment Variables**
- Create a `.env` file in the project root:
```bash
touch .env
```
- Add the Groq API key:
```plaintext
GROQ_API_KEY=your_groq_api_key
```
- Obtain the Groq API key from [console.groq.com](https://console.groq.com).4. **Run the Application**
```bash
streamlit run app.py
```## Requirements
The dependencies are listed in `requirements.txt`. Key packages include:
```
streamlit
langchain
langchain-groq
langchain-community
python-dotenv
```## Usage
1. Launch the Streamlit app using the instructions above.
2. Enter your Groq API key in the sidebar's password-protected text input.
3. Type a question in the chat input field (e.g., "What is machine learning?").
4. View the chatbot's response, which is generated by querying Arxiv, Wikipedia, or DuckDuckGo as needed.
5. Continue the conversation, with the chatbot maintaining the chat history for context.## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
```