Create Stores
Stores are AI-powered search indexes that organize your files for semantic search. Choose the right configuration for your use case, from temporary development environments to public knowledge bases.
Basic Creation
Create a new Store with default settings:
from mixedbread import Mixedbread
mxbai = Mixedbread(api_key="YOUR_API_KEY")
store = mxbai.stores.create(name="my-knowledge-base")
print(store)When you create a Store, you get a Store object with a unique ID (UUID). You can use either the ID or the name you provide as Store identifiers in all operations.
For complete details on the Store object structure, see Data Models.
Configuration Options
Name
Names and IDs are interchangeable identifiers for all operations.
from mixedbread import Mixedbread
mxbai = Mixedbread(api_key="YOUR_API_KEY")
store = mxbai.stores.create(
name="product-documentation",
description="Product documentation and FAQs for customer support",
)
print(store)Naming Rules:
- Can only contain lowercase letters, numbers, periods (
.), and hyphens (-) - Must be unique within your organization
- Can be updated at any time
Expiration Policies
Set automatic cleanup policies to manage Store lifecycle based on activity:
from mixedbread import Mixedbread
from mixedbread.types import ExpiresAfterParam
mxbai = Mixedbread(api_key="YOUR_API_KEY")
store = mxbai.stores.create(
name="development-tests",
expires_after=ExpiresAfterParam(anchor="last_active_at", days=7),
)
print(store)The last_active_at anchor resets the expiration timer whenever you add files, delete files, or perform searches. Stores never expire unless explicitly configured.
Public Access
Control read access to your Store:
from mixedbread import Mixedbread
mxbai = Mixedbread(api_key="YOUR_API_KEY")
store = mxbai.stores.create(
name="public-documentation",
description="Public API documentation and tutorials",
is_public=True,
)
print(store)Private (default): Only your organization can access. You pay all costs.
Public: Anyone with an API key can search. They pay for their own searches.
Store Configuration
Configure how files are processed and how metadata is used for search context:
Contextualization: Control whether metadata is included when embedding chunks to improve search relevance. When enabled, metadata fields are added to the chunk text before embedding, making searches more contextually aware.
false(default): Chunks are embedded without metadatatrue: All metadata fields are included (flattened)- Array of field names: Only specified fields are included (supports nested fields with dot notation)
Example with Contextualization:
This configuration will include the title, author.name, and category
metadata fields when creating embeddings for chunks, making searches more
accurate when these attributes are relevant to the query.
Configuration Guide
| Use Case | Name Pattern | Expiration | Public | Purpose |
|---|---|---|---|---|
| Development | dev-{feature} | 7 days | No | Temporary testing |
| Production Docs | docs-v{version} | Never | Yes | Public documentation |
| Customer Data | customer-{id} | Never | No | Private customer content |
| Demo/POC | demo-{client} | 30 days | No | Time-limited demos |
Combined Configuration
Use multiple configuration options together for specific use cases:
from mixedbread import Mixedbread
from mixedbread.types import ExpiresAfterParam
mxbai = Mixedbread(api_key="YOUR_API_KEY")
store = mxbai.stores.create(
name="dev-feature-search",
description="Development testing for new search feature",
expires_after=ExpiresAfterParam(anchor="last_active_at", days=7),
)
print(store)from mixedbread import Mixedbread
mxbai = Mixedbread(api_key="YOUR_API_KEY")
store = mxbai.stores.create(
name="api-docs-v2",
description="Public API documentation version 2.0",
is_public=True,
)
print(store)