raggle is a command-line conversational AI tool built on Retrieval-Augmented Generation (RAG) principles. It searches the web for information based on user queries and processes the results to provide informative responses.
- main: Main showcase code
- develop: Code under current development [Check out for code]
- idea-pitch : Branch to document Ideas
- A1: Idea 1 of implementation.
- Command-Line Interface: Interact with the application through simple command-line commands.
- Web Search Functionality: Query the web and obtain generated responses.
- Output to File: Save responses in a text file for easy access.
- RAG Implementation: Uses a structured approach to enhance response quality.
- Query Input: Accept the query via command line (future UI support planned).
- Query Transformation: Rewrite or transform the query as needed (this can be delayed until later stages).
- Web Search: Perform a web search based on the transformed query.
- Results Parsing and Chunking:
- Store search results as a dictionary with URLs as keys for better organization.
- Storage: Use Chromadb for storing the processed results in a Vector Database.
- Dense Retrieval: Retrieve relevant chunks from the stored data.
- Deduplication and Reranking:
- Implement logic to deduplicate and rerank retrieved elements.
- Augmentation and Summarization: Use a language model (LLM) to augment and summarize the final output.
- Python (version 3.10 and above)
- Required Python packages (see below)
- Clone the repository:
git clone https://github.com/Knight7561/raggle.git
- Navigate to the project directory:
cd raggle
- Install required packages:
pip install -r requirements.txt
To run the application, use the following command:
python main.py -q "Your query here"
Example:
python main.py -q "What is the capital of France?"
The response will be printed to the console and also saved in temp/output.txt.