You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
langchain/templates/neo4j-cypher
David Duong d39b4b61b6
Batch apply `poetry lock --no-update` for all templates (#12531)
Ran the following bash script for all templates

```bash
#!/bin/bash

set -e
current_dir="$(pwd)"
for directory in */; do
    if [ -d "$directory" ]; then
        (cd "$directory" && poetry lock --no-update)
    fi
done

cd "$current_dir"
```

Co-authored-by: Bagatur <baskaryan@gmail.com>
8 months ago
..
neo4j_cypher Format Templates (#12396) 8 months ago
tests Templates (#12294) 8 months ago
README.md Update neo4j template readmes (#12540) 8 months ago
ingest.py Templates (#12294) 8 months ago
main.py Templates (#12294) 8 months ago
poetry.lock Batch apply `poetry lock --no-update` for all templates (#12531) 8 months ago
pyproject.toml various templates improvements (#12500) 8 months ago

README.md

Neo4j Knowledge Graph with OpenAI LLMs

This template allows you to chat with Neo4j graph database in natural language, using an OpenAI LLM. Its primary purpose is to convert a natural language question into a Cypher query (which is used to query Neo4j databases), execute the query, and then provide a natural language response based on the query's results.

Neo4j database

There are a number of ways to set up a Neo4j database.

Neo4j Aura

Neo4j AuraDB is a fully managed cloud graph database service. Create a free instance on Neo4j Aura. When you initiate a free database instance, you'll receive credentials to access the database.

Environment variables

You need to define the following environment variables

OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>
NEO4J_URI=<YOUR_NEO4J_URI>
NEO4J_USERNAME=<YOUR_NEO4J_USERNAME>
NEO4J_PASSWORD=<YOUR_NEO4J_PASSWORD>

Populating with data

If you want to populate the DB with some example data, you can run python ingest.py. This script will populate the database with sample movie data.

Installation

# from inside your LangServe instance
poe add neo4j-cypher