neo4j / NaLLM

Repository for the NaLLM project
Apache License 2.0
1.11k stars 217 forks source link

"Missing APOC Core plugin" with Neo4j Aura #86

Open philszalay opened 1 month ago

philszalay commented 1 month ago

I'm using Neo4j Aura with GCP and I'm getting the following error when starting the Docker container. I know that I need to install the APOC plugin, but I don't know how to do this with Neo4j Aura.

I can see that Neo4j Aura comes with some pre-installed APOC functions (https://neo4j.com/docs/aura/platform/apoc/?utm_source=Google&utm_medium=PaidSearch&utm_campaign=Evergreen&utm_content=EMEA-Search-SEMCE-DSA-None-SEM-SEM-NonABM&utm_term=&utm_adgroup=DSA&gad_source=1&gclid=CjwKCAjwvIWzBhAlEiwAHHWgvaUqu_woDxxDQp_CL52aSnn3V8Uoj4AEEOlqX0mvK5fv2pshoqBABhoC8YYQAvD_BwE), but I'm still getting the error.

[+] Running 2/0 ✔ Container api Created 0.0s ✔ Container ui Created 0.0s Attaching to api, ui api | INFO: Will watch for changes in these directories: ['/api'] api | INFO: Uvicorn running on http://0.0.0.0:7860 (Press CTRL+C to quit) api | INFO: Started reloader process [1] using StatReload ui | ui | > nallm-ui@1.0.0 preview ui | > vite preview ui | ui | ➜ Local: http://localhost:4173/ ui | ➜ Network: http://172.18.0.2:4173/ api | Process SpawnProcess-1: api | Traceback (most recent call last): api | File "/api/src/driver/neo4j.py", line 70, in init api | self.refresh_schema() api | File "/api/src/driver/neo4j.py", line 116, in refresh_schema api | node_props = [el["output"] for el in self.query(node_properties_query)] api | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ api | File "/api/src/driver/neo4j.py", line 116, in api | node_props = [el["output"] for el in self.query(node_properties_query)] api | ~~^^^^^^^^^^ api | KeyError: 'output' api | api | During handling of the above exception, another exception occurred: api | api | Traceback (most recent call last): api | File "/usr/local/lib/python3.11/multiprocessing/process.py", line 314, in _bootstrap api | self.run() api | File "/usr/local/lib/python3.11/multiprocessing/process.py", line 108, in run api | self._target(*self._args, **self._kwargs) api | File "/usr/local/lib/python3.11/site-packages/uvicorn/_subprocess.py", line 76, in subprocess_started api | target(sockets=sockets) api | File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 61, in run api | return asyncio.run(self.serve(sockets=sockets)) api | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ api | File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run api | return runner.run(main) api | ^^^^^^^^^^^^^^^^ api | File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run api | return self._loop.run_until_complete(task) api | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ api | File "/usr/local/lib/python3.11/asyncio/base_events.py", line 654, in run_until_complete api | return future.result() api | ^^^^^^^^^^^^^^^ api | File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 68, in serve api | config.load() api | File "/usr/local/lib/python3.11/site-packages/uvicorn/config.py", line 473, in load api | self.loaded_app = import_from_string(self.app) api | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ api | File "/usr/local/lib/python3.11/site-packages/uvicorn/importer.py", line 21, in import_from_string api | module = importlib.import_module(module_str) api | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ api | File "/usr/local/lib/python3.11/importlib/init.py", line 126, in import_module api | return _bootstrap._gcd_import(name[level:], package, level) api | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ api | File "", line 1204, in _gcd_import api | File "", line 1176, in _find_and_load api | File "", line 1147, in _find_and_load_unlocked api | File "", line 690, in _load_unlocked api | File "", line 940, in exec_module api | File "", line 241, in _call_with_frames_removed api | File "/api/src/main.py", line 43, in api | neo4j_connection = Neo4jDatabase( api | ^^^^^^^^^^^^^^ api | File "/api/src/driver/neo4j.py", line 72, in init api | raise ValueError("Missing APOC Core plugin") api | ValueError: Missing APOC Core plugin api | Failed to write data to connection ResolvedIPv4Address(('35.242.209.97', 7687)) (ResolvedIPv4Address(('35.242.209.97', 7687))) api | Failed to write data to connection IPv4Address(('p-ee3efe44-f7a2-0001.production-orch-0036.neo4j.io', 7687)) (ResolvedIPv4Address(('35.242.209.97', 7687)))

mxhvlm commented 2 weeks ago

I'm having the same issue and can confirm that this also happens in a local instance with the plugin installed

blacksmithop commented 1 week ago

@mxhvlm do you have a local instance running inside Docker? See #83