SpaceKey Model
SpaceKey Model documentation for Python SDK
Space configuration for retrieval operations with optional embedder weight overrides.
Properties
| Name | Type | Description | Notes |
|---|---|---|---|
| space_id | str | The unique identifier for the space to search. | |
| embedder_weights | List[EmbedderWeight] | Optional per-embedder weight overrides for this space. If not specified, database defaults are used. | [optional] |
| filter | str | Optional 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