An Embeddings & Vector profile tells Wyregraf how to turn content into its searchable AI index: which provider and model create the embeddings, how the text is split into chunks, and where the vectors are stored. You create it once and every embedding and chat can reuse it.
Vectors are always stored in your own WordPress MySQL database — there is no external vector database to sign up for, and your index never leaves your server.
The Embeddings & Vector Profiles tab #
Go to Wyregraf → Options and open the Embeddings & Vector Profiles tab.

- Embedding enabled post types picks which post types can be turned into embeddings. Posts and Pages are enabled out of the box; add any public post type your content lives in.
- The Embeddings & Vector Profiles panel lists your profiles — add, edit, or delete them here.
- Default Embeddings & Vector Access Profile is the profile new embeddings and chats start with.
Profile settings #
Open a profile to edit its settings.

- OpenAI API Key — the key used to create embeddings. Wyregraf currently creates embeddings through OpenAI; get a key from your OpenAI account dashboard.
- OpenAI Model —
text-embedding-3-smallis the default and the right choice for most sites;text-embedding-3-largetrades cost for a little more accuracy. - Embeddings Dimensions — leave it empty to use the model's own default (1536 for small, 3072 for large); the field exists for advanced setups that deliberately embed at a reduced dimension. Don't change it after content is indexed without reindexing everything, since vectors of different sizes can't be compared.
- Vector Database — local WordPress MySQL. This is the only storage backend, so there is nothing to configure.
- Chunk Size (default 1000) and Chunk Overlap (default 200) control how documents are split before indexing. Smaller chunks give more precise matches; the overlap keeps sentences that straddle a boundary findable from either side. The defaults suit most content.
- Parent Retrieval — when a small chunk matches, Wyregraf hands the AI the chunk's surrounding context rather than the fragment alone, which produces noticeably better answers. Leave it on. Its companion Sentence Chunk Minimum (default 75) sets the smallest sentence-level chunk worth keeping, so a match never lands on a fragment too short to carry its own meaning.
- Tuning — shows the similarity score and embedding ID next to each cited source, for users who can edit others' chats. Useful while you calibrate a chat's similarity threshold; off for everyday use.
- Voyage fields — an optional second provider for two accuracy features: contextualized embeddings (each chunk is embedded with awareness of its whole document) and a dedicated reranker for chats. Fill in the Voyage API key, model, dimensions, and reranker model only if you use them — see Hybrid Search & Reranking.
What to do next #
With an embeddings profile saved, create an LLM profile for the model that writes the answers — then you are ready to index your content.