hy-memory 2.0.2__tar.gz → 2.0.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {hy_memory-2.0.2/hy_memory.egg-info → hy_memory-2.0.3}/PKG-INFO +9 -9
- {hy_memory-2.0.2 → hy_memory-2.0.3}/README.md +8 -8
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/agent/llm_provider.py +14 -4
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/config.py +8 -1
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/core/embed_service.py +14 -4
- {hy_memory-2.0.2 → hy_memory-2.0.3/hy_memory.egg-info}/PKG-INFO +9 -9
- {hy_memory-2.0.2 → hy_memory-2.0.3}/pyproject.toml +1 -1
- {hy_memory-2.0.2 → hy_memory-2.0.3}/LICENSE +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/MANIFEST.in +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/__init__.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/agent/__init__.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/agent/abstractor.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/agent/emotion_analyzer.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/agent/episode_summary.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/agent/extractor.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/agent/intention_detector.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/agent/mem_agent.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/agent/prompts_zh.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/agent/reconciler.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/agent/reflector.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/agent/tools/__init__.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/agent/tools/base.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/agent/tools/basic_profile.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/client.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/coding/__init__.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/coding/chain_store.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/coding/extractor.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/coding/fact_reconciler.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/coding/judge.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/coding/lexical.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/coding/preproc.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/coding/prompts_zh.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/coding/reconciler.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/coding/store.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/coding/types.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/coding/writer.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/core/__init__.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/core/merger.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/core/scorer.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/core/workload.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/data/__init__.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/data/cache.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/data/cache_base.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/data/cache_mysql.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/data/cache_sqlite.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/data/graph_store.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/data/graph_store_base.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/data/graph_store_kuzu.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/data/graph_store_neo4j.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/data/history_store.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/data/kv_store.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/data/rdb.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/data/vector_store.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/data/vector_store_base.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/data/vector_store_chroma.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/data/vector_store_faiss.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/data/vector_store_qdrant.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/inspector.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/metrics.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/models/__init__.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/models/memory.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/models/requests.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/__init__.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_graph/__init__.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_graph/projector.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_graph/rerank.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_graph/topic_summary.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/__init__.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/bm25.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/bm25_fastembed.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/candidate_guards.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/config.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/date_view.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/dedup.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/diversity.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/entities.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/entity_store.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/evolution.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/hierarchy_bundle.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/intent.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/intention.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/lemmatize.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/local_rerank.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/memory_format.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/multi_seed_bundle.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/ner.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/profile_evidence.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/profile_owner_gate.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/query_expand.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/reconcile_retrieval.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/record_date_view.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/retrieval_clauses.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/rrf.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/scoring.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/series_tail_guard.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/session_episode.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/strength.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/supplemental_propositions.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/tag_index.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/temporal.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/topic_candidates.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/trace.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/underflow.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/user_level_l0.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/balanced_catalog.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/base.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/cross_domain_sweeper.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/reader.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/reader_base.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/reader_hybrid.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/reader_legacy.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/registry.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/specific_supplement.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/system2_agent.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/system2_tools.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/system2_writer.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/user_profile_scope.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/writer.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/runtime.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/server.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/structure.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/utils/async_executor.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/utils/clone_references.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/utils/keyword_ties.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/utils/lang_detect.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/utils/log_setup.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/utils/metrics.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/utils/pipeline_log_writer.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/utils/pipeline_observability.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/utils/source_filter.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/utils/time_window.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/utils/token_count.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/utils/trace_file_writer.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/utils/tracer.py +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory.egg-info/SOURCES.txt +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory.egg-info/dependency_links.txt +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory.egg-info/requires.txt +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory.egg-info/top_level.txt +0 -0
- {hy_memory-2.0.2 → hy_memory-2.0.3}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hy-memory
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.3
|
|
4
4
|
Summary: HY Memory - Industrial-grade dual-system cognitive memory framework
|
|
5
5
|
Author: alvinfei
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -83,7 +83,7 @@ English | [中文](README.zh.md)
|
|
|
83
83
|
|
|
84
84
|
## Latest News
|
|
85
85
|
|
|
86
|
-
* *<mark>[new]</mark>* 🔥🔥🔥 **[2026-10]**: 🚀 **Released** **Hy Memory 2.0 (`hy-memory==2.0.
|
|
86
|
+
* *<mark>[new]</mark>* 🔥🔥🔥 **[2026-10]**: 🚀 **Released** **Hy Memory 2.0 (`hy-memory==2.0.3`)** on [PyPI](https://pypi.org/project/hy-memory/2.0.3/) and open-sourced the **Hy-Memory** monorepo together with **[MemHub](memhub/README.md)**!
|
|
87
87
|
* *<mark>[new]</mark>* 🔥🔥🔥 **[2026-10]**: 🚀 **Open-sourced** **[Hy-Memory-30B-A3B](https://huggingface.co/tencent/Hy-Memory-30B-A3B)** on Hugging Face along with its [technical report](https://arxiv.org/abs/2610.22196) on attributed reinforcement learning for long-term memory writing!
|
|
88
88
|
* *<mark>[new]</mark>* 🔥🔥 **[2026-09]**: 📊 **Released** **[CMB: A Coding Memory Benchmark for Long-Horizon and Interleaved Coding Agents](docs/papers/CMB_A_Coding_Memory_Benchmark_for_Long_Horizon_and_Interleaved_Coding_Agents.pdf)** (submitted to **ICLR 2027**).
|
|
89
89
|
* *<mark>[new]</mark>* 🔥🔥 **[2026-08]**: 🎉 **Accepted** at **EMNLP 2026**: **[Memory Beyond Recall: A Dual-Process Cognitive Memory System for Self-Evolving LLM Agents](https://arxiv.org/abs/2606.09483)**!
|
|
@@ -114,13 +114,13 @@ Welcome to the **Hy Memory Research Family**, covering cognitive chat memory, lo
|
|
|
114
114
|
### 1. Installation
|
|
115
115
|
|
|
116
116
|
```bash
|
|
117
|
-
pip install hy-memory==2.0.
|
|
118
|
-
pip install "hy-memory[qdrant]==2.0.
|
|
119
|
-
pip install "hy-memory[faiss]==2.0.
|
|
120
|
-
pip install "hy-memory[graph]==2.0.
|
|
121
|
-
pip install "hy-memory[mysql]==2.0.
|
|
122
|
-
pip install "hy-memory[rerank]==2.0.
|
|
123
|
-
pip install "hy-memory[all]==2.0.
|
|
117
|
+
pip install hy-memory==2.0.3 # core (includes ChromaDB and Kuzu)
|
|
118
|
+
pip install "hy-memory[qdrant]==2.0.3" # + Qdrant
|
|
119
|
+
pip install "hy-memory[faiss]==2.0.3" # + FAISS
|
|
120
|
+
pip install "hy-memory[graph]==2.0.3" # + Neo4j
|
|
121
|
+
pip install "hy-memory[mysql]==2.0.3" # + MySQL cache
|
|
122
|
+
pip install "hy-memory[rerank]==2.0.3" # + local multilingual cross-encoder rerank
|
|
123
|
+
pip install "hy-memory[all]==2.0.3" # everything
|
|
124
124
|
```
|
|
125
125
|
|
|
126
126
|
### 2. Configuration
|
|
@@ -32,7 +32,7 @@ English | [中文](README.zh.md)
|
|
|
32
32
|
|
|
33
33
|
## Latest News
|
|
34
34
|
|
|
35
|
-
* *<mark>[new]</mark>* 🔥🔥🔥 **[2026-10]**: 🚀 **Released** **Hy Memory 2.0 (`hy-memory==2.0.
|
|
35
|
+
* *<mark>[new]</mark>* 🔥🔥🔥 **[2026-10]**: 🚀 **Released** **Hy Memory 2.0 (`hy-memory==2.0.3`)** on [PyPI](https://pypi.org/project/hy-memory/2.0.3/) and open-sourced the **Hy-Memory** monorepo together with **[MemHub](memhub/README.md)**!
|
|
36
36
|
* *<mark>[new]</mark>* 🔥🔥🔥 **[2026-10]**: 🚀 **Open-sourced** **[Hy-Memory-30B-A3B](https://huggingface.co/tencent/Hy-Memory-30B-A3B)** on Hugging Face along with its [technical report](https://arxiv.org/abs/2610.22196) on attributed reinforcement learning for long-term memory writing!
|
|
37
37
|
* *<mark>[new]</mark>* 🔥🔥 **[2026-09]**: 📊 **Released** **[CMB: A Coding Memory Benchmark for Long-Horizon and Interleaved Coding Agents](docs/papers/CMB_A_Coding_Memory_Benchmark_for_Long_Horizon_and_Interleaved_Coding_Agents.pdf)** (submitted to **ICLR 2027**).
|
|
38
38
|
* *<mark>[new]</mark>* 🔥🔥 **[2026-08]**: 🎉 **Accepted** at **EMNLP 2026**: **[Memory Beyond Recall: A Dual-Process Cognitive Memory System for Self-Evolving LLM Agents](https://arxiv.org/abs/2606.09483)**!
|
|
@@ -63,13 +63,13 @@ Welcome to the **Hy Memory Research Family**, covering cognitive chat memory, lo
|
|
|
63
63
|
### 1. Installation
|
|
64
64
|
|
|
65
65
|
```bash
|
|
66
|
-
pip install hy-memory==2.0.
|
|
67
|
-
pip install "hy-memory[qdrant]==2.0.
|
|
68
|
-
pip install "hy-memory[faiss]==2.0.
|
|
69
|
-
pip install "hy-memory[graph]==2.0.
|
|
70
|
-
pip install "hy-memory[mysql]==2.0.
|
|
71
|
-
pip install "hy-memory[rerank]==2.0.
|
|
72
|
-
pip install "hy-memory[all]==2.0.
|
|
66
|
+
pip install hy-memory==2.0.3 # core (includes ChromaDB and Kuzu)
|
|
67
|
+
pip install "hy-memory[qdrant]==2.0.3" # + Qdrant
|
|
68
|
+
pip install "hy-memory[faiss]==2.0.3" # + FAISS
|
|
69
|
+
pip install "hy-memory[graph]==2.0.3" # + Neo4j
|
|
70
|
+
pip install "hy-memory[mysql]==2.0.3" # + MySQL cache
|
|
71
|
+
pip install "hy-memory[rerank]==2.0.3" # + local multilingual cross-encoder rerank
|
|
72
|
+
pip install "hy-memory[all]==2.0.3" # everything
|
|
73
73
|
```
|
|
74
74
|
|
|
75
75
|
### 2. Configuration
|
|
@@ -496,11 +496,21 @@ class LLMProvider:
|
|
|
496
496
|
clients = self._clients.setdefault(loop, {})
|
|
497
497
|
client = clients.get(client_key)
|
|
498
498
|
if client is None:
|
|
499
|
+
client_options: Dict[str, Any] = {
|
|
500
|
+
"api_key": base_api_key,
|
|
501
|
+
"base_url": base_url,
|
|
502
|
+
"timeout": self._llm_config.timeout,
|
|
503
|
+
"max_retries": 0,
|
|
504
|
+
}
|
|
505
|
+
transport_factory = getattr(self.config, "http_transport_factory", None)
|
|
506
|
+
if callable(transport_factory):
|
|
507
|
+
import httpx
|
|
508
|
+
|
|
509
|
+
client_options["http_client"] = httpx.AsyncClient(
|
|
510
|
+
transport=transport_factory()
|
|
511
|
+
)
|
|
499
512
|
client = AsyncOpenAI(
|
|
500
|
-
|
|
501
|
-
base_url=base_url,
|
|
502
|
-
timeout=self._llm_config.timeout,
|
|
503
|
-
max_retries=0,
|
|
513
|
+
**client_options,
|
|
504
514
|
)
|
|
505
515
|
clients[client_key] = client
|
|
506
516
|
|
|
@@ -6,7 +6,7 @@ Agent Memory - 配置管理
|
|
|
6
6
|
|
|
7
7
|
import os
|
|
8
8
|
from dataclasses import dataclass, field
|
|
9
|
-
from typing import Optional, Dict, Any, List
|
|
9
|
+
from typing import Optional, Dict, Any, Callable, List
|
|
10
10
|
from pathlib import Path
|
|
11
11
|
|
|
12
12
|
|
|
@@ -1252,6 +1252,13 @@ class MemoryConfig:
|
|
|
1252
1252
|
enable_agent: bool = False
|
|
1253
1253
|
debug: bool = False
|
|
1254
1254
|
metrics_enabled: bool = True
|
|
1255
|
+
# Runtime-only HTTP transport factory. MemHub uses this for request-cost
|
|
1256
|
+
# budgeting without restricting the embedded SDK's local store access.
|
|
1257
|
+
http_transport_factory: Optional[Callable[[], Any]] = field(
|
|
1258
|
+
default=None,
|
|
1259
|
+
repr=False,
|
|
1260
|
+
compare=False,
|
|
1261
|
+
)
|
|
1255
1262
|
|
|
1256
1263
|
def __post_init__(self):
|
|
1257
1264
|
# enable_graph 跟随 mode 走:mode=ultra 时自动启用,无需独立环境变量
|
|
@@ -356,11 +356,21 @@ class EmbedService:
|
|
|
356
356
|
key = self._client_cache_key(base_url, api_key, timeout)
|
|
357
357
|
client = self._client_cache.get(key)
|
|
358
358
|
if client is None:
|
|
359
|
+
client_options = {
|
|
360
|
+
"api_key": api_key,
|
|
361
|
+
"base_url": base_url or None,
|
|
362
|
+
"timeout": timeout,
|
|
363
|
+
"max_retries": 0,
|
|
364
|
+
}
|
|
365
|
+
transport_factory = getattr(self.config, "http_transport_factory", None)
|
|
366
|
+
if callable(transport_factory):
|
|
367
|
+
import httpx
|
|
368
|
+
|
|
369
|
+
client_options["http_client"] = httpx.AsyncClient(
|
|
370
|
+
transport=transport_factory()
|
|
371
|
+
)
|
|
359
372
|
client = AsyncOpenAI(
|
|
360
|
-
|
|
361
|
-
base_url=base_url or None,
|
|
362
|
-
timeout=timeout,
|
|
363
|
-
max_retries=0,
|
|
373
|
+
**client_options,
|
|
364
374
|
)
|
|
365
375
|
self._client_cache[key] = client
|
|
366
376
|
return client
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hy-memory
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.3
|
|
4
4
|
Summary: HY Memory - Industrial-grade dual-system cognitive memory framework
|
|
5
5
|
Author: alvinfei
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -83,7 +83,7 @@ English | [中文](README.zh.md)
|
|
|
83
83
|
|
|
84
84
|
## Latest News
|
|
85
85
|
|
|
86
|
-
* *<mark>[new]</mark>* 🔥🔥🔥 **[2026-10]**: 🚀 **Released** **Hy Memory 2.0 (`hy-memory==2.0.
|
|
86
|
+
* *<mark>[new]</mark>* 🔥🔥🔥 **[2026-10]**: 🚀 **Released** **Hy Memory 2.0 (`hy-memory==2.0.3`)** on [PyPI](https://pypi.org/project/hy-memory/2.0.3/) and open-sourced the **Hy-Memory** monorepo together with **[MemHub](memhub/README.md)**!
|
|
87
87
|
* *<mark>[new]</mark>* 🔥🔥🔥 **[2026-10]**: 🚀 **Open-sourced** **[Hy-Memory-30B-A3B](https://huggingface.co/tencent/Hy-Memory-30B-A3B)** on Hugging Face along with its [technical report](https://arxiv.org/abs/2610.22196) on attributed reinforcement learning for long-term memory writing!
|
|
88
88
|
* *<mark>[new]</mark>* 🔥🔥 **[2026-09]**: 📊 **Released** **[CMB: A Coding Memory Benchmark for Long-Horizon and Interleaved Coding Agents](docs/papers/CMB_A_Coding_Memory_Benchmark_for_Long_Horizon_and_Interleaved_Coding_Agents.pdf)** (submitted to **ICLR 2027**).
|
|
89
89
|
* *<mark>[new]</mark>* 🔥🔥 **[2026-08]**: 🎉 **Accepted** at **EMNLP 2026**: **[Memory Beyond Recall: A Dual-Process Cognitive Memory System for Self-Evolving LLM Agents](https://arxiv.org/abs/2606.09483)**!
|
|
@@ -114,13 +114,13 @@ Welcome to the **Hy Memory Research Family**, covering cognitive chat memory, lo
|
|
|
114
114
|
### 1. Installation
|
|
115
115
|
|
|
116
116
|
```bash
|
|
117
|
-
pip install hy-memory==2.0.
|
|
118
|
-
pip install "hy-memory[qdrant]==2.0.
|
|
119
|
-
pip install "hy-memory[faiss]==2.0.
|
|
120
|
-
pip install "hy-memory[graph]==2.0.
|
|
121
|
-
pip install "hy-memory[mysql]==2.0.
|
|
122
|
-
pip install "hy-memory[rerank]==2.0.
|
|
123
|
-
pip install "hy-memory[all]==2.0.
|
|
117
|
+
pip install hy-memory==2.0.3 # core (includes ChromaDB and Kuzu)
|
|
118
|
+
pip install "hy-memory[qdrant]==2.0.3" # + Qdrant
|
|
119
|
+
pip install "hy-memory[faiss]==2.0.3" # + FAISS
|
|
120
|
+
pip install "hy-memory[graph]==2.0.3" # + Neo4j
|
|
121
|
+
pip install "hy-memory[mysql]==2.0.3" # + MySQL cache
|
|
122
|
+
pip install "hy-memory[rerank]==2.0.3" # + local multilingual cross-encoder rerank
|
|
123
|
+
pip install "hy-memory[all]==2.0.3" # everything
|
|
124
124
|
```
|
|
125
125
|
|
|
126
126
|
### 2. Configuration
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hy_memory-2.0.2 → hy_memory-2.0.3}/hy_memory/pipelines/_retrieval/supplemental_propositions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|