Add NebulaGraph Enterprise 5.2.1 Support for Episodic Memory#1054
Conversation
94ad1d8 to
36e4fb2
Compare
There was a problem hiding this comment.
Pull request overview
Adds NebulaGraph Enterprise 5.x as an alternative vector graph store backend for episodic memory, alongside existing Neo4j support.
Changes:
- Introduces
NebulaGraphVectorGraphStoreimplementation and wiring viaDatabaseManager+ newNebulaGraphConf. - Adds NebulaGraph optional dependency extras and new/updated integration tests to exercise both backends.
- Adds documentation for NebulaGraph setup and updates install guide to reflect optional graph DB choice.
Reviewed changes
Copilot reviewed 10 out of 11 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/memmachine/episodic_memory/long_term_memory/test_long_term_memory.py | Adds NebulaGraph fixtures and parametrizes tests to run on Neo4j and NebulaGraph. |
| tests/memmachine/episodic_memory/declarative_memory/test_declarative_memory.py | Same parametrization approach for declarative memory tests across both backends. |
| tests/memmachine/common/vector_graph_store/test_nebula_graph_vector_graph_store.py | Adds NebulaGraph vector graph store integration test suite. |
| src/memmachine/common/vector_graph_store/nebula_graph_vector_graph_store.py | Implements NebulaGraph-backed VectorGraphStore including vector search, schema/index management, CRUD. |
| src/memmachine/common/resource_manager/database_manager.py | Adds optional NebulaGraph client lifecycle management and backend auto-detection in get_vector_graph_store. |
| src/memmachine/common/configuration/database_conf.py | Adds NebulaGraphConf and extends supported providers + parsing/serialization. |
| pyproject.toml | Adds nebula optional dependency group. |
| packages/server/pyproject.toml | Adds nebula optional dependency group for the server package. |
| docs/nebula_graph_integration_guide.mdx | New integration guide for NebulaGraph setup and tuning. |
| docs/install_guide/install_guide.mdx | Updates install instructions to allow choosing Neo4j or NebulaGraph Enterprise. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 11 out of 12 changed files in this pull request and generated 5 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Thanks for the updates. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 11 out of 12 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 11 out of 12 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 11 out of 12 changed files in this pull request and generated 6 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 12 out of 13 changed files in this pull request and generated 9 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 12 out of 13 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
7ca4aff to
1cc503c
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 13 out of 14 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 13 out of 14 changed files in this pull request and generated 5 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 13 out of 14 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 13 out of 14 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
a1a2544 to
e30c004
Compare
fix test fix todo update config Now nebula testing is optional until the ci environment is set. Add an integration doc. 5.2.0 address comments add conftest address comment of fixed credentials address comments Update docs/nebula_graph_integration_guide.mdx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: haowen <19355821+wenhaocs@users.noreply.github.com> exclude bool check in int check create range index when the number of nodes reach the threshold create embedding for edges and add range index for future extendibility handle different metric type fix doc string fix doc string address comments add more test cases and fix bugs remove backticks and unify version in the doc string sanitize fix comment fix comment Signed-off-by: wenhaocs <19355821+wenhaocs@users.noreply.github.com>
- Change memmachine.common.* to memmachine_server.common.* - Use OrderedValue instead of OrderedPropertyValue - Update nebula-related imports for new package structure - All 28 tests passing Signed-off-by: wenhaocs <19355821+wenhaocs@users.noreply.github.com>
b88c9c7 to
4f6dd87
Compare
Signed-off-by: wenhaocs <19355821+wenhaocs@users.noreply.github.com>
Signed-off-by: wenhaocs <19355821+wenhaocs@users.noreply.github.com>
Signed-off-by: wenhaocs <19355821+wenhaocs@users.noreply.github.com>
Signed-off-by: wenhaocs <19355821+wenhaocs@users.noreply.github.com>
742db51 to
9e18277
Compare
Purpose of the change
This PR adds NebulaGraph Enterprise as an alternative vector graph store backend for episodic memory, alongside the existing Neo4j support. Users can now choose between Neo4j and NebulaGraph based on their deployment and scalability needs.
Description
Motivation
NebulaGraph has the follow features:
Core Implementation
Add
src/memmachine/common/vector_graph_store/nebula_graph_vector_graph_store.pywhich implements vector_graph_store.pyAdded NebulaGraphConf in
src/memmachine/common/configuration/database_conf.pyAdded NebulaGraph client management to
src/memmachine/common/resource_manager/database_manager.pyAdded nebula = ["nebula5-python>=5.0.0"] optional dependency
Fixes/Closes
Fixes #(issue number)
Type of change
[Please delete options that are not relevant.]
How Has This Been Tested?
All Nebula related tests are base on a local Nebula cluster.
Note that the CI environment does not have Nebula cluster set yet. These tests will be skipped until the environment is ready.
New Test Files:
Enhanced Test Files:
[Please delete options that are not relevant.]
Test Results: [Attach logs, screenshots, or relevant output]
Checklist
[Please delete options that are not relevant.]
Maintainer Checklist
Screenshots/Gifs
[If applicable, add screenshots or GIFs that show the changes in action. This is especially helpful for API responses. Otherwise, delete this section or type "N/A".]
Further comments
[Add any other relevant information here, such as potential side effects, future considerations, or any specific questions for the reviewer. Otherwise, type "None".]