Embeddings, RAG and knowledge
How retrieval-augmented generation works in Aimogen Pro, the complete lifecycle from source to answer, and where each part is configured.
Embeddings let Aimogen Pro answer from your content rather than from what the model happens to remember. The technique is retrieval-augmented generation: index your content, retrieve the parts relevant to a question, and put those into the prompt.
This tutorial was recorded before Aiomatic was renamed to Aimogen Pro. Some labels or interface elements may differ slightly from the current version.
The lifecycle#
| Step | What happens | Where you configure it |
|---|---|---|
| 1. Choose a source | A post, a file, a URL, or existing content | Adding content |
| 2. Chunk | Long text is split into pieces small enough to be useful | Automatic |
| 3. Embed | Each chunk becomes a vector | Embedding models |
| 4. Store | Vectors go into a vector store, optionally namespaced | Vector stores |
| 5. Retrieve | A question is embedded and the closest chunks found | Retrieval |
| 6. Inject | Those chunks are added to the prompt | Retrieval |
| 7. Maintain | Content changes, so the index must be updated | Troubleshooting |
What you need#
An embedding provider. OpenAI, Google or Ollama. See Embedding models.
A vector store. OpenAI Vector Stores, Pinecone, Qdrant or Chroma. See Vector stores.
The two are independent: you can embed with OpenAI and store in Qdrant.
Where it is used#
Retrieval is opt-in per context, under Settings › Embeddings › Enable Embeddings For. Each has its own checkbox and its own namespace field:
| Context | Setting |
|---|---|
| Single post creator | embeddings_single |
| Bulk creator (whole post) | embeddings_bulk |
| Bulk: title | embeddings_bulk_title |
| Bulk: sections | embeddings_bulk_sections |
| Bulk: introduction | embeddings_bulk_intro |
| Bulk: content | embeddings_bulk_content |
| Bulk: Q&A | embeddings_bulk_qa |
| Bulk: conclusion | embeddings_bulk_outro |
| Bulk: excerpt | embeddings_bulk_excerpt |
| AI Content Editor | embeddings_edit |
| Chatbot shortcodes | embeddings_chat_short |
[aimogen-article] shortcode | embeddings_article_short |
| Editing shortcodes | embeddings_edit_short |
| Related content | embeddings_related |
| Assistants | embeddings_assistant |
| AI Forms | embeddings_forms |
| OmniBlocks | embeddings_omni |
Each context also has a namespace field, which is what lets different features search different parts of the index.
Other things embeddings power#
Beyond answering questions, the same index drives:
- Related posts —
[aimogen-related-posts]matches by meaning rather than by shared tags - Duplicate detection — finding posts that say the same thing
- Agent long-term memory — persistence across runs
- Vector-backed persistent chat — semantic recall over conversation history
When retrieval is the wrong tool#
A handful of facts belong in the chatbot Bot Context. Setting up a vector store for five facts is disproportionate.
The current page content is better injected with %%post_content_plain_text%% in a prompt.
Current events need internet access, not your archive.
A one-off document belongs in PDF chat, scoped to the conversation.
Retrieval earns its complexity when you have a substantial body of your own content that questions need to be answered from.
Cost#
Indexing is a one-off cost per document. Embedding models are cheap — indexing a thousand posts costs very little.
Retrieval adds a small embedding call per query, plus the retrieved chunks as input tokens on every affected request. That is the ongoing cost, and it scales with how many chunks you inject.
See Controlling cost.
Related#
Still stuck? Open a support ticket and include the diagnostics from Aimogen Pro › System & Logs › System Info.