Skip to content

Configuration

The Mixedbread Starlight plugin offers several configuration options to customize the search experience.

Configure the plugin in your astro.config.mjs:

starlightMixedbread({
// Required options
apiKey: process.env.MXBAI_API_KEY,
storeId: process.env.MXBAI_STORE_ID,
// Optional options
maxResults: 8,
baseUrl: 'https://api.mixedbread.com',
disableUserPersonalization: false,
})
  • Type: string
  • Required: Yes
  • Description: Your Mixedbread API key for authentication
apiKey: process.env.MXBAI_API_KEY
  • Type: string
  • Required: Yes
  • Description: The identifier for your vector store
storeId: process.env.MXBAI_STORE_ID
  • Type: number
  • Default: 10
  • Description: Maximum number of search results to display
maxResults: 8 // Show up to 8 results
  • Type: string
  • Default: 'https://api.mixedbread.com'
  • Description: Base URL for the Mixedbread API (useful for custom deployments)
baseUrl: 'https://api.mixedbread.com'
  • Type: boolean
  • Default: false
  • Description: Disable local storage features (recent searches, favorites)
disableUserPersonalization: true // Don't save user preferences

Customize the search endpoint in src/pages/api/search.ts:

const response = await mxbai.stores.search({
query, // User's search query
store_identifiers: [MXBAI_STORE_ID], // Your store(s)
top_k: 10, // Number of results
search_options: {
return_metadata: true, // Include metadata
},
})

You can filter results by metadata:

search_options: {
return_metadata: true,
filter: {
// Add custom filters here
}
}

Learn more about metadata filtering here.