Files
Ryan Knight 090b88a956 Python: Adds sample documentation for two separate Neo4j context providers for retrieval and memory (#4010)
* Python: Adds sample documentation for two separate Neo4j context providers for retrieval and memory

* adding pypi links

* adding dotnot examples

* adding dotnot examples

* merge upstream samples

* fixing docs

* fix relative paths

---------

Co-authored-by: Ben Lackey <ben.lackey@neo4j.com>
090b88a956 ยท 2026-04-07 09:57:35 +00:00
History
..
2026-04-01 10:23:04 +00:00

Neo4j GraphRAG Context Provider

The Neo4j GraphRAG context provider adds read-only retrieval from a Neo4j knowledge graph to an Agent Framework agent. It supports vector, fulltext, and hybrid retrieval, and can enrich search results by traversing graph relationships with a Cypher retrieval_query.

This sample keeps setup lightweight by using a pre-built Neo4j fulltext index plus a graph-enrichment query.

For full documentation, see the Neo4j GraphRAG integration guide on Microsoft Learn.

Example

File Description
main.py Runnable GraphRAG sample using a Neo4j fulltext index and a Cypher enrichment query to surface related companies, products, and risk factors.

Prerequisites

  1. A Neo4j database with document chunks already loaded
  2. A Neo4j fulltext index over chunk text, such as search_chunks
  3. An Azure AI Foundry project endpoint and chat deployment
  4. Azure CLI authentication via az login

Environment variables

This sample expects:

  • FOUNDRY_PROJECT_ENDPOINT
  • FOUNDRY_MODEL
  • NEO4J_URI
  • NEO4J_USERNAME
  • NEO4J_PASSWORD
  • NEO4J_FULLTEXT_INDEX_NAME (optional, defaults to search_chunks)

Run with uv

From the python/ directory:

uv run samples/05-end-to-end/neo4j_graphrag/main.py

Notes

  • This sample uses the published agent-framework-neo4j package rather than code from this repository.
  • The package also supports vector and hybrid retrieval when you configure embeddings and indexes in Neo4j.
  • For memory-oriented scenarios, the Neo4j project also maintains companion examples in the external provider repository.