- Can I use symfony/ai-sqlite-store in a Laravel app without Symfony components?
- Yes, but you’ll need to manually integrate Symfony AI’s Store interface into Laravel’s service container. The package itself doesn’t require other Symfony components, though it assumes familiarity with Symfony’s AI abstractions. For tighter Laravel integration, consider wrapping it in a custom facade or package.
- What Laravel versions support symfony/ai-sqlite-store?
- The package works with any Laravel version that supports PHP 8.1+, as it relies on Symfony AI (≥v0.8.0). However, ensure your Laravel app can resolve Symfony’s dependencies via Composer. No Laravel-specific versioning is enforced, but test thoroughly with your target Laravel release.
- How do I install the sqlite-vec extension for vector search?
- Use PECL: `pecl install sqlite-vec`. This requires PHP compiled with SQLite 3 support. If unavailable (e.g., shared hosting), fall back to PHP-side vector calculations, but expect slower performance for large datasets. Check your PHP version compatibility with sqlite-vec’s [GitHub](https://github.com/asg017/sqlite-vec).
- Is this store suitable for production with high traffic?
- No—SQLite’s file-locking and disk I/O make it unsuitable for high-concurrency writes or large-scale searches (>100K vectors). For production, benchmark against Redis or PostgreSQL (pgvector). Use this package for prototyping, MVPs, or low-traffic internal tools.
- Can I combine full-text (FTS5) and vector search in the same query?
- Yes, the package supports hybrid queries by leveraging SQLite FTS5 for keywords and vector similarity for semantic matches. However, complex hybrid logic may require custom SQL or PHP filtering. Test performance with your expected query patterns.
- What happens if sqlite-vec fails to install in my environment?
- The store falls back to PHP-side vector calculations (e.g., cosine similarity), but performance degrades to O(n) for large datasets. Document this as a risk in your deployment checklist and consider alternative stores like Redis or PostgreSQL if vector search is critical.
- How do I integrate this with Laravel’s existing AI workflows?
- Bind the Symfony AI Store service to Laravel’s container via `AppServiceProvider`. Use Laravel’s queue system (e.g., Horizon) to serialize writes if concurrency is a concern. For Eloquent models, create custom accessors to bridge Symfony AI’s store methods to your domain logic.
- Are there alternatives to symfony/ai-sqlite-store for Laravel?
- Yes: For vector search, consider `laravel-scout-tensorflow` (for ML-based similarity) or `redis-ai` (for Redis-backed stores). For SQLite-only, explore `meilisearch` (self-hosted) or `typeaheadjs` (client-side). Symfony AI’s store is unique for its hybrid FTS5+vector approach.
- How do I test vector search performance in my Laravel app?
- Use Laravel’s `Benchmark` facade to measure query times. Compare SQLite’s performance against Redis or PostgreSQL for your dataset size. Test with `:memory:` SQLite in development to avoid disk I/O bottlenecks, then replicate with a real file in staging.
- Does this package support Laravel’s Scout for search?
- No, it integrates with Symfony AI’s Store interface, not Scout. To use Scout, you’d need to build a custom bridge or use Scout’s existing drivers (e.g., Algolia). This package is designed for Symfony AI’s ecosystem, offering a lightweight alternative to Scout for vector + full-text search.