You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: update README for v0.9.0 and v0.9.1 features
- Add v0.9.0 memory intelligence features to Pipeline Modules section
(conflict detection, task-relevance ranking, expiry/supersede, sensitivity)
- Update Roadmap: mark OpenAPI as shipped, add all v0.9.0 issues
- Add OpenAPI/Swagger UI note to API Endpoints section
- Update Embedding Providers with CLI usage examples
- Update memory API examples with auto_classify, boost_tags, expire, supersede
- Add conflict_threshold to config examples
- Add docs/ link to Links section
- Update Integrations with Ollama and Cohere
Co-authored-by: Ona <no-reply@ona.com>
Interactive docs available at `/docs` (Swagger UI). Full OpenAPI 3.1 spec at `/openapi.yaml`.
429
+
417
430
| Method | Path | Description |
418
431
|--------|------|-------------|
419
432
| POST | `/v1/dedupe` | Deduplicate chunks |
@@ -541,6 +554,7 @@ auth:
541
554
memory:
542
555
db_path: distill-memory.db
543
556
dedup_threshold: 0.15
557
+
conflict_threshold: 0.35
544
558
545
559
session:
546
560
db_path: distill-sessions.db
@@ -600,7 +614,8 @@ If `DISTILL_API_KEYS` is not set, the API is open (suitable for local/internal u
600
614
601
615
**Alternatives:**
602
616
- Bring your own embeddings - include `"embedding"` field in chunks
603
-
- Self-host an embedding model - set `EMBEDDING_API_URL` to your endpoint
617
+
- Use Ollama locally - `--embedding-provider ollama` (no API key needed)
618
+
- Use Cohere - `--embedding-provider cohere` with `COHERE_API_KEY`
604
619
605
620
### Parameters
606
621
@@ -787,7 +802,14 @@ Strategies can be chained via `compress.Pipeline`. Configure with target reducti
787
802
788
803
### Memory (`pkg/memory`)
789
804
790
-
Persistent context memory across agent sessions. SQLite-backed with write-time deduplication via cosine similarity. Memories decay over time: full text → summary → keywords → evicted. Recall ranked by `(1-w)*similarity + w*recency`. Enable with `--memory` flag.
805
+
Persistent context memory across agent sessions. SQLite-backed with write-time deduplication via cosine similarity. Memories decay over time: full text → summary → keywords → evicted. Recall ranked by `(1-w)*similarity + w*recency` with optional task-relevance boosting. Enable with `--memory` flag.
806
+
807
+
**v0.9.0 additions:**
808
+
809
+
- **Conflict detection** — on store, entries with cosine distance 0.15–0.35 from existing memories are flagged as conflicts (contradictory information). Returned in `StoreResult.Conflicts`.
810
+
- **Task-relevance ranking** — recall accepts `boost_tags`, `task_context`, and `min_relevance` to re-rank results by what matters for the current task.
811
+
- **Expiry and supersession** — soft-delete via `POST /v1/memory/expire`, or replace with a newer version via `POST /v1/memory/supersede`. Expired entries are excluded from recall by default.
812
+
- **Sensitivity classification** — automatic PII, credential, and internal-IP detection on store via `auto_classify: true`. Recall results include `max_sensitivity` and `sensitive_chunks` metadata.
Distill supports multiple embedding backends via a unified factory. Import the provider package to register it, then call `embedding.NewProvider`:
1037
+
Distill supports multiple embedding backends via a unified factory. Switch providers with `--embedding-provider` on any command:
1038
+
1039
+
```bash
1040
+
# Use Ollama (local, no API key)
1041
+
distill api --embedding-provider ollama --embedding-base-url http://localhost:11434
1042
+
1043
+
# Use Cohere
1044
+
distill api --embedding-provider cohere
1045
+
1046
+
# Use OpenAI (default)
1047
+
distill api --embedding-provider openai
1048
+
```
1049
+
1050
+
Programmatically, import the provider package to register it, then call `embedding.NewProvider`:
1016
1051
1017
1052
```go
1018
1053
import (
@@ -1063,6 +1098,11 @@ Distill is evolving from a dedup utility into a context intelligence layer. Here
1063
1098
|**Per-call-site hit rate tracking**|[#47](https://github.com/Siddhant-K-code/distill/issues/47)| Shipped |`CallSiteTracker` records Anthropic cache usage per call site; `AllStats()` returns worst performers first. |
1064
1099
|**TTL-aware cache tracker**|[#49](https://github.com/Siddhant-K-code/distill/issues/49)| Shipped |`TTLTracker` monitors Anthropic's 5-minute cache TTL per prefix hash. `ScheduleDeadline` tells batch jobs the latest safe time to send the next request. |
1065
1100
|**Multi-provider embedding abstraction**|[#33](https://github.com/Siddhant-K-code/distill/issues/33)| Shipped |`embedding.NewProvider` factory supports OpenAI, Ollama, and Cohere via a unified `ProviderConfig`. Custom providers register via `RegisterFactory`. |
1101
+
|**Memory expiry and supersession**|[#79](https://github.com/Siddhant-K-code/distill/issues/79)| Shipped | Soft-delete via `expire`, version replacement via `supersede`. Expired entries excluded from recall. |
1102
+
|**Sensitivity classification**|[#82](https://github.com/Siddhant-K-code/distill/issues/82)| Shipped | Regex-based classifier detects PII, credentials, and internal IPs on store. Recall includes sensitivity metadata. |
1103
+
|**Conflict detection**|[#77](https://github.com/Siddhant-K-code/distill/issues/77)| Shipped | Entries with cosine distance 0.15–0.35 from existing memories are flagged as conflicts on store. |
1104
+
|**Task-relevance ranking**|[#78](https://github.com/Siddhant-K-code/distill/issues/78)| Shipped | Recall supports `boost_tags`, `task_context`, and `min_relevance` for task-aware re-ranking. |
1105
+
|**Multi-provider embeddings (CLI)**|[#25](https://github.com/Siddhant-K-code/distill/issues/25)| Shipped |`--embedding-provider` flag on `api`, `serve`, and `memory` commands. Supports `openai`, `ollama`, `cohere`. |
1066
1106
1067
1107
### Code Intelligence
1068
1108
@@ -1082,8 +1122,9 @@ Distill is evolving from a dedup utility into a context intelligence layer. Here
0 commit comments