Skip to content

v0.36.0

Choose a tag to compare

@github-actions github-actions released this 16 Oct 02:24

Fixed

  • Breaking: RememberAsync keeps every memory that is not identical to a recent one. The default deduplication compared
    each new memory with the user's 20 newest (all sessions) and, by similarity alone, skipped it, merged it into the older
    one, or replaced the older memory's content with it. The thresholds are on a (cos + 1) / 2 scale, so «Update» fired
    at a raw cosine of 0.5 — two turns of one conversation clear that routinely. Measured on LongMemEval_S (30 questions,
    14,990 chat turns, bge-m3): the default kept 12.6 % of the turns and recall fell to session R@5 0.556 (0.931 with
    deduplication off). Now only content identical to a recent memory (ignoring case and whitespace) is skipped; similar
    content is stored with a relation to the memory it resembles. Migration: to keep merging and updating by similarity,
    set DeduplicationOptions.ActOnSimilarity = true — and calibrate the thresholds for your embedder.

Changed

  • EmbeddingGeneratorEmbeddingService says why the dimension is needed up front. Its XML doc and the error for an
    unknown dimension now state that the dimension sizes the memory stores' vector schema, so it is fixed when the service
    is created (a host that picks its model at run time passes the dimension its stores are built with); the model itself
    may change as long as its vectors keep that size.