symfony/ai-qdrant-store
Symfony AI Store integration for Qdrant vector database. Manage collections and points, run unified similarity search with filters, and connect Symfony AI apps to Qdrant for storing and querying embeddings.
AIStore interface, ensuring consistency with other supported stores (e.g., PostgreSQL, Redis). This reduces architectural friction for teams already using Symfony AI, as it abstracts Qdrant-specific details behind a standardized contract.ScopingHttpClient support allows for custom HTTP clients, enabling features like:
HttpClient middleware).# config/packages/ai.yaml
framework:
ai:
stores:
qdrant:
type: qdrant
url: '%env(QDRANT_API_URL)%'
api_key: '%env(QDRANT_API_KEY)%'
collection: 'user_embeddings'
qdrant/qdrant-client-php to a specific version in composer.json.QdrantClientInterface) to isolate changes.Feature component to toggle Qdrant-specific behavior during migrations.qdrant/qdrant) for benchmarking.Cache component or Redis.Symfony\AI\Exception\StoreException for Qdrant errors.AIStore interface, enabling seamless use with other Symfony AI components (e.g., EmbeddingGenerator, Prompt).HttpClient for Qdrant communication, supporting:
qdrant/qdrant-client-php, which supports:
docker run -p 6333:6333 -p 6334:6334 qdrant/qdrant
use Symfony\AI\Store\StoreInterface;
use Symfony\AI\QdrantStore;
$store = new QdrantStore(
new QdrantClient('http://localhost:6333'),
'my_collection'
);
$store->upsert([['vector' => [0.1, 0.2], 'id' => '1']]);
$results = $store->search([0.15, 0.25], limit: 5);
QdrantStore.WHERE status='active').# config/packages/ai.yaml
framework:
ai:
stores:
qdrant:
type:
How can I help you explore Laravel packages today?