symfony/ai-azure-search-store
Azure AI Search vector store integration for Symfony AI Store. Index and query embeddings using Azure’s vector search capabilities, enabling semantic retrieval for RAG and AI apps. Links to official docs plus Symfony AI contribution and issue resources.
StoreInterface, making it a drop-in replacement for other vector stores in the Symfony AI ecosystem.WHERE category = 'tech'). This is a critical differentiator for production-grade applications beyond pure vector search.symfony/http-client bridge.StoreInterface.AzureSearchStore::query()).symfony/ai (≥v0.8.0), which may necessitate Laravel’s Symfony bridge or a custom wrapper.AzureSearchStore into Symfony’s DI.symfony/ai and symfony/ai-azure-search-store.StoreInterface in Laravel’s service container:
$this->app->bind(\Symfony\AI\Store\StoreInterface::class, function ($app) {
return new \Symfony\AI\AzureSearchStore\AzureSearchStore(
$app->make(\Symfony\Contracts\HttpClient\HttpClientInterface::class),
config('azure-search.endpoint'),
config('azure-search.key')
);
});
WHERE metadata.field = 'value') impact query performance?StoreInterface updates)?StoreInterface, requiring zero changes to existing Symfony AI workflows (e.g., ai-platform).symfony/http-client (for Azure API calls) and ramsey/uuid (for document IDs), both Laravel-compatible.StoreInterface to AzureSearchStore using Laravel’s bind() method (as shown above).AzureSearch) to simplify usage:
use Facades\AzureSearch;
$results = AzureSearch::query($vector, $filter)->get();
$cacheKey = 'azure_search:' . md5($query);
return Cache::remember($cacheKey, now()->addMinutes(5), function () use ($query) {
return $store->query($query)->get();
});
embedding of type Collection(Edm.Double)).category, tenant_id).endpoint and api_key in Laravel’s .env:
AZURE_SEARCH_ENDPOINT=https://your-service.search.windows.net
AZURE_SEARCH_KEY=your-api-key
AzureSearchStore for the pilot feature.StoreInterface to support multiple providers (e.g., Azure, Pinecone).How can I help you explore Laravel packages today?