GraphRAG for Python

The GraphRAG for Python package (neo4j-graphrag) allows you to access Neo4j Generative AI functions including:

  • Retrievers

  • GraphRAG pipelines

  • Knowledge graph construction

The purpose is to provide a first party package to developers, where Neo4j can guarantee long term commitment and maintenance as well as being fast to ship new features and high performing patterns and methods.

You will use the neo4j-graphrag package to create retrievers and implement simple applications that use GraphRAG to provide context to LLM queries.

You must set up a development environment to run the code examples and exercises.

Get started

The repository, neo4j-graphacademy/genai-fundamentals, has been created for this course. It contains any starter code and resources you need.

You can use a GitHub codespace as an online IDE and workspace for this course. It will automatically clone the course repository and set up your environment.

GitHub Codespaces

You will need to login with a GitHub account. The GitHub Codespaces free monthly usage will cover the duration of this course.

Open in GitHub Codespace

Develop on your local machine

You will need Python installed and the ability to install packages using pip.

You may want to set up a virtual environment using venv or virtualenv to keep your dependencies separate from other projects.

Clone the github.com/neo4j-graphacademy/genai-fundamentals repository:

bash
git clone https://github.com/neo4j-graphacademy/genai-fundamentals

Install the required packages using pip:

bash
cd genai-fundamentals
pip install -r requirements.txt

You do not need to create a Neo4j database as you will use the provided sandbox instance.

The sandbox uses Neo4j’s GenAI functions, you can find out more about how to configure them in the Neo4j GenAI integration documentation.

Setup the environment

Create a copy of the .env.example file and name it .env. Fill in the required values.

Create a .env file
OPENAI_API_KEY="sk-"
NEO4J_URI="neo4j://"
NEO4J_USERNAME="neo4j"
NEO4J_PASSWORD=""

Add your Open AI API key (OPENAI_API_KEY), which you can get from platform.openai.com.

Update the Neo4j sandbox connection details:

NEO4J_URI

neo4j://{sandbox-ip}:{sandbox-boltPort}

NEO4J_USERNAME

{sandbox-username}

NEO4J_PASSWORD

{sandbox-password}

Test your setup

You can test your setup by running genai-fundamentals/test_environment.py - this will attempt to connect to the Neo4j sandbox and the OpenAI API.

You will see an OK message if you have set up your environment correctly. If any tests fail, check the contents of the .env file.

Continue

When you are ready, you can move on to the next task.

Summary

You have setup your environment and are ready to start this module.

In the next lesson, you will create a vector retriever and use the data to provide context to an LLM.