RAGify Search is an AI-powered intelligent assistant built with Streamlit, designed to answer user queries by integrating real-time web search. It uses a Retrieval-Augmented Generation (RAG) approach to provide accurate, concise, and context-aware responses
- Real-Time Web Search: Fetch relevant web pages for user queries.
- Document Processing: Split, embed, and index documents for similarity-based searches.
- Prompt Engineering: Generate optimized prompts for the LLM model.
- Streamlit Interface: Simple and intuitive chatbot-like user experience.
- Temporary File Management: Automatic cleanup of downloaded content to save space.
- Local LLM Support: Utilizes Ollama to run a local LLM, ensuring data privacy and high performance.
app.py
: Front-end application powered by Streamlit.config.py
: Centralized configuration for chunk sizes, model names, and directories.db_operations.py
: Embeds and indexes document chunks for search.extract_queries.py
: Generates optimized queries to be searched.web_scraper.py
: Manages web scraping and temporary file handling.prompt_generator.py
: Prepares structured prompts for context-aware answers.
-
Clone the Repository:
git clone https://github.com/pcastiglione99/RAGify-Search.git cd RAGify-Search
-
Install Dependencies:
pip install -r requirements.txt
-
Run the Application:
streamlit run ./src/app.py
-
langchain ollama requirement
ollama pull nomic-embed-text
- Start the Streamlit app and interact with the chatbot.
- Enter your query in the chat interface.
- The assistant fetches web pages, processes content, and generates a response.