Vector fields work on Pawabase Cloud with nothing to set up. If a table change is refused because vectors are not available for your database, see When vector search is unavailable.
1. Add an embedding model
In AI → Models, add a model of kind Embeddings (for example OpenAItext-embedding-3-small, which makes vectors of 1,536 numbers) and name it embed. See Providers and models.
2. Add a vector field to a table
In Data, open or create a table and add a field of type Vector (AI).
In a definition it looks like this:
How the vector stays right
- On create, the record’s text is embedded and the vector saved with it.
- On update, the record is embedded again only if one of the
fromfields is in the change. Other edits do not call the model. - A vector you send yourself is kept as given, so you can embed elsewhere if you prefer.
- If the embedding model cannot answer, the write is refused with a
502that says why, rather than saving a record that search could never find. - A model that returns a different number of dimensions than the field holds is refused with a message that names both.
Records that already exist
When you turn on Fill in automatically for a table that already has rows, those rows have no vector yet. In AI → Vector search, the table shows how many are missing and an Embed them button. From code:3. Search
Records come back closest first, each with a
distance: smaller is closer. For cosine, 0 is identical and 2 is opposite; 1 - distance reads as a similarity.
The search is part of reading the table. It follows the same access rule as listing, and the same filters work, so a person only ever finds records they may see:
What comes back
A record’s vector is a list of thousands of numbers, so it is left out of responses (list, get, create, update and search) unless you ask for it:?select=embedding on a list, or ?vectors=true when getting one record.
Try it in Studio
AI → Vector search lists the table’s vector fields, how many records have a vector, and has a box to search by meaning and see the closest records.Limits and good practice
- Embed short, meaningful text (a title and a summary), not whole documents. Split long text into pieces and store one record per piece.
- A vector index (
hnsw) covers up to 2,000 dimensions. Larger vectors still search, without that index. - Use the same embedding model for the records and the queries. Changing the model means embedding everything again.
- Search finds what is closest, not what is relevant: a nonsense query still returns the nearest records. Use
max_distanceto cut off weak matches.