Revolutionize how you find and use information with intelligent search and comprehensive content analysis.
QueryQuill is a Streamlit application that integrates Google Gemini's API to create an intelligent assistant capable of interacting with uploaded documents, and fetching the latest news based on user-defined topics. The application is designed to assist users in various tasks such as researching topics, analyzing content, and staying updated with current events.
- File Upload and Search: Upload files(PDFs) and store them in a vector database. The assistant can then answer questions related to these files.
- News Fetching: Get the latest news on a given topic with details such as the title, author and description etc.
- Intelligent Assistant: Powered by Google Gemini's latest models, the assistant uses a combination of tools (file search, code interpreter, news fetching) to answer user queries.
To install and run this application locally, follow these steps:
-
Clone the repository:
git clone https://github.com/Ishant-Mad/QueryQuill cd QueryQuill -
Set up a virtual environment (optional but recommended):
python3 -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install dependencies:
pip install -r requirements.txt
-
Configure API keys:
- Create a
config.pyfile in the project directory and add your OpenAI API key and News API key:
API_KEY = "your-gemini-api-key" news_api_key = "your-news-api-key"
- Create a
-
Run the application:
streamlit run app.py
-
Access the application:
Open your web browser and navigate to
http://localhost:8501to interact with the application.
- Enter a Title: This will be the name of your assistant session.
- Initiate the First Question: Provide a prompt to start the conversation with the assistant.
- Upload Files: Upload any files you want the assistant to reference. These files will be stored in a vector database for search and retrieval.
- Ask Questions: Once the assistant is initialized, you can ask follow-up questions related to the uploaded files or other content.
- News Fetching: Provide a topic, and the assistant will fetch the latest news articles related to that topic.
- Research and Study: Upload research papers and websites related to a subject, and ask the assistant to summarize and provide insights.
- Job Preparation: Upload resumes and company profiles to receive tailored advice on job applications and interview preparation.
- Python 3.7+
- Streamlit
- Gemini API Key
- News API Key
Contributions are welcome! Please fork the repository and submit a pull request with your improvements.