Quickstart
This quickstart walks you through building powerful Search with Mixedbread's Stores. You'll turn your files into a searchable knowledge base and explore it using natural language queries.
Pick the approach that fits your workflow: use our SDKs for seamless programmatic control and integration into your applications, or run everything directly in your terminal with the CLI for streamlined scripting and automation.
Using the SDK
Before you begin, make sure you have:
- API Key: Get your API key from the API Keys page
- SDK Installed: Install the Mixedbread SDK for your preferred language
Python
TypeScript
Create a Store, upload your files, and search with natural language:
from mixedbread import Mixedbread
from pathlib import Path
# Initialize the client
mxbai = Mixedbread(api_key="YOUR_API_KEY")
# Create a Store
store = mxbai.stores.create(name="my-knowledge-base")
# Upload and process your files (PDFs, images, docs, code)
file_result = mxbai.stores.files.upload_and_poll(
store_identifier=store.id, file=Path("document.pdf")
)
# Search your data with natural language
results = mxbai.stores.search(
query="What are the key features?",
store_identifiers=[store.id],
top_k=3,
)
# Display the results
for chunk in results.data:
print(chunk)Working with Metadata
Add metadata during upload to categorize files and filter during search:
from mixedbread import Mixedbread
from pathlib import Path
# Initialize the client
mxbai = Mixedbread(api_key="YOUR_API_KEY")
# Create a Store
store = mxbai.stores.create(name="my-knowledge-base")
# Upload files with metadata for better organization
file_result = mxbai.stores.files.upload_and_poll(
store_identifier=store.id,
file=Path("./document.pdf"),
metadata={
"category": "documentation",
"department": "engineering",
"tags": ["api", "tutorial"],
},
)
# Search with metadata filtering to find specific content
results = mxbai.stores.search(
query="What are the key features?",
store_identifiers=[store.id],
top_k=3,
filters={"key": "category", "operator": "eq", "value": "documentation"},
)
# Display the filtered results
for chunk in results.data:
print(chunk)Use metadata to organize files by category, department, or any custom attribute, then search only the relevant subsets.
Using the CLI
Before you begin, make sure you have:
- API Key: Get your API key from the API Keys page
- CLI Installed: Install the Mixedbread CLI using your preferred package manager