Weights & Biases
A GoodMem Python client packaged for use inside Weights & Biases agent workflows.
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-wandbThe 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:
| Argument | Description |
|---|---|
base_url | Base URL of your GoodMem instance (no /v1 suffix), e.g. https://your-goodmem-server.example.com. |
api_key | Your GoodMem API key (sent as X-API-Key, starts with gm_). |
verify_ssl | Set 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):
| Parameter | Range | Description |
|---|---|---|
reranker_id | UUID | Reranker model that reorders matched chunks by relevance. |
llm_id | UUID | LLM that generates a contextual answer (abstractReply) alongside the chunks. |
relevance_threshold | 0–1 | Minimum relevance score for a result to be included. |
llm_temperature | 0–2 | Sampling temperature for the LLM post-processor. |
max_results | integer | Maximum number of results to return. |
chronological_resort | boolean | Re-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.