.ipynb
.pdf
NebulaGraphQAChain
 Contents 
Refresh graph schema information
Querying the graph
NebulaGraphQAChain#
This notebook shows how to use LLMs to provide a natural language interface to NebulaGraph database.
You will need to have a running NebulaGraph cluster, for which you can run a containerized cluster by running the following script:
curl -fsSL nebula-up.siwei.io/install.sh | bash
Other options are:
Install as a Docker Desktop Extension. See here
NebulaGraph Cloud Service. See here
Deploy from package, source code, or via Kubernetes. See here
Once the cluster is running, we could create the SPACE and SCHEMA for the database.
%pip install ipython-ngql
%load_ext ngql
# connect ngql jupyter extension to nebulagraph
%ngql --address 127.0.0.1 --port 9669 --user root --password nebula
# create a new space
%ngql CREATE SPACE IF NOT EXISTS langchain(partition_num=1, replica_factor=1, vid_type=fixed_string(128));
# Wait for a few seconds for the space to be created.
%ngql USE langchain;
Create the schema, for full dataset, refer here.
%%ngql
CREATE TAG IF NOT EXISTS movie(name string);
CREATE TAG IF NOT EXISTS person(name string, birthdate string);
CREATE EDGE IF NOT EXISTS acted_in();
CREATE TAG INDEX IF NOT EXISTS person_index ON person(name(128));
CREATE TAG INDEX IF NOT EXISTS movie_index ON movie(name(128));
Wait for schema creation to complete, then we can insert some data.
%%ngql
INSERT VERTEX person(name, birthdate) VALUES "Al Pacino":("Al Pacino", "1940-04-25");
rtdocs_stable/api.python.langchain.com/en/stable/modules/chains/examples/graph_nebula_qa.html