GoodMemGoodMem
IntegrationsObservability & Eval

Weights & Biases

A GoodMem Python client packaged for use inside Weights & Biases agent workflows.

Preview· Python

Overview

GoodMem is a memory layer for AI agents that handles embedding, vector search, reranking, and LLM-powered answering server-side. This integration packages a clean GoodMem Python client for use inside Weights & Biases agent workflows: GoodMemClient exposes the full GoodMem API surface — listing embedders, creating spaces, storing text and file memories, and semantic retrieval with optional reranking and LLM summaries — so a W&B agent (or any Python app) can read and write GoodMem memory.

Scope note: This is a general-purpose GoodMem client intended for use inside W&B agent workflows. It is not a Weave tracing or evaluation plugin and does not add observability or instrumentation of its own.

Installation

pip install goodmem-wandb

The pip package is goodmem-wandb; the import name is goodmem_wandb. The package is published under a personal namespace and may still change, so this integration is marked Preview.

Configuration

GoodMemClient is configured via constructor arguments rather than environment variables:

ArgumentDescription
base_urlBase URL of your GoodMem instance (no /v1 suffix), e.g. https://your-goodmem-server.example.com.
api_keyYour GoodMem API key (sent as X-API-Key, starts with gm_).
verify_sslSet to False to skip TLS verification for self-signed dev certs (e.g. https://your-goodmem-server.example.com).

Quick start

from goodmem_wandb import GoodMemClient

client = GoodMemClient(
    base_url="https://your-goodmem-server.example.com",
    api_key="gm_your_key_here",
)

# List available embedders and create a space
embedders = client.list_embedders()
space = client.create_space(
    name="my-space",
    embedder_id=embedders[0]["embedderId"],
)

# Store a memory, then retrieve it by semantic search
client.create_memory(
    space_id=space["spaceId"],
    text_content="Important information to remember.",
)
results = client.retrieve_memories(
    query="important information",
    space_ids=[space["spaceId"]],
    max_results=5,
)

Local development. The example above uses a TLS-verified production URL. If you are running GoodMem locally with a self-signed certificate, use https://localhost:8080 and disable TLS verification with the client's verify-SSL option (see the Configuration table above). Keep TLS verification enabled for any deployed server.

Retrieval post-processing

GoodMem's retrieval call accepts these optional post-processing parameters (each framework exposes them under its own naming convention):

ParameterRangeDescription
reranker_idUUIDReranker model that reorders matched chunks by relevance.
llm_idUUIDLLM that generates a contextual answer (abstractReply) alongside the chunks.
relevance_threshold0–1Minimum relevance score for a result to be included.
llm_temperature0–2Sampling temperature for the LLM post-processor.
max_resultsintegerMaximum number of results to return.
chronological_resortbooleanRe-sort the final results by creation time instead of relevance.

Learn more

The full README, examples, and API reference are available on the PyPI package page.