405 Commits

Author SHA1 Message Date
yangdx
5b70d34822 Fix get single node subgrap problem
- Replaced MATCH with OPTIONAL MATCH
- Add memory-bank directory for Cline to .gitignore
2025-03-13 02:14:02 +08:00
yangdx
3cd574f6a8 Merge branch 'main' into fix-neo4j-duplicate-nodes 2025-03-12 12:35:36 +08:00
yangdx
8f633c89fd Remove duplicate retry decorator in Neo4JStorage class. 2025-03-12 09:12:06 +08:00
ArindamRoy23
49dd5f936e
Merge branch 'HKUDS:main' into main 2025-03-11 20:53:00 +05:30
Roy
8aa9d0e6ca Add optional ids filter to vector database query methods
- Updated query method signatures across multiple vector database implementations
- Added optional `ids` parameter to filter search results
- Consistent implementation across ChromaDB, Faiss, Milvus, MongoDB, NanoVectorDB, Oracle, Qdrant, and TiDB vector storage classes
2025-03-11 15:22:17 +00:00
yangdx
cbacb615f3 Use COALESCE to handle null degree counts in Neo4J queries.
- Ensures degree count defaults to 0
- Prevents null-related errors in queries
2025-03-11 18:33:26 +08:00
yangdx
bedad9a6d9 Merge branch 'main' into fix-neo4j-duplicate-nodes 2025-03-11 18:05:58 +08:00
zrguo
c26cb3a9ea fix merge bugs 2025-03-11 16:05:04 +08:00
yangdx
30310c2845 Fix relation info in kownledge graph UI 2025-03-11 15:36:38 +08:00
zrguo
91f96f2a8b
Merge pull request #1032 from ArindamRoy23/main
Filter by ID during Query for Postgres VDB
2025-03-11 15:26:59 +08:00
yangdx
7fddabb441 Fix linting 2025-03-11 10:28:25 +08:00
yangdx
aefd596990 Refactor Neo4JStorage to use entity_id for node identification, use entity_type for node label 2025-03-11 09:59:42 +08:00
Roy
92ae895713 Refactor requirements and code formatting
- Simplified requirements.txt by removing specific version constraints
- Added comment about extra library installation using pipmaster
- Improved code formatting in base.py, operate.py, and postgres_impl.py
- Cleaned up SQL templates and query method signatures with consistent formatting
2025-03-10 15:39:18 +00:00
yangdx
5d64f3b0a0 Improved auto-scan task initialization and status tracking.
- Added autoscan status tracking in pipeline
- Ensured auto-scan runs only once per startup
2025-03-10 17:14:14 +08:00
yangdx
57a41eedb8 Fix linting 2025-03-10 15:41:46 +08:00
yangdx
46610682ce Fix data persistence issue in single-process mode
In single-process mode, data updates and persistence were not working properly because the update flags were not being correctly handled between different objects.
2025-03-10 15:41:00 +08:00
yangdx
adca27fae9 Merge branch 'main' into neo4j-add-min-degree 2025-03-10 02:13:49 +08:00
yangdx
4065a7df92 Fix linting 2025-03-10 02:07:19 +08:00
yangdx
14e1b31d1c Improved logging clarity in storage operations 2025-03-10 02:05:55 +08:00
yangdx
6b0acce644 Avoid redundant llm cache updates 2025-03-10 01:45:58 +08:00
yangdx
d2708b966d Added update flag to avoid persistence if no data is changed for KV storage 2025-03-10 01:17:25 +08:00
yangdx
4977c718f1 Improve KV storage initialize logic 2025-03-10 00:12:35 +08:00
yangdx
c938989920 Fix llm cache save problem in json_kv storage 2025-03-09 23:33:03 +08:00
yangdx
e47883d872 Add atomic data initialization lock to prevent race conditions 2025-03-09 17:33:15 +08:00
yangdx
c854aabde0 Add process ID to log messages for better multi-process debugging clarity
- Add PID to KV and Neo4j storage  logs
- Add PID to query context logs
- Improve KV data count logging for llm cache
2025-03-09 15:25:10 +08:00
yangdx
90527875fd Fix async issues in namespace init 2025-03-09 15:22:06 +08:00
Roy
04fdc617bb main_merge 2025-03-08 20:34:29 +00:00
Roy
e31c0c8f6c Update vector query methods to support ID filtering in PostgreSQL
- Modified `mix_kg_vector_query` in operate.py to pass optional IDs to vector search
- Updated PostgreSQL SQL template to filter results using document IDs instead of chunk_id
- Improved query flexibility by allowing precise document selection during vector search
2025-03-08 20:25:20 +00:00
yangdx
c5d0962872 Fix linting 2025-03-09 01:00:42 +08:00
zrguo
da59cc89d8 fix linting 2025-03-09 00:51:14 +08:00
zrguo
376b63b704
Merge pull request #1027 from dixyes/fix-qdrant-payload-id
Fix qdrant payload id
2025-03-09 00:28:17 +08:00
yangdx
18c0770409 fix: duplicate nodes for same entity(label) problem in Neo4j
- Add entity_id field as key in Neo4j nodes
- Use  entity_id for nodes retrival and upsert
2025-03-09 00:24:55 +08:00
Roy
528fb11364 Refactor vector query methods to support optional ID filtering
- Updated BaseVectorStorage query method signature to accept optional IDs
- Modified operate.py to pass query parameter IDs to vector storage queries
- Updated PostgreSQL vector storage SQL templates to filter results by document IDs
- Removed unused parameters and simplified query logic across multiple files
2025-03-08 15:43:17 +00:00
yangdx
95c06f1bde Add graph DB lock to shared storage system
• Introduced new graph_db_lock
• Added detailed lock debugging output
2025-03-08 22:36:41 +08:00
dixyes
458eafd714 Fix qdrant payload id
Qdrant now is using PointStruct.payload["id"], not PointStruct.id UUID.
This will fix id overwrite
2025-03-08 16:40:40 +08:00
Samuel Chan
b7f67eda21 fix the postgres get all labels and get knowledge graph 2025-03-08 11:45:59 +08:00
yangdx
fb4a4c736e Add duplicate edge upsert checking and logging 2025-03-08 11:36:24 +08:00
yangdx
22a93fb717 Limit neighbor nodes fetch to 1000 in Neo4JStorage. 2025-03-08 11:29:08 +08:00
yangdx
887f6ed81a Fix return empty list when no edges is found 2025-03-08 11:20:22 +08:00
yangdx
af26d65698 Convert _ensure_label method from async to sync 2025-03-08 10:23:27 +08:00
yangdx
78f8d7a1ce Convert node and edge IDs to f-strings for consistency.
- Use f-strings for node IDs
- Use f-strings for edge IDs
- Ensure consistent ID formatting
2025-03-08 10:20:10 +08:00
yangdx
84222b8b76 Refactor Neo4JStorage methods for robustness and clarity.
- Add error handling and resource cleanup
- Improve method documentation
- Optimize result consumption
2025-03-08 10:19:20 +08:00
yangdx
fcb04e47e5 Refactor Neo4J APOC fall back retrival implementaion 2025-03-08 04:28:54 +08:00
Roy
bbe139cfeb Enhance PostgreSQL vector storage with chunk_id support
- Updated SQL templates for entity and relationship upsert to include chunk_id
- Modified PGVectorStorage methods to add chunk_id when inserting or updating records
- Expanded database schema to track chunk-level metadata
2025-03-07 20:18:01 +00:00
Roy
0ec61d6407 Update project dependencies and example test files
- Updated requirements.txt with latest package versions
- Added support for filtering query results by IDs in base and operate modules
- Modified PostgreSQL vector storage to include document and chunk ID fields
2025-03-07 18:45:28 +00:00
yangdx
c07b592e1b Add missing await consume 2025-03-08 02:39:51 +08:00
yangdx
af803f4e7a Refactor Neo4J graph query with min_degree an inclusive match support 2025-03-08 01:20:36 +08:00
yangdx
0ee2e7fd48 Suppress Neo4j warning logs by setting logger level. 2025-03-07 16:56:48 +08:00
yangdx
6e3b23069c - Remove useless _label_exists method 2025-03-07 16:43:18 +08:00
zrguo
e822f35c89 Fix edit entity and relation bugs 2025-03-07 14:39:06 +08:00