- What is symfony/ai-s3vectors-store and what is it used for?
- It is the AWS S3 Vectors store bridge for Symfony AI Store. It lets your application persist vector documents in Amazon S3 Vectors and run similarity queries through S3 Vectors API operations such as PutVectors and QueryVectors, while keeping Symfony AI's StoreInterface abstraction. It is aimed at serverless, pay-as-you-go vector storage rather than general-purpose database workloads.
- How do I install symfony/ai-s3vectors-store with Composer?
- Install it with Composer alongside Symfony AI Store and the AWS SDK for PHP, for example composer require symfony/ai-s3vectors-store. You then register or instantiate the S3 Vectors store with your bucket, region and AWS credentials, and inject it wherever Symfony AI expects a vector store. Check the package's composer.json for the exact Symfony AI and AWS SDK constraints before installing.
- Can I use symfony/ai-s3vectors-store in a Laravel application?
- Yes, you can consume it in Laravel because it is a Composer package that implements Symfony AI's store contracts, but there is no native Laravel service provider in this package. You will typically bind the store and its AWS client in a Laravel service provider or config file and inject the store into your own services. If you want Laravel-native configuration and facades, plan a thin wrapper around Symfony AI's contracts.
- Which Laravel, PHP and Symfony AI versions are supported?
- There is no Laravel-specific version matrix for this package; support depends on the PHP version required by Symfony AI and the AWS SDK for PHP, plus your Laravel release's PHP constraints. The store is part of Symfony AI's 0.x line, and v0.14.0 introduced VectorDocumentInterface and count support. Check composer.json and the Symfony AI release notes, and pin a version that matches your Laravel and PHP runtime.
- How do I configure AWS credentials, region and the S3 vector bucket?
- Configuration is handled through the AWS SDK for PHP: region, credentials and the S3 vector bucket name are supplied when you build the store. In Laravel, put these values in config/services.php or environment variables and avoid hard-coding keys. The S3 bucket must be explicitly enabled and configured for vector operations before the store can write or query vectors.
- What IAM permissions does the S3 Vectors store need?
- At minimum the credentials need permissions for vector bucket operations and for PutVectors and QueryVectors on the relevant bucket or index. If you use the new count capability, verify whether it requires an additional permission in your IAM policy before relying on it in dashboards or migration checks. Use least-privilege policies and test them in a non-production account.
- What is VectorDocumentInterface in v0.14.0 and do I need to change my code?
- VectorDocumentInterface, added in v0.14.0, standardizes the document contract across Symfony AI vector stores. It reduces coupling between your application code and S3-specific serialization, which makes it easier to switch vector backends later. If you have custom document classes, you may need to refactor them to implement the interface, so treat the upgrade carefully even though it is a minor release.
- How accurate is count() and can I use it for migration parity checks?
- count() exposes the number of vectors in the store, which is useful for dashboards, quota planning and migration parity checks. The documentation does not state whether S3 Vectors count is strongly or eventually consistent, so treat it as best-effort rather than a real-time consistency guarantee. For migrations, run parity checks after writes have quiesced, not during active dual-write, and do not use count for billing or hard quota enforcement without validation.
- Does symfony/ai-s3vectors-store support metadata filtering or custom distance metrics?
- The store inherits S3 Vectors' limitations: it is not a general-purpose database and does not provide transactions, ACID guarantees or SQL-like querying. S3 Vectors also lacks features such as metadata filtering, custom distance metrics and dynamic indexing, and count does not add filtered-count or query semantics. Design your retrieval logic around those constraints or choose a different vector store if you need them.
- Is symfony/ai-s3vectors-store production ready and what are the alternatives?
- The package is still pre-1.0 with limited community adoption, so pin the version and test upgrades in staging because minor releases may contain breaking changes. S3 Vectors favors batch throughput over low-latency, high-frequency queries, and first-query latency after inactivity plus QueryVectors cost are production concerns to benchmark. If you need transactions, metadata filtering or predictable low latency, evaluate alternatives such as pgvector, Pinecone or other Symfony AI store bridges. Keep the store behind Symfony AI's StoreInterface so you can swap it later.