Project releases

LionAGI 0.35.5 adds an optional RuVector memory backend for agent retrieval

LionAGI 0.35.5 ships an opt-in RuVector backend. Your application supplies the embeddings, unfiltered searches use a native HNSW index, filtered searches rank exactly, and everything stays in process memory.

GitHub activity: · Published:

Two ways to rank

No filter: approximate search. With tags or filters: an exact ranking over the records that qualify.

Explanatory diagram · not live telemetry
Explanatory connectionsThe application supplies embeddings to RuVectorMemoryStore, which keeps them in process memory only. A query without tags or filters uses the native HNSW index for approximate cosine search. A query with tags or metadata filters ranks every eligible record exactly by cosine similarity. Both paths return ranked memory items.Explanatory connectionsThe application supplies embeddings to RuVectorMemoryStore, which keeps them in process memory only. A query without tags or filters uses the native HNSW index for approximate cosine search. A query with tags or metadata filters ranks every eligible record exactly by cosine similarity. Both paths return ranked memory items.

Your embeddings

Supplied by the application

RuVector memory store

In process, not persisted

No filter: HNSW

Approximate cosine search

Tags or filters

Exact cosine over eligible records

Ranked memories

Read-only search tool

What changed

LionAGI is a Python framework for building agent workflows. Version 0.35.5, released on October 12, adds an optional RuVector backend for agent memory and retrieval. It is opt-in: you install the ruvector extra and import it explicitly from lionagi.integrations.ruvector. A plain import lionagi does not load it.

  • RuVectorMemoryStore implements LionAGI's MemoryStore protocol, so a Branch can use it as its memory.
  • Your application supplies the embeddings. The backend does not call any embedding provider on its own.
  • Searches without tags or filters use RuVector's native HNSW index, which is approximate. Searches with tags or metadata filters rank every eligible record exactly by cosine similarity. A record matches if it has any of the requested tags and all of the requested metadata filters.
  • RuVectorStore.as_tool gives a branch a read-only ruvector_search tool.
  • The index lives in process memory. There is no persistence, so its contents are lost when the process ends.

What the published package contains

PyPI lists lionagi 0.35.5 with a py3-none-any wheel uploaded at 2026-10-12T02:27:43Z and a source distribution at 02:27:45Z, neither yanked. The SHA-256 of each downloaded file matches PyPI's published digest. The wheel contains lionagi/integrations/ruvector with __init__.py, memory.py and store.py. Its metadata declares a ruvector extra that requires ruvector >=0.1.2,<0.2 and numpy >=1.24,<3. Python 3.10 or later is required.

PR #3451 was merged at 2026-10-11T23:28:31Z, and the GitHub release was published at 02:10:25Z the next day.

Get started

Use Python 3.10 or later in a fresh virtual environment. Install the release with its ruvector extra, then import the backend. The import should succeed silently. Without the extra, the package raises an ImportError that names the missing extra.

Documentation-verified only. We inspected the published wheel but did not install it, run these commands or execute any search.

pip install 'lionagi[ruvector]==0.35.5'
python -c "from lionagi.integrations.ruvector import RuVectorMemoryStore"

The project's own text uses uv add 'lionagi[ruvector]' for the same extra. This release adds no MCP server or skills setup.

Use it today

Input: short notes plus embeddings from the model your application already uses. Workflow: store them through RuVectorMemoryStore on a Branch, then search with a tag such as a project name. Output: the most similar tagged notes, ranked exactly. Give the agent the read-only ruvector_search tool when it should look things up but never write.

Experimental commentary — acceptance test

Separate open proposals, LionAGI draft #3454 and RuVector PR #1190, explore persistence and bounded relevance feedback. They are not part of this release, and nothing here learns or trains a model. A future persistence acceptance test should verify that stored identifiers and payloads survive a process restart. Approximate search rankings may differ after an index rebuild. This release keeps memory only until the process exits.

Limits and verification

  • Sources: release notes, the merged PR, the pinned source, and the PyPI metadata and wheel, inspected read-only on 2026-10-12.
  • The pull request includes a small synthetic benchmark run by its author, in which exact NumPy search was faster. We do not quote its figures, and the newsroom ran no benchmark.
  • HNSW search is approximate. Use a filtered query when you need an exact ranking over a known subset.

Read the original on LionAGI v0.35.5 release

v0.35.5 / PR #3451

LionAGI repository

Back to the newsroom