symfony/ai-click-house-store
ClickHouse vector store integration for Symfony AI Store, letting Symfony AI applications store embeddings and run semantic search using ClickHouse ANN indexes and distance functions. Install with Composer to add a fast, scalable vector database backend.
StoreInterface and ClickHouse. It does not provide a standalone vector store; it requires adopting Symfony AI’s store abstraction. For a Laravel application, this means introducing Symfony AI components (and likely its DI/configuration patterns) alongside Laravel’s native container. While Symfony components are common in Laravel, Symfony AI is a new, early‑stage initiative. The fit is strong only if the team is already committed to Symfony AI or willing to adopt it as the AI abstraction layer. Otherwise, the bridge adds an extra dependency layer without delivering value over direct ClickHouse integration.symfony/ai-store + this bridge). The v0.14 release introduces a StoreFactory for HTTP‑based bridges, which may simplify instantiation. However, wiring into Laravel will likely require a custom service provider to bind StoreInterface to the ClickHouse implementation and manage configuration. ClickHouse itself must be v22.8+ (with vector distance functions) and ideally a recent version supporting ANN indexes. No PHP extensions are required beyond a ClickHouse client (HTTP or native). The main friction is not the bridge itself but the adoption of Symfony AI’s ecosystem within Laravel.StoreInterface::clear() added in v0.11, VectorDocumentInterface in v0.14). ClickHouse’s vector/ANN support is also relatively new and requires careful index tuning. Performance characteristics (recall, latency) depend on ANN index configuration and may not match dedicated vector databases. Operational risk is significant: running ClickHouse for vector search adds a new stateful service to manage, monitor, and scale. The package is a bridge only—any gaps in Symfony AI’s store abstraction or ClickHouse’s vector capabilities become your team’s responsibility.StoreInterface and likely its service configuration. Integration will require a Laravel service provider that manually constructs the ClickHouse store (possibly using the StoreFactory) and binds it to the container. Teams should prototype this wiring early to confirm compatibility with Laravel’s lifecycle and configuration management.symfony/ai-store and the bridge, and wire a minimal Laravel service provider. Ingest a small set of embeddings (e.g., 10k vectors) and validate basic CRUD + similarity search.MergeTree table with Array(Float32) embedding column, metadata columns, and an ANN index. Benchmark recall/latency with realistic dimensionality (e.g., 768D).StoreInterface, so high‑QPS workloads may need queuing or batching at the application layer.GRANULARITY, graph size). High‑QPS, low‑latency vector search may require sharding, read replicas, or caching. Plan capacity based on vector count, dimensionality, and query concurrency; benchmark before committing to large‑scale rollout.StoreInterface and ClickHouse’s vector capabilities. Expect a learning curve for ANN index tuning, ClickHouse schema design, and Laravel‑Symfony integration. A 2–4 week ramp‑up for a senior engineer is realistic, plus ongoing knowledge sharing. If ClickHouse is new to the organization, add infrastructure training and runbook development. Start with a small, isolated pilot to build confidence before expanding.How can I help you explore Laravel packages today?