A powerful Streamlit-based application for exploring and visualizing Graph-based Retrieval-Augmented Generation (GraphRAG). This tool helps researchers and developers understand and analyze their RAG implementations through interactive graph visualizations.
- Support for multiple file formats:
- CSV (structured data)
- TXT (raw text)
- PDF (coming soon)
- Real-time data preview
- Error handling and validation
- OpenAI embeddings
- Sentence Transformers
- Ollama models
- OpenAI GPT models
- Ollaam models
- Adjustable parameters (temperature, etc.)
- Multiple analysis methods:
- Node Importance Analysis
- Path Analysis
- Subgraph Extraction
- Centrality measures:
- Degree Centrality
- Betweenness Centrality
- PageRank
- Interactive graph visualization
- Real-time graph statistics
- Property analysis
- Customizable graph layouts
- Python 3.10+
- pip package manager
- Clone the repository:
git clone <repository-url>
cd graphrag_explorer
- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Start the Streamlit app:
streamlit run app.py
-
Data Upload
- Upload your document or dataset using the file upload section
- Supported formats: CSV, TXT (PDF coming soon)
- Preview your data before processing
-
Configure Services
- Select your preferred embedding service
- Choose an LLM model
- Adjust model parameters as needed
-
Select Analysis Method
- Choose your preferred graph analysis method
- Configure analysis parameters
- View results in real-time
-
Explore Visualization
- Interact with the graph visualization
- Analyze node and edge statistics
- Export results if needed
- OpenAI: OpenAI-like services
- Ollama: Various models
- Sentence Transformers: all-MiniLM-L6-v2, all-mpnet-base-v2
- OpenAI: OpenAI-like services
- Ollama: Various models
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions:
- Open an issue in the GitHub repository
- Streamlit for the amazing framework
- NetworkX for graph processing
- The RAG and LLM communities for inspiration