ycastor
Mnemosyne - A Graph-Based memory engine
I’m working a lot with Agents lately, and one of the classic issues is memory, there are quite a lot of memory approaches, from Graphs, to plain markdown, Obsidian with front-matter, so on and so forth. One of the SOTA is PlugMem, a proposal that used a graph with node-type hierarchies, which achieves quite nice recall results. So i implemented it in Elixir, an thus, Mnemosyne was born.
It implements the mechanism explained in the article, i’ll not go deep on it, but its pretty much a graph with some distinct node types, each holding a distinct type of memory/reference. These memories are searchable by vector-similarity together with graph-neighbours expansion.
Right now, the library is shipped using a in-memory storage backed by DETS offloading, it means that the whole graph-embeddings is kept and searched in-memory. However, i have a couple adapters in the oven. Mnemosyne Postgres, which is backed by PgVector and Mnemosyne Zvex which is backed by ZVec.
Most Liked
thanos
Nice !
Popular in Announcing
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #javascript
- #code-sync
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance









