GoodMem
ReferenceClient SDKsPython SDKModels

SpaceKey Model

SpaceKey Model documentation for Python SDK

Space configuration for retrieval operations with optional embedder weight overrides.

Properties

NameTypeDescriptionNotes
space_idstrThe unique identifier for the space to search.
embedder_weightsList[EmbedderWeight]Optional per-embedder weight overrides for this space. If not specified, database defaults are used.[optional]
filterstrOptional filter expression that must evaluate to true for memories in this space.[optional]

Example

from goodmem_client.models.space_key import SpaceKey

# Example 1: Basic space key (no filter)
space_key = SpaceKey(
    space_id="550e8400-e29b-41d4-a716-446655440000"
)

# Example 2: Space key with filter expression
space_key_filtered = SpaceKey(
    space_id="550e8400-e29b-41d4-a716-446655440000",
    filter="CAST(val('$.category') AS TEXT) = 'technology'"
)

# Example 3: Space key with time-based filter
space_key_time = SpaceKey(
    space_id="550e8400-e29b-41d4-a716-446655440000",
    filter="CAST(val('$.created_at') AS TEXT) >= '2025-01-01T00:00:00Z'"
)

# Example 4: Space key with complex filter (multiple conditions)
space_key_complex = SpaceKey(
    space_id="550e8400-e29b-41d4-a716-446655440000",
    filter="""
        CAST(val('$.priority') AS TEXT) = 'high'
        AND CAST(val('$.status') AS TEXT) = 'active'
    """
)

# Example 5: Space key with embedder weights
from goodmem_client.models.embedder_weight import EmbedderWeight

space_key_weighted = SpaceKey(
    space_id="550e8400-e29b-41d4-a716-446655440000",
    embedder_weights=[
        EmbedderWeight(
            embedder_id="embedder-1",
            weight=0.7
        ),
        EmbedderWeight(
            embedder_id="embedder-2",
            weight=0.3
        )
    ]
)

# Example 6: Combining filter and embedder weights
space_key_full = SpaceKey(
    space_id="550e8400-e29b-41d4-a716-446655440000",
    filter="CAST(val('$.category') AS TEXT) = 'research'",
    embedder_weights=[
        EmbedderWeight(embedder_id="embedder-1", weight=0.8),
        EmbedderWeight(embedder_id="embedder-2", weight=0.2)
    ]
)

# Using SpaceKey with MemoryStreamClient
from goodmem_client.streaming import MemoryStreamClient

stream_client = MemoryStreamClient(api_client)

# Single space with filter
for event in stream_client.retrieve_memory_stream(
    message="search query",
    space_keys=[space_key_filtered],
    requested_size=10
):
    # Process events...
    pass

# Multiple spaces with different filters
space_keys = [
    SpaceKey(
        space_id="space-1-id",
        filter="CAST(val('$.category') AS TEXT) = 'technology'"
    ),
    SpaceKey(
        space_id="space-2-id",
        filter="CAST(val('$.priority') AS TEXT) = 'high'"
    )
]

for event in stream_client.retrieve_memory_stream(
    message="search query",
    space_keys=space_keys,
    requested_size=10
):
    # Process events...
    pass

↑ Back to Python SDK ↑ Back to Python SDK ↑ Back to Python SDK

On this page