Skip to main content
Go to documentation:
⌘U
Weaviate Database

Develop AI applications using Weaviate's APIs and tools

Deploy

Deploy, configure, and maintain Weaviate Database

Query Agent

Run agentic search over your Weaviate Cloud collections

Weaviate Cloud

Manage and scale Weaviate in the cloud

Engram

Persistent memory for LLM agents and applications

Additional resources

Integrations
Contributor guide
Events & Workshops
Weaviate Academy

Need help?

Weaviate LogoAsk AI Assistant⌘K
Community Forum

Install & integrate

There are several ways to use Engram, from calling the API directly to dropping it into an agent framework as a memory provider.

  • Python SDK — the weaviate-engram client for Python applications.
  • REST API — call Engram over HTTP from any language.
  • Hermes Agent — long-term memory for the Hermes Agent through the hermes-weaviate-engram plugin.

Every method authenticates with an Engram API key.

Python SDK

Install the weaviate-engram client:

pip install weaviate-engram

Connect with your API key, then store and search memories:

import os
from engram import EngramClient

client = EngramClient(api_key=os.environ["ENGRAM_API_KEY"])

For an async client, use AsyncEngramClient instead. The Quickstart has a full walkthrough, and the guides cover storing, searching, and managing memories. The source is on GitHub.

REST API

Engram is a REST service at https://api.engram.weaviate.io. Authenticate every request with your API key as a bearer token:

curl -X POST "https://api.engram.weaviate.io/v1/memories" \
-H "Authorization: Bearer $ENGRAM_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {"string": {"content": ["The user prefers dark mode."]}},
"user_id": "alice"
}'

See the REST API reference for the full list of endpoints, and the guides cover storing, searching, and managing memories.

Hermes Agent

hermes-weaviate-engram is a memory provider plugin that gives the Hermes Agent long-term memory backed by Engram. It recalls relevant memories into the system prompt before each turn, and stores each completed turn through Engram's pipeline.

Install the plugin and run the setup wizard, which prompts for your API key:

pip install hermes-weaviate-engram
hermes memory setup # choose weaviate_engram

The wizard saves ENGRAM_API_KEY to ~/.hermes/.env and sets memory.provider in your Hermes config.

The plugin exposes three tools to the agent:

ToolDescription
engram_searchSearch memories by semantic similarity.
engram_storeStore a memory. This is also how the agent "forgets" — it stores a correcting memory, and Engram's reconcile pipeline supersedes the old one.
engram_fetchProfile-shaped recall, such as "what do you know about me?"

Optional settings live in ~/.hermes/weaviate_engram.json (for example auto_recall, auto_capture, and max_recall_results). Set ENGRAM_BASE_URL to point at a staging or self-hosted endpoint. See the plugin README for the full configuration reference.

Questions and feedback

If you have any questions or feedback, let us know in the user forum.