I noticed on this page "https://developers.cloudflare.com/vectorize/platform/limits/" that the current limits are 100 indexes and 1,000 namespaces. While this might be sufficient for testing, it's far from enough for production use. Are there any plans to scale these limits—at least by a couple of orders of magnitude? Something closer to 1,000,000 or more would be ideal.
I want to building my SaaS around 'Vectorize' as I really like the platform. However, with the current limitations in place, if these are expected to remain for the foreseeable future, I won't be able to use it for my needs. Additionally, dedicated functions or tools for backup and restore are essential for anyone looking to use this platform in production environments. Could someone provide insight into the current roadmap for 'Vectorize' in terms of limitations and development? What can we expect in the near future?
Remix + Cloudflare - running wrangler types generates the correct vectorize types, however the proxy stub doesn't exist in the loader (cloudflareDevProxyVitePlugin). Is this due to beta?
can the 1,000 namespaces per index limit be easily increased? we use Pinecone but was looking at using Vectorize for a new feature and this limit is really putting us off
That would be great, thank you. In the meantime I’m generating embeddings using workers ai, then storing them in pg vector / querying in Postgres, seems to work well enough!
For a lot of Cloudflare products, you can use a similar version of the product locally. So when you run “wrangler dev”, the binding still works, so you can run/test locally - for Vectorize, that isn’t available yet, so you have to run it remote to test it (either deploy, or wrangler dev remote)
Hi is there an additional information on the eventual consistency behaviour, can I assume the vectors are available for search in order? does the mutation identifier have an meaning? can it be used as a high water mark? I have a use case were a want to group vectors, it's tricky to do without knowing when vectors will be availible? presumable without a hwm I'd have to use a queue with some kind of back off but that won't help if the vectors are not indexed in order. presumble then the only solution would be repair on each read but i'm capped to 100 nearest neighbours.
Hi! The DB state is eventually consistent, and all mutations (upsert, insert, delete, create metadata index, ...) are processed in the strict order they were given to the API. This means the index state is always reflecting all the mutations that were given to the API up to the last applied mutation, processed in order. The mutationId acts as a high watermark indeed, you can compare the mutationId returned by any mutation operation and the one you get by calling https://developers.cloudflare.com/vectorize/reference/client-api/#get-index-info; this will return the vector count, the last applied mutationId (again, in the sequence ordered as provided to the API) and the last UTC datetime this mutation corresponds to (useful if you don't keep track of the mutationIds)
Does anyone know of any methods to create a backup for an index? I'm looking for a script/code that can pull all the data from one index and insert it to another.
The Vectorize limits aren't artificial but are a result of the internal architecture/technology backing Vectorize. I expect they'll be raised over time (and in fact they were recently) but not lifted altogether.
Hi all, I'm new to Vectorize and have been working through this tutorial(request to documentation author: we could really do with a summary of what the code in step 6 does, after the code.)
We previously vectorised a note ("pepparoni is the best pizza topping"), and saved it to the Vectorize DB. I get all that. What I'm less clear on is step 6. I send in a question, presumably something like "what's the best pizza topping?", and then we retrieve the vectors relating to the note closest to that question.
So my question here is: what powers CF's ability to associate that question with that note? Is it because both contain the word pizza? If instead I'd asked "what is the best topping for a common Italian dish?", would it have still returned the vector (my note)?
Vectorize itself is just a DB that stores the vectors. You could throw any vector in there, not just word embeddings - I've used it for facial recognition embeddings, for example.
With one vector it would, yeah - that's what Leo was saying. You request the "top <n>" vectors, so it'll always return that 1 vector since you can't request "top 0"
So if you have 1 vector about pizza, and the user asks about Mongolia, and the distance is huge you can return a preset "sorry, I don't know" response.