--- title: 06-knowledge-graph app_file: interface.py sdk: gradio sdk_version: 4.44.1 --- # Knowledge Graph Project README ## Overview This project creates an interactive knowledge graph visualization from RSS feeds. It extracts entities and relationships from news articles using NLP and LLM-based techniques, then visualizes the connections in an interactive graph. ## Features - Fetches and aggregates content from multiple RSS news feeds - Processes text using LLM-based knowledge extraction - Builds a directed graph of entities and their relationships - Provides an interactive visualization using Plotly - Allows selection of specific news sources ## Installation 1. Clone the repository 2. Install the required dependencies: ```bash pip install -r requirements.txt ``` 3. Download the required spaCy model: ```bash python -m spacy download en_core_web_sm ``` ## Usage Run the Gradio interface: ```bash python interface.py ``` The interface allows you to: 1. Select which news sources to include 2. Generate a knowledge graph from the selected sources 3. View the aggregated feed content and interactive graph visualization ## Project Structure - `interface.py`: Main Gradio application with the UI and visualization logic - `fetch.py`: Functions for retrieving and parsing RSS feeds - `sources.py`: List of available RSS feed URLs - `requirements.txt`: Required Python packages - `tutorials/`: Example notebooks showing the knowledge graph extraction process ## How It Works 1. The application fetches recent articles from selected RSS feeds 2. Content is processed and split into manageable chunks 3. An LLM (GPT-4o) extracts entities and relationships from the text 4. A directed graph is constructed from these relationships 5. The graph is visualized using Plotly with interactive features ## Dependencies - spaCy: For NLP processing - Gradio: For the web interface - NetworkX: For graph data structures - Plotly: For interactive visualizations - LangChain: For LLM-based graph transformations - OpenAI API: Powers the LLM graph transformer ## Acknowledgements This project was inspired by techniques from: - [Analytics Vidhya: How to Build Knowledge Graph from Text using spaCy](https://www.analyticsvidhya.com/blog/2019/10/how-to-build-knowledge-graph-text-using-spacy/) - [DataCamp: Knowledge Graph RAG Tutorial](https://www.datacamp.com/tutorial/knowledge-graph-rag) ## Part of 30 Agents in 30 Days This project is #6 in the **30 Agents in 30 Days** series, which provides practical AI agent workflows for different stages of product development including research, development, testing, marketing, and sales.