Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
17 changes: 0 additions & 17 deletions .env.template
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,6 @@ COSMOS_DB_SUMMARIES_CONTAINER="memories_summaries"
COSMOS_DB_TURNS_CONTAINER="memories_turns"
COSMOS_DB_COUNTERS_CONTAINER=counter
COSMOS_DB_LEASE_CONTAINER=leases
# Throughput mode for all required Cosmos DB containers created by the toolkit
# (memories, counter, and lease).
# - serverless: default. The toolkit does not send container RU/s settings.
# Use this only with a Cosmos DB account configured for serverless.
# - autoscale: the toolkit provisions all required containers with autoscale
# throughput using COSMOS_DB_AUTOSCALE_MAX_RU as the max RU/s cap.
# Default max RU/s is 1000.
COSMOS_DB_THROUGHPUT_MODE=serverless
COSMOS_DB_AUTOSCALE_MAX_RU=1000

# ---- Processing thresholds (set to 0 to disable) ----
THREAD_SUMMARY_EVERY_N=10
Expand Down Expand Up @@ -58,14 +49,6 @@ AI_FOUNDRY_ENDPOINT=https://<your-account>.openai.azure.com/
AI_FOUNDRY_API_KEY=
AI_FOUNDRY_EMBEDDING_DEPLOYMENT_NAME=text-embedding-3-large
AI_FOUNDRY_EMBEDDING_DIMENSIONS=1536
AI_FOUNDRY_EMBEDDING_DATA_TYPE=float32
AI_FOUNDRY_EMBEDDING_DISTANCE_FUNCTION=cosine
# Optional. Vector index type for the memories container: quantizedFlat
# (default), diskANN, or flat. quantizedFlat works on any Cosmos DB account
# (including the classic emulator); diskANN requires the DiskANN capability on
# the Cosmos DB account, so opt into it explicitly when available.
AI_FOUNDRY_EMBEDDING_VECTOR_INDEX_TYPE=quantizedFlat
COSMOS_DB_FULL_TEXT_LANGUAGE=en-US

# Embed raw conversation turns on write so they can be vector-searched via
# search_turns(). The turns container is always provisioned with a
Expand Down
14 changes: 12 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
## Release History

## [Unreleased]
## [0.3.0b1] (Unreleased)

#### Features Added
* Write-time in-place deduplication: near-duplicate memories fold into the existing record (same id, newer content) instead of creating a new doc. See [PR:#26](https://github.com/AzureCosmosDB/AgentMemoryToolkit/pull/26)
* Reconciliation now resolves contradictions only, soft-deleting the loser with `superseded_by`; `get_memory_history()` walks that chain. See [PR:#26](https://github.com/AzureCosmosDB/AgentMemoryToolkit/pull/26)

#### Bugs Fixed
* Fixed a re-extraction loop that re-extracted the whole conversation every cycle (turns were never stamped `extracted_at` when vector dedup was on). See [PR:#26](https://github.com/AzureCosmosDB/AgentMemoryToolkit/pull/26)

#### Other Changes
* Reworked the extraction prompt (anti-inference, preserve specifics, topic-grouped memories) and simplified the schema to `fact`/`episodic` with fixed fact categories. See [PR:#26](https://github.com/AzureCosmosDB/AgentMemoryToolkit/pull/26)
* Token-bounded extraction batches with per-batch failure isolation; embedding inputs truncated to the model token budget. See [PR:#26](https://github.com/AzureCosmosDB/AgentMemoryToolkit/pull/26)

## [0.2.0b3] (2026-07-08)

Expand All @@ -17,7 +28,6 @@
`DEDUP_EVERY_N`, `THREAD_SUMMARY_EVERY_N`, `USER_SUMMARY_EVERY_N`); any key not
present falls back to the environment/defaults, and `None` preserves today's
env-only behavior. See [PR:#29](https://github.com/AzureCosmosDB/AgentMemoryToolkit/pull/29)

## [0.2.0b2] (2026-07-01)

#### Features Added
Expand Down
34 changes: 17 additions & 17 deletions Docs/azure_testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ This guide covers the minimum Azure resources, deployment steps, throughput sett

## Required Azure Services

| Service | Purpose |
|---------|---------|
| **Azure Cosmos DB for NoSQL** | Persistent memory store with vector and full-text indexes |
| **Azure OpenAI / AI Services** | Embeddings and chat generation |
| **Azure Functions** | Durable Functions orchestrator and activities |
| **Azure Storage Account** | Required by Azure Functions |
| **Application Insights** | Recommended for monitoring |
| Service | Purpose |
|--------------------------------|-----------------------------------------------------------|
| **Azure Cosmos DB for NoSQL** | Persistent memory store with vector and full-text indexes |
| **Azure OpenAI / AI Services** | Embeddings and chat generation |
| **Azure Functions** | Durable Functions orchestrator and activities |
| **Azure Storage Account** | Required by Azure Functions |
| **Application Insights** | Recommended for monitoring |

---

Expand Down Expand Up @@ -277,7 +277,7 @@ Bring the environment up in this order:
9. write a few turns and verify a thread `summary` memory appears
10. write more turns and verify `fact`, `procedural`, and `episodic` memories appear
11. verify a per-user `user_summary` memory appears once `USER_SUMMARY_EVERY_N` turns have accumulated for that user
12. test deduplication by writing two near-duplicate facts and confirming the dedup orchestrator merges them
12. test deduplication by writing two near-duplicate facts and confirming the second folds into the first in place (one active record remains, its `updated_at` bumped) rather than creating a duplicate

This keeps failures isolated and easier to diagnose.

Expand Down Expand Up @@ -367,15 +367,15 @@ az functionapp log tail \

Common issues:

| Symptom | Likely Cause |
|---------|--------------|
| 401 / 403 from Cosmos DB | Missing Cosmos DB RBAC |
| 401 / 403 from Azure OpenAI | Missing OpenAI RBAC |
| Durable Function starts but fails | Missing app settings or downstream RBAC |
| `No memories found` | No turn memories exist, or all candidate turns predate the existing summary |
| Search is slow | Embedding latency, index choice, or region mismatch |
| Change feed trigger not firing | Verify `COSMOS_DB__accountEndpoint` is set and the function can write to the configured `COSMOS_DB_COUNTERS_CONTAINER` container |
| Auto-processing not starting | Check threshold settings are > 0 in Function App configuration |
| Symptom | Likely Cause |
|-----------------------------------|----------------------------------------------------------------------------------------------------------------------------------|
| 401 / 403 from Cosmos DB | Missing Cosmos DB RBAC |
| 401 / 403 from Azure OpenAI | Missing OpenAI RBAC |
| Durable Function starts but fails | Missing app settings or downstream RBAC |
| `No memories found` | No turn memories exist, or all candidate turns predate the existing summary |
| Search is slow | Embedding latency, index choice, or region mismatch |
| Change feed trigger not firing | Verify `COSMOS_DB__accountEndpoint` is set and the function can write to the configured `COSMOS_DB_COUNTERS_CONTAINER` container |
| Auto-processing not starting | Check threshold settings are > 0 in Function App configuration |

Recommended checks:

Expand Down
Loading
Loading