Git Product home page Git Product logo

knowledge-nexus's Introduction

Knowledge Nexus: Your AI-Powered Personal Knowledge Discovery Engine

๐Ÿ›  Getting Started

  1. install neo4j
  2. install python
  3. make and configure .env in root directory
  4. adjust options in config/config.yaml if necessary
  5. pip install -r requirements.txt
  6. python main.py

โš ๏ธ Current cache limitations:

  • Notion-api cache: Designed for session scope caching, using FS cache with long TTL will prevent from fetching updated pages
  • Processed pages and links cache: Designed for rapid test and development. Prevents sync of removing of already processed and cached pages and links from graph

๐ŸŒŸ Project Overview

ingestion visualization

Knowledge Nexus is an advanced personal knowledge management system that transforms the way individuals organize, process, and discover insights from their digital content. By leveraging the power of AI and graph databases, this project addresses the challenge of information overload and disconnected data silos that many knowledge workers face in today's digital landscape.

Unlike traditional note-taking or knowledge management tools that rely heavily on manual organization, Knowledge Nexus automates the process of extracting key concepts, generating insights, and creating meaningful connections across your personal knowledge base.

๐ŸŽฏ Key Challenges Addressed

  1. Information Overload: Knowledge Nexus cuts through the noise by automatically extracting key entities and insights from various content sources, helping you focus on what's important.

  2. Manual Processing Overhead: Traditional tools require significant manual effort to organize and connect information. Knowledge Nexus automates this process, saving you time and cognitive effort.

  3. Limited Contextual Understanding: While tools like Obsidian or Roam Research rely on explicit links, Knowledge Nexus uses AI to understand semantic and topical relationships, creating a richer, more nuanced knowledge graph.

  4. Disconnected Data Silos: By importing and processing data from various sources into a single, interconnected knowledge graph, Knowledge Nexus bridges the gaps between your different information repositories.

  5. Difficulty in Discovering New Connections: The AI-powered system can uncover non-obvious relationships between different pieces of information, potentially leading to new insights or ideas that you might have missed.

๐Ÿš€ Key Features

  • Multi-Source Data Integration: Import content from Notion, Pocket, web pages, and more (extensible architecture for adding new sources).
  • AI-Powered Entity and Topic Extraction: Automatically identify and extract key entities and topics from processed content.
  • Intelligent Insight Generation: Leverage AI to generate concise insights from your personal knowledge base.
  • Semantic Knowledge Graph Construction: Build a comprehensive, interconnected graph of entities, topics, and content using Neo4j, reflecting not just explicit links but semantic relationships.
  • Contextual Querying and Exploration: Easily retrieve relevant content and explore connections within your knowledge graph.
  • Personalized Knowledge Assistant: Tailored to your specific needs and preferences, helping you find tools, frameworks, and best practices aligned with your views.

๐Ÿ‘ฅ Who Is It For?

Knowledge Nexus is primarily designed for individual users who:

  • Deal with large amounts of information from various sources
  • Seek to uncover new insights and connections within their knowledge base
  • Want to reduce the cognitive overhead of manual knowledge management
  • Are looking for a personal research assistant to aid in complex tasks or decision-making

๐Ÿ”— Supported Notion Links

