Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

graphRAG #617

Open
wants to merge 3 commits into
base: console
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions modules/ROOT/content-nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,8 @@ Generic Start

* xref:billing.adoc[Billing]

* xref:graphrag.adoc[GraphRAG with Aura]

* Connecting applications
** xref:connecting-applications/overview.adoc[Drivers and libraries]
////
Expand Down
67 changes: 67 additions & 0 deletions modules/ROOT/pages/graphrag.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
[[aura]]
= graphRAG
:description: RAG with aura

. Graph RAG Concept: Uses a graph database to structure and retrieve relevant information for LLMs, enhancing retrieval-augmented generation (RAG).
. Graph Representation for Time & Space: Graphs naturally capture relationships, making them ideal for modeling events, locations, and sequences.
. Neo4j & RAG: Graph databases like Neo4j simplify data retrieval by storing relationships directly, avoiding expensive joins.
. Data Ingestion & Indexing: Extracting and structuring data efficiently (e.g., from articles) improves search and retrieval performance.
. Hybrid Search: Combines keyword and semantic search to improve accuracy and handle misspellings or variations in queries.
. Summarization & Distillation: Reduces noise so the LLM can focus on high-level reasoning, minimizing hallucinations.
. Agentic Approaches: LLMs can dynamically select tools (e.g., Cypher queries) to improve decision-making and retrieval accuracy.
. Prompt Engineering: Structured prompt templates ensure consistency and better responses from the LLM.
. Knowledge Graphs & Entity Linking: Using triples (subject-predicate-object) helps structure data effectively for retrieval and reasoning.
. Emil’s Demo: Showcased how Neo4j can automatically create a graph from articles, demonstrating knowledge extraction and structuring.

== Introduction

* Aura is simplifying Graph RAG – Making it easier to use.
* A wrapper for the code → The user interacts through the UI instead of coding everything to do with GraphRAG Agents themselves.
* “You know Cypher → Now you can create tools → Now you can create questions.”

Graph RAG answers complex questions but is hard to implement today.
Reduces the need for deep Cypher and technical knowledge.
Many want to build agents, but it’s not trivial.
In Aura:
A low-code/no-code experience.
Grounded in a knowledge graph (ensuring reliable answers).

== Neo4j Agent Overview

An Agent consist of

* Choice – The agent makes decisions.
* Tools – Functions the agent can use.
* Flow Router – Determines how tasks are handled.
* Components – Different parts that make up the agent system.

== Goal of the Agent

* Answer complex questions and take actions.
* Grounded in knowledge: Answers are based on a knowledge graph.

== How the UI Works

* Users can specify functions.
* The agent has tools/functions it can use (e.g., Cypher queries).
* The LLM determines access to these tools:
* The Agent selects 1 or 2 tools to answer the question.
* Chooses the best Gemini models for the approach.

Example: Movie Agent

Movie Graph DB in Aura – Create a tool like "Find Movies by Actor."

Input: Actor name → Queries: ACTOR ACTS IN / ACTOR IN MOVIE.

Example: "Which movies does Keanu Reeves act in?" → The agent selects the relevant tools and queries the data.

== Publishing the agent:
Developers send questions to endpoints.

== Industry-specific use cases:

* Security
* Supply Chain Graph
* Customer 360
* How can I answer tough questions?