ArticleIQ is an AI-powered tool designed to assist with researching and analyzing news articles. By leveraging state-of-the-art language models, Langchain and vector search technology, ArticleIQ provides insightful answers to your questions based on the content of the provided news articles.
ArticleIQ utilizes Streamlit to create an interactive web interface where users can input URLs of news articles they want to analyze. It processes the text of these articles using the LangChain library, which includes components such as OpenAI for language modeling, UnstructuredURLLoader for data loading, RecursiveCharacterTextSplitter for text splitting, and FAISS for vector storage and search. The tool creates vector embeddings with either OpenAI or HuggingFace's Instruct embeddings, and uses a retrieval-based question-answering system to provide users with precise answers and sources for further reading.
The main libraries and technologies used in this project include:
- Streamlit: For creating the interactive web interface.
- LangChain: To facilitate the construction of the retrieval-based QA chain.
- OpenAI: Providing access to powerful language models for text generation and embedding.
- HuggingFace Transformers: For alternative language model embeddings if desired.
- FAISS (Facebook AI Similarity Search): For efficient similarity search and retrieval of text chunks.
- Python's Pickle: For saving and loading the FAISS vector index.
- dotenv: For loading environment variables securely.
To set up ArticleIQ, you'll need Python 3.6 or higher. Follow these steps:
- Clone the repository:
git clone https://github.com/ShreeKeshavan/ArticleIQ-Smart_News_Research_Assistant.git
Navigate to the project directory and install the required packages:
cd ArticleIQ-Smart_News_Research_Assistant
pip install -r requirements.txt
Run the Streamlit application:
streamlit run main.py
To use ArticleIQ, follow these steps:
- Run the Streamlit application: streamlit run main.py
- Open your web browser and go to
localhost:8501
to view the app. - Input the URLs of the news articles you want to analyze in the sidebar.
- Click "Activate ArticleIQ" to process the articles.
- Once processed, you can ask questions in the provided text field to get answers based on the articles' content.
- Streamlit web interface for easy interaction.
- Supports multiple news articles through URL input.
- Vector embedding generation for efficient information retrieval.
- Question-answering system with sources for in-depth research.
Here's a short example of how to interact with ArticleIQ:
- Input URLs:
- URL 1:
https://example.com/news-article-one
- URL 2:
https://example.com/news-article-two
-
Click "Activate ArticleIQ" to process the articles.
-
Ask a question:
- Input: "What are the main points discussed in the articles?"
- Receive an answer along with sources for further reading.
For more detailed information on the project's architecture and functions, please refer to the ArticleIQ Project Documentation
folder in the repository.
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.