Type Parse Markdown Text Parse References Recursive Parsing
Page Properties
Title โœ… โœ… โœ…
Rich Text โœ… โœ… โœ…
Select โœ… N/A N/A
Status โœ… N/A N/A
Multi-select โœ… N/A N/A
Number โœ… N/A N/A
Date โœ… N/A N/A
People โœ… N/A N/A
Files โœ… โŒ N/A
Checkbox โœ… N/A N/A
URL โœ… โœ… โŒ
Email โœ… N/A N/A
Phone Number โœ… N/A N/A
Formula โœ… N/A N/A
Relation โœ… โœ… โœ…
Rollup โœ… N/A N/A
Created Time โœ… N/A N/A
Created By โœ… N/A N/A
Last Edited Time โœ… N/A N/A
Last Edited By โœ… N/A N/A
Unique ID โœ… N/A N/A
Verification โœ… N/A N/A
Database Properties
Title โœ… โŒ โŒ
Rich Text N/A N/A N/A
Select โŒ N/A N/A
Multi-select โŒ N/A N/A
Date N/A N/A N/A
People N/A N/A N/A
Files N/A N/A N/A
Checkbox N/A N/A N/A
URL N/A N/A N/A
Email N/A N/A N/A
Phone Number N/A N/A N/A
Formula N/A N/A N/A
Relation โŒ โŒ โŒ
Rollup N/A N/A N/A
Created Time โŒ N/A N/A
Created By โŒ N/A N/A
Last Edited Time โŒ N/A N/A
Last Edited By โŒ N/A N/A
Blocks
Paragraph โœ… โœ… โœ…
Heading 1 โœ… โœ… โœ…
Heading 2 โœ… โœ… โœ…
Heading 3 โœ… โœ… โœ…
Bulleted List Item โœ… โœ… โœ…
Numbered List Item โœ… โœ… โœ…
To-do โœ… โœ… โœ…
Toggle โœ… โœ… โœ…
Code โœ… โœ… N/A
Quote โœ… โœ… โœ…
Callout โœ… โœ… โœ…
Mention (except mentions of page blocks) โœ… โœ… N/A
Equation โœ… N/A N/A
Bookmark โœ… โœ… N/A
Image โœ… โŒ N/A
Video โœ… โŒ N/A
Audio โœ… โŒ N/A
File โœ… โŒ N/A
PDF โœ… โŒ N/A
Embed โœ… โœ… N/A
Link Preview โœ… โœ… N/A
Divider โœ… N/A N/A
Table of Contents โœ… N/A N/A
Breadcrumb โœ… N/A N/A
Column List โœ… N/A N/A
Column โœ… N/A N/A
Synced Block โœ… โœ… โœ…
Template โœ… โœ… โœ…
Link to Page โœ… โœ… โœ…
Table โœ… N/A N/A
Table Row โœ… N/A N/A
Child Page โœ… โœ… โœ…
Child Database (except linked and views) โœ… โœ… โœ…
Comments โŒ โŒ โŒ

๐Ÿ”ฎ Future Enhancements

  • Enhanced personalization through adaptive learning of user preferences and interests
  • Integration with additional productivity tools and data sources
  • Advanced visualization options for exploring your knowledge graph

๐Ÿ› ๏ธ TODO: Implementation Steps

  1. Data Source Integration

    • Implement Notion API client
    • Notion: Process only pages with last_edited_time > than last_edited_time in graph
    • Develop Pocket API integration
    • Create a web scraper for processing URLs
    • Create unified data models
    • Design a unified interface for data source processors
  2. Content Processing

    • Implement entity extraction using NLP techniques
    • Develop an insight generation module using LLMs
    • Create a content summarization feature
    • Add file caching of raw and processed content
    • Create content embeddings for semantic search
  3. Knowledge Graph Management

    • Set up Neo4j database integration
    • Implement node and relationship creation logic
    • Develop query methods for retrieving related content
    • Create visualizations for the knowledge graph
  4. AI Agents

    • Design a flexible AI agent architecture
    • Implement specific agents for entity extraction, insight generation, and summarization
    • Develop a system for managing different LLM models and configurations
  5. Pipeline Orchestration

    • Create a modular pipeline for processing content from ingestion to storage
    • Implement error handling and logging throughout the pipeline
    • Develop a system for incremental updates and change detection
  6. User Interface

    • Add Streamlit for interacting with the system
    • Implement natural language querying of the knowledge graph
    • Create a web-based dashboard for visualizing insights and connections (InfraNodus-like)
  7. Testing and Quality Assurance

    • Develop unit tests for each module
    • Implement integration tests for the entire pipeline
    • Create a suite of sample data for testing and demonstration
    • Evaluate entity extraction using different models, different contexts, and different prompts
    • Evaluate relation and weights creation using different models, different contexts, and different prompts
    • Evaluate GraphRAG using different embeddings and prompts
  8. Advanced Features

    • Implement token-cost estimation
    • Implement langfuse for agents and flow evaluation

๐Ÿ“š Resources and inspirations

  • Awesome-LLM-KG - A collection of papers and resources about unifying large language models (LLMs) and knowledge graphs (KGs).
  • GraphRAG -Microsoft's GraphRAG research paper and implementation

๐Ÿค Contributing

Knowledge Nexus is currently a personal project, but ideas and suggestions are welcome! Feel free to open an issue for discussion or submit a pull request with proposed changes.

๐Ÿ”’ Privacy and Data Handling

Knowledge Nexus is designed with your privacy in mind. All data is stored locally on your machine. The only external service used is OpenAI's API for AI processing, which is subject to their privacy policy and data handling practices.


Empower your mind, uncover hidden insights, and navigate your personal sea of knowledge with unprecedented ease. Welcome to Knowledge Nexus โ€“ where your information comes to life!

knowledge-nexus's People

Contributors

mmashnev avatar jallermax avatar dependabot[bot] avatar

Stargazers

 avatar Basit Mustafa avatar liuandy avatar  avatar  avatar Latin avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.