feat: TS SDK v3 port, graph store removal, client v3 API migration
TypeScript SDK v3 pipeline (full parity with Python): - Single-pass additive extraction with ADDITIVE_EXTRACTION_PROMPT - Hybrid search (semantic + BM25 + entity boost) with additive scoring - 8-phase batch pipeline (batch embed, persist, entity linking) - New utils: scoring.ts, lemmatization.ts (natural), entity_extraction.ts (compromise) - keywordSearch() on 8 vector stores (3 full: PGVector, Memory, Azure AI Search) - Message persistence in SQLiteManager (rolling window of 10) - Entity store as second vector collection - MAX_BATCH=100 chunking guard on OpenAI/Azure embedBatch - Updated default LLM model to gpt-4.1-nano-2025-04-14 - compromise + natural added as peer dependencies Graph store removal (Python + TypeScript): - Removed Neo4j, Memgraph, Kuzu, Neptune, Apache AGE integrations - Deleted 18 graph-related files across both SDKs - Removed GraphStoreFactory, GraphStoreConfig, graph_store config field - Removed "relations" key from all API responses - Removed graph optional dependency group from pyproject.toml - Removed neo4j-driver from TS peerDependencies - Simplified add/search/delete/reset (no more parallel graph operations) Client SDK v3 API migration: - add() endpoint: /v1/memories/ -> /v3/memories/ (async response) - search() endpoint: /v2/memories/search/ -> /v3/memories/search/ - Removed output_format injection and v1.1 unwrapping logic - Applied to both Python (sync + async) and TypeScript clients Review feedback fixes: - Removed deprecated custom_update_memory_prompt from MemoryConfig - Added MAX_BATCH=100 chunking to Python + TS embed_batch - Moved all inline imports to top level in main.py - Cleaned up GraphStoreError dead code from exceptions.py Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
3402c67805
commit
59880a6f8f
@@ -40,14 +40,6 @@ POSTGRES_USER = os.environ.get("POSTGRES_USER", "postgres")
|
||||
POSTGRES_PASSWORD = os.environ.get("POSTGRES_PASSWORD", "postgres")
|
||||
POSTGRES_COLLECTION_NAME = os.environ.get("POSTGRES_COLLECTION_NAME", "memories")
|
||||
|
||||
NEO4J_URI = os.environ.get("NEO4J_URI", "bolt://neo4j:7687")
|
||||
NEO4J_USERNAME = os.environ.get("NEO4J_USERNAME", "neo4j")
|
||||
NEO4J_PASSWORD = os.environ.get("NEO4J_PASSWORD", "mem0graph")
|
||||
|
||||
MEMGRAPH_URI = os.environ.get("MEMGRAPH_URI", "bolt://localhost:7687")
|
||||
MEMGRAPH_USERNAME = os.environ.get("MEMGRAPH_USERNAME", "memgraph")
|
||||
MEMGRAPH_PASSWORD = os.environ.get("MEMGRAPH_PASSWORD", "mem0graph")
|
||||
|
||||
OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY")
|
||||
HISTORY_DB_PATH = os.environ.get("HISTORY_DB_PATH", "/app/history/history.db")
|
||||
|
||||
@@ -64,10 +56,6 @@ DEFAULT_CONFIG = {
|
||||
"collection_name": POSTGRES_COLLECTION_NAME,
|
||||
},
|
||||
},
|
||||
"graph_store": {
|
||||
"provider": "neo4j",
|
||||
"config": {"url": NEO4J_URI, "username": NEO4J_USERNAME, "password": NEO4J_PASSWORD},
|
||||
},
|
||||
"llm": {"provider": "openai", "config": {"api_key": OPENAI_API_KEY, "temperature": 0.2, "model": "gpt-4.1-nano-2025-04-14"}},
|
||||
"embedder": {"provider": "openai", "config": {"api_key": OPENAI_API_KEY, "model": "text-embedding-3-small"}},
|
||||
"history_db_path": HISTORY_DB_PATH,
|
||||
|
||||
Reference in New Issue
Block a user