September 4th, 2024

Show HN: Graphiti – LLM-Powered Temporal Knowledge Graphs

Graphiti is a framework for creating dynamic Knowledge Graphs that process structured and unstructured data. It features temporal awareness, episodic processing, and requires Python, Neo4j, and an OpenAI API key.

Read original articleLink Icon
Show HN: Graphiti – LLM-Powered Temporal Knowledge Graphs

Graphiti is a framework designed for creating dynamic, temporally aware Knowledge Graphs that represent complex relationships between entities over time. It can process both unstructured and structured data, making it suitable for applications such as Large Language Model (LLM) integrations, user-interactive assistants, and autonomous agents. Key features include temporal awareness for tracking changes, episodic processing for maintaining data provenance, hybrid search capabilities, and scalability for handling large datasets. To install Graphiti, users need Python 3.10 or higher, Neo4j 5.21 or higher, and an OpenAI API key for LLM inference, with installation possible via pip. A quick start example demonstrates how to initialize Graphiti, build indices, add episodes, and perform searches. Comprehensive documentation and support are available through the project's website and Discord server. Graphiti is under active development, with plans for future enhancements.

- Graphiti enables the creation of temporally aware Knowledge Graphs.

- It supports both unstructured and structured data for advanced querying.

- Key features include temporal awareness, episodic processing, and hybrid search.

- Installation requires Python, Neo4j, and an OpenAI API key.

- Active development is ongoing, with future improvements planned.

Related

GraphRAG with Wikipedia

GraphRAG with Wikipedia

txtai is a versatile tool combining vector indexes, graph networks, and databases for semantic search and language workflows. It showcases using semantic graphs to enhance LLM generation, enabling comprehensive knowledge collection and history book creation.

Show HN: txtai: open-source, production-focused vector search and RAG

Show HN: txtai: open-source, production-focused vector search and RAG

The txtai tool is a versatile embeddings database for semantic search, LLM orchestration, and language model workflows. It supports vector search with SQL, RAG, topic modeling, and more. Users can create embeddings for various data types and utilize language models for diverse tasks. Txtai is open-source and supports multiple programming languages.

txtai: Open-source vector search and RAG for minimalists

txtai: Open-source vector search and RAG for minimalists

txtai is a versatile tool for semantic search, LLM orchestration, and language model workflows. It offers features like vector search with SQL, topic modeling, and multimodal indexing, supporting various tasks with language models. Built with Python and open-source under Apache 2.0 license.

Show HN: A Simple GraphRAG Implementation

Show HN: A Simple GraphRAG Implementation

nano-GraphRAG is a lightweight version of GraphRAG, offering efficient installation, asynchronous operations, customizable storage, and query capabilities, with future updates planned for improved functionality and community engagement.

What Is a Knowledge Graph?

What Is a Knowledge Graph?

Knowledge graphs structure real-world entities and their relationships, enhancing applications like search engines and AI. They can be tailored for specific uses, with property graph databases like Neo4j offering design advantages.

Link Icon 7 comments
By @fudged71 - about 1 month
Let’s say I want to ingest information from a series of interviews with multiple interviewees (multiple interviews per interviewee). It’s possible their opinions/facts change between interviews; but also each interviewee is going to have different opinions/facts.

Would it make most sense to capture this with multiple Graphiti graphs? Or would it be possible to do this in one graph?

At the end of the day the analysis would be finding insights across all interviewees and you want the cumulative knowledge…

By @spothedog1 - about 1 month
Looks cool, would love support for RDF Graphs. The reason I prefer those is because the ontology is already well defined in a lot of cases which is 80% of the battle with Knowledge Graphs in my experience. Without a well defined Ontology I think LLM <> KG integration will not live up to its potential. LLMs have to know what nodes and edges really mean across diverse datasets
By @midgetjones - about 1 month
Hi :) Cool project! Just FYI, there is already a fairly well-established project with that name.

https://www.graphiti.dev

By @mehh - about 1 month
Looks very interesting, will check it out, also it would likely be much more adoptable if standards based.
By @jondwillis - about 1 month
Any tips for someone who’d like to try implementing something like this in TypeScript?
By @tcdent - about 1 month
Than you for open sourcing this!

You are definitely onto something here.