Skip to main content

autogen-goodmem

GoodMem memory and tools for the AutoGen agent framework.

autogen-goodmem gives an AutoGen agent two things:

  1. GoodMemContextProvider — an autogen_core.memory.Memory implementation backed by a GoodMem space, so context retrieval is automatic on every turn.
  2. create_goodmem_tools(client) — 11 FunctionTools the agent can call directly to manage spaces and memories.

Install

pip install autogen-goodmem

Quickstart

As an AutoGen Memory

import asyncio
from autogen_core.memory import MemoryContent, MemoryMimeType
from autogen_goodmem import GoodMemContextProvider, GoodMemMemoryConfig


async def main() -> None:
    provider = GoodMemContextProvider(
        config=GoodMemMemoryConfig(
            base_url="https://localhost:8080",
            api_key="gm_...",
            space_name="my-kb",
            embedder_id="<embedder-uuid>",
            verify_ssl=False,
        )
    )
    await provider.add(MemoryContent(content="The capital of France is Paris.", mime_type=MemoryMimeType.TEXT))
    results = await provider.query("What is the capital of France?")
    for r in results.results:
        print(r.content)
    await provider.close()


asyncio.run(main())

As tools on an agent

from autogen_goodmem import GoodMemClient, create_goodmem_tools

client = GoodMemClient(base_url="https://localhost:8080", api_key="gm_...", verify_ssl=False)
tools = create_goodmem_tools(client)  # 11 FunctionTools
# pass `tools=tools` to your AssistantAgent

Tool surface

create_goodmem_tools(client) returns these 11 tools in order:

Tool Purpose
goodmem_list_embedders List embedder models available on the server.
goodmem_list_spaces List all spaces visible to the API key.
goodmem_get_space Fetch one space by ID.
goodmem_create_space Create a space (idempotent by name).
goodmem_update_space Update name / publicRead / labels / chunking.
goodmem_delete_space Delete a space and everything in it.
goodmem_create_memory Add a memory from text or a local file.
goodmem_list_memories Paginated listing of a space's memories.
goodmem_retrieve_memories Semantic retrieval, optional reranker + LLM.
goodmem_get_memory Fetch a memory's metadata and original content.
goodmem_delete_memory Delete a memory and its embeddings.

goodmem_retrieve_memories (and GoodMemClient.retrieve_memories) accept the optional post-processor params: reranker_id, llm_id, relevance_threshold (0-1), llm_temperature (0-2), max_results, chronological_resort.

Integration tests

The tests in tests/test_goodmem_integration.py exercise every public method against a live GoodMem server. They are opt-in via the integration marker.

pip install -e ".[dev]"

export GOODMEM_API_KEY=gm_...
export GOODMEM_BASE_URL=https://localhost:8080
export GOODMEM_EMBEDDER_ID=<uuid>
export GOODMEM_RERANKER_ID=<uuid>
export GOODMEM_LLM_ID=<uuid>
export GOODMEM_PDF_PATH=/path/to/sample.pdf   # optional

python -m pytest tests/test_goodmem_integration.py -v -s -m integration

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autogen_goodmem-0.1.0.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autogen_goodmem-0.1.0-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

Details for the file autogen_goodmem-0.1.0.tar.gz.

File metadata

  • Download URL: autogen_goodmem-0.1.0.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for autogen_goodmem-0.1.0.tar.gz
Algorithm Hash digest
SHA256 109675b277cc3cfd625adf2710cb731fb543ca6b462623679497256f1b749290
MD5 b35abfe88f0be00a3851771c6d0cf391
BLAKE2b-256 19d41590a53f481df98bef99be80bb2af6e2452e98717f7c5d4e10969b934874

See more details on using hashes here.

Provenance

The following attestation bundles were made for autogen_goodmem-0.1.0.tar.gz:

Publisher: release.yml on PAIR-Systems-Inc/goodmem-autogen

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file autogen_goodmem-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: autogen_goodmem-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for autogen_goodmem-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ef681b0dfc9073eb9234c1a06bb5acdc791e549f3173dc02e0020fe5fd973ce7
MD5 b46ca0a6730e8ee29fca70b6447fc3ac
BLAKE2b-256 7094d9a63a89f285daf384efdbcb1b696e12cc3241bdf7cfac5407ae4de6b0d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for autogen_goodmem-0.1.0-py3-none-any.whl:

Publisher: release.yml on PAIR-Systems-Inc/goodmem-autogen

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page