symfony/ai-weaviate-store
Weaviate vector store integration for Symfony AI Store, with links to the REST API, GraphQL Get, and nearVector similarity search docs. Part of the Symfony AI monorepo for reporting issues and contributions.
StoreInterface abstraction rather than a bespoke Weaviate integration. A PM can scope a 2–3 sprint discovery spike, not a quarter-long infrastructure project.nearVector similarity search, document CRUD, and clear()/count() operations). The infrastructure is still yours: you own the Weaviate cluster, schema/collection lifecycle, embeddings pipeline, and cost. Frame the decision as "buy the adapter, operate the store."count() capability gives you result totals, collection-size displays, index-health dashboards, and coverage metrics without fetching full documents.StoreInterface abstraction, a Weaviate decision doesn't hard-lock your application code the way a raw Weaviate SDK would. That materially lowers the cost of being wrong, which is exactly the argument a PM needs to get a first vector store into the stack.Adopt when:
ScopingHttpClient), and query abstraction are handled.Look elsewhere when:
Threshold to graduate: if the spike succeeds, re-evaluate against a supported client or managed vector DB before the feature becomes customer-facing and load-bearing.
For executives (one paragraph): We can ship semantic search and AI-grounded answers without hiring a vector-database team. This is a free, MIT-licensed PHP adapter that connects our Laravel app to Weaviate — the open-source vector store — so we write product code instead of database plumbing. It's roughly a two-to-three sprint discovery spike, and because it sits behind an abstraction layer, we can swap out Weaviate later without rewriting the feature. The caveat is maturity: this is a pre-1.0 component with a small footprint, so I'm recommending it for a scoped pilot with a defined go/no-go gate, not as a platform commitment. We'd own the Weaviate infrastructure and its operating cost either way.
For engineering (the framing that gets a clean estimate):
nearVector similarity search, GraphQL document retrieval, delete, clear(), and count(). It does not cover schema/collection lifecycle — that's ours, and it needs an owner and an Artisan-command story before we start.StoreInterface in a Laravel service provider and facade. Do not let Symfony store types reach controllers; map to our own DTOs at the adapter boundary. If we adopt VectorDocumentInterface, do it inside the adapter, not in domain models.How can I help you explore Laravel packages today?