Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
69b552f
Add negation detection and provider registry for NLP capabilities
tmuskal Apr 9, 2026
1cb66ce
Merge branch 'main' of https://github.com/tmuskal/mempalace
tmuskal Apr 9, 2026
bfb336e
Merge branch 'main' of https://github.com/tmuskal/mempalace
tmuskal Apr 9, 2026
cc76e8a
feat: add PySBD and SpaCy NLP providers with tests for sentence segme…
tmuskal Apr 9, 2026
eef3c8a
Add SLM, WTPSplit, and GLiNER providers with comprehensive tests
tmuskal Apr 9, 2026
b3bf393
feat: add NLP integration tests for pySBD, spaCy, GLiNER, and WTPSplit
tmuskal Apr 9, 2026
ea30b80
feat: add optional NLP dependencies for basic, full, and SLM configur…
tmuskal Apr 9, 2026
88f8f76
feat: implement NLP-based sentence splitting and entity detection
tmuskal Apr 9, 2026
d6f4a88
feat: enhance entity extraction with NLP NER provider support
tmuskal Apr 9, 2026
138b76c
feat: implement NLP classification for memory extraction scoring
tmuskal Apr 9, 2026
075a79e
feat: add NLP triple extraction functionality to process_file
tmuskal Apr 9, 2026
6765a97
feat: add tests for NLP feature flag functionality in various modules
tmuskal Apr 9, 2026
bb6bd4b
fix: resolve CI failures for NLP integration
tmuskal Apr 9, 2026
37df295
fix: don't set NLP env vars globally in test-nlp CI job
tmuskal Apr 9, 2026
67f2ff1
fix: update spaCy sentence segmentation test to handle model limitations
tmuskal Apr 9, 2026
edcfdda
fix: enhance entity code generation and update NLP config tests for e…
tmuskal Apr 9, 2026
e77893a
fix: update CI workflow to enhance NLP feature flag testing and add s…
tmuskal Apr 9, 2026
290658e
fix: update NLP provider benchmark to include self-test mode and impr…
tmuskal Apr 9, 2026
c572b35
feat: add NLP-enhanced retrieval modes to LongMemEval benchmark
tmuskal Apr 9, 2026
e7f96d9
fix: add tests/__init__.py for benchmark imports
tmuskal Apr 9, 2026
44e1e6c
fix: add timeouts to benchmark-speed CI job
tmuskal Apr 9, 2026
fd790dc
fix: narrow speed benchmark scope and add continue-on-error
tmuskal Apr 9, 2026
b4be56a
feat: bench_nlp_providers runs LongMemEval to produce Recall@k/NDCG@k
tmuskal Apr 10, 2026
2371fff
fix: run actual LongMemEval benchmark in CI instead of smoke test
tmuskal Apr 10, 2026
e307fab
feat: enhance NLP processing with entity extraction and temporal scor…
tmuskal Apr 10, 2026
ba45e64
feat: enhance NLP capabilities with entity extraction, temporal detec…
tmuskal Apr 10, 2026
214fe4f
feat: enhance NLP capabilities with entity extraction, temporal detec…
tmuskal Apr 10, 2026
1cf7ec4
feat: implement NLP-based temporal detection and assistant-reference …
tmuskal Apr 10, 2026
2b8af02
Merge branch 'milla-jovovich:main' into main
tmuskal Apr 10, 2026
2bd5512
docs: add note on nlp-coref compatibility with spacy versions
tmuskal Apr 10, 2026
ea2fd7c
feat: add prefetch command to NLP for downloading models in offline e…
tmuskal Apr 10, 2026
60d5f29
feat: add benchmarks for NLP operation timing and triple extraction p…
tmuskal Apr 10, 2026
08789f9
feat: add triple extraction quality benchmark and improve GLiNER prov…
tmuskal Apr 10, 2026
41f91b3
fix: update GLiNER model loading to include onnx model file parameter
tmuskal Apr 10, 2026
6d8a96d
feat: add HuggingFace repo ID to ModelSpec and implement model downlo…
tmuskal Apr 10, 2026
5d396fe
refactor: update prompt templates for sentiment analysis, triples ext…
tmuskal Apr 10, 2026
54cef17
fix: update SLM provider for onnxruntime-genai 0.13 API and add tripl…
tmuskal Apr 10, 2026
33f1c97
fix: improve triple extraction quality (GLiNER F1 0.34, SLM F1 0.63)
tmuskal Apr 10, 2026
07ac147
fix: ruff format test_slm_provider.py
tmuskal Apr 10, 2026
15bc331
fix: update references from Gemma 3 1B to Phi-3.5 Mini in model provi…
tmuskal Apr 10, 2026
0423cbd
fix: stop NLP mode from degrading retrieval quality
tmuskal Apr 10, 2026
9205d8b
fix: add huggingface_hub to nlp extras and wire up --nlp-backend flag
tmuskal Apr 10, 2026
cf23f6c
Merge branch 'main' into main
tmuskal Apr 10, 2026
26cbe22
Merge branch 'main' into main
bensig Apr 11, 2026
4242006
Merge branch 'main' into main
tmuskal Apr 11, 2026
c83a144
Merge branch 'develop' into main
tmuskal Apr 12, 2026
74900e1
Merge branch 'develop' into main
tmuskal Apr 14, 2026
d13a44a
Merge branch 'develop' into main
tmuskal Apr 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 85 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,91 @@ jobs:
python-version: "3.9"
- run: pip install -e ".[dev]"
- run: python -m pytest tests/ -v --ignore=tests/benchmarks --cov=mempalace --cov-report=term-missing --cov-fail-under=80 --durations=10

test-nlp:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
python-version: "3.11"
- run: pip install -e ".[dev,nlp-full]"
- run: python -m spacy download xx_ent_wiki_sm
- name: Run base test suite with NLP flags enabled
env:
MEMPALACE_NLP_SENTENCES: "1"
MEMPALACE_NLP_NEGATION: "1"
MEMPALACE_NLP_NER: "1"
MEMPALACE_NLP_CLASSIFY: "1"
MEMPALACE_NLP_TRIPLES: "1"
run: python -m pytest tests/ -v --ignore=tests/benchmarks -m "not benchmark and not stress" --cov=mempalace --cov-report=term-missing --cov-fail-under=80
- name: Run NLP integration tests with real providers
run: python -m pytest tests/test_nlp_integration.py -v -m "nlp"
continue-on-error: true

benchmark-quality:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
python-version: "3.11"
- name: Install base dependencies
run: pip install -e ".[dev]"
- name: Quality benchmark — baseline (raw, 20 questions)
run: python benchmarks/with-nlp-provider/bench_nlp_providers.py --mode raw --limit 20
- name: Install NLP dependencies
run: pip install -e ".[nlp-full]"
- name: Download spaCy model
run: python -m spacy download xx_ent_wiki_sm
- name: Quality benchmark — NLP-enhanced (nlp_aaak, 20 questions)
env:
MEMPALACE_NLP_SENTENCES: "1"
MEMPALACE_NLP_NEGATION: "1"
MEMPALACE_NLP_NER: "1"
MEMPALACE_NLP_CLASSIFY: "1"
MEMPALACE_NLP_TRIPLES: "1"
run: python benchmarks/with-nlp-provider/bench_nlp_providers.py --mode nlp_aaak --limit 20
- name: Install SLM dependencies
run: pip install onnxruntime-genai>=0.4
continue-on-error: true
- name: Triple extraction quality benchmark — all providers
env:
MEMPALACE_NLP_BACKEND: gliner
MEMPALACE_NLP_TRIPLES: "1"
MEMPALACE_NLP_SLM: "1"
MEMPALACE_AUTO_DOWNLOAD: "1"
run: python benchmarks/bench_triples.py --provider all

benchmark-speed:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
python-version: "3.11"
- name: Install base dependencies
run: pip install -e ".[dev]"
- name: Speed benchmark WITHOUT NLP providers (baseline)
timeout-minutes: 10
continue-on-error: true
run: python -m pytest tests/benchmarks/test_knowledge_graph_bench.py tests/benchmarks/test_ingest_bench.py -v -m "benchmark and not stress" --bench-scale small
- name: Install NLP dependencies
run: pip install -e ".[nlp-full]"
- name: Download spaCy model
run: python -m spacy download xx_ent_wiki_sm
- name: Speed benchmark WITH NLP providers
timeout-minutes: 10
continue-on-error: true
env:
MEMPALACE_NLP_SENTENCES: "1"
MEMPALACE_NLP_NEGATION: "1"
MEMPALACE_NLP_NER: "1"
MEMPALACE_NLP_CLASSIFY: "1"
MEMPALACE_NLP_TRIPLES: "1"
run: python -m pytest tests/benchmarks/test_knowledge_graph_bench.py tests/benchmarks/test_ingest_bench.py -v -m "benchmark and not stress" --bench-scale small

lint:
runs-on: ubuntu-latest
steps:
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ __pycache__/
.pytest_cache/
mempal.yaml
.a5c/
.coverage
benchmarks/with-nlp-provider/longmemeval_s_cleaned.json
.claude/
.codex/
.codex
Expand Down
Loading
Loading