{"id":9807,"date":"2026-06-04T12:55:15","date_gmt":"2026-06-04T12:55:15","guid":{"rendered":"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/?page_id=9807"},"modified":"2026-08-24T11:59:20","modified_gmt":"2026-08-24T11:59:20","slug":"how-to-configure-and-use-the-ai-engine","status":"publish","type":"page","link":"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/documentation-pro-version\/how-to-configure-and-use-the-ai-engine\/","title":{"rendered":"How to configure and use the AI Engine"},"content":{"rendered":"<div class=\"warning\"><b>Important:<\/b> This feature is not included with the <b>Personal plan<\/b><\/div>\n<div class=\"warning\"><b>Note:<\/b> Some screenshots may show a different plugin name, but the interface and settings are also valid for <strong>TIP Next Post Pro<\/strong><\/div>\n<h3>How does it work?<\/h3>\n<p>This option, available only for WordPress posts, uses embeddings to analyze your site content and automatically select the most relevant posts for the previous\/secondary and next\/primary navigation positions.<\/p>\n<p>Unlike other available search\/navigation methods, which rely on traditional approaches such as categories, tags, titles, or keywords to identify suitable content, this system is able to understand the overall meaning of texts and identify truly relevant connections between articles.<\/p>\n<p>The system identifies relevant posts by comparing embeddings using a cosine similarity algorithm, which measures how close two pieces of content are from a semantic perspective.<\/p>\n<p>The most relevant result is used as the <strong>next\/primary post<\/strong>, while the second most relevant result is used as the <strong>previous\/secondary post<\/strong>.<\/p>\n<p>This feature will not be available while the <a href=\"\/tip-next-post-pro\/documentation-pro-version\/how-to-troubleshoot-issues-during-license-key-activation\/\" target=\"_blank\">activation plugin<\/a> is installed on your website.<\/p>\n<p>If you are using the activation plugin, please complete the license activation process and remove it once the license has been correctly activated.<\/p>\n<h3>What are embeddings?<\/h3>\n<p>Embeddings are numerical representations of textual content. In practice, each article is transformed into a vector, that is, a sequence of numbers that describes its meaning.<\/p>\n<p>This allows the system to compare content at a semantic level: texts that are similar in meaning will have similar numerical representations, even if they use different words.<\/p>\n<h3>Why use embeddings?<\/h3>\n<p>Using embeddings allows you to overcome the limitations of methods based solely on keywords, categories, tags, or article titles.<\/p>\n<p>In particular, it prevents articles in the same category from always leading visitors to the same content, improving the variety and quality of navigation suggestions.<\/p>\n<p>By analyzing the content of each post, suggestions become more accurate because they take into account context and meaning, allowing the plugin to recommend truly related content even when articles do not share identical terms or belong to the same categories.<\/p>\n<p>This approach improves the quality of post navigation and remains effective even on sites with a large number of contents.<\/p>\n<h3>How to get started<\/h3>\n<p>To begin, you need to select a provider or source for the embeddings used by the AI Engine.<\/p>\n<p>You can use OpenAI APIs, which require an API key and active credits, choose a local model using Ollama, which requires a more advanced setup and configuration, or reuse compatible embeddings already generated by another supported ThemeinProgress plugin.<\/p>\n<figure id=\"attachment_9819\" aria-describedby=\"caption-attachment-9819\" style=\"width: 1522px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/select-the-AI-provider-from-the-available-options.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"imgBorder\" src=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/select-the-AI-provider-from-the-available-options.jpg\" alt=\"\" width=\"1522\" height=\"855\" class=\"size-full wp-image-9819\" srcset=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/select-the-AI-provider-from-the-available-options.jpg 1522w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/select-the-AI-provider-from-the-available-options-300x169.jpg 300w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/select-the-AI-provider-from-the-available-options-1024x575.jpg 1024w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/select-the-AI-provider-from-the-available-options-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/select-the-AI-provider-from-the-available-options-450x253.jpg 450w\" sizes=\"auto, (max-width: 1522px) 100vw, 1522px\" \/><\/a><figcaption id=\"caption-attachment-9819\" class=\"wp-caption-text\">Select the AI provider from the available options<\/figcaption><\/figure>\n<p><strong>Note:<\/strong> If you are already using <strong>Internal Linking of Related Contents Pro<\/strong> or <strong>TIP Related Posts Pro<\/strong>, you can select one of these plugins as the embeddings provider to reuse existing embeddings instead of generating them again.<\/p>\n<p>This allows both plugins to share the same embeddings database and avoids duplicate processing and storage.<\/p>\n<figure id=\"attachment_9849\" aria-describedby=\"caption-attachment-9849\" style=\"width: 1522px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/use-embeddings-generated-by-ilrcp.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"imgBorder\" src=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/use-embeddings-generated-by-ilrcp.jpg\" alt=\"\" width=\"1522\" height=\"855\" class=\"size-full wp-image-9849\" srcset=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/use-embeddings-generated-by-ilrcp.jpg 1522w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/use-embeddings-generated-by-ilrcp-300x169.jpg 300w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/use-embeddings-generated-by-ilrcp-1024x575.jpg 1024w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/use-embeddings-generated-by-ilrcp-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/use-embeddings-generated-by-ilrcp-450x253.jpg 450w\" sizes=\"auto, (max-width: 1522px) 100vw, 1522px\" \/><\/a><figcaption id=\"caption-attachment-9849\" class=\"wp-caption-text\">Use embeddings generated by another compatible TIP plugin<\/figcaption><\/figure>\n<p>Regarding OpenAI, you can generate a new API key by following these steps:<\/p>\n<ol>\n<li>Go to the <a href=\"https:\/\/platform.openai.com\/\" target=\"_blank\">OpenAI website<\/a> and log into your account<\/li>\n<li>Click the &#8220;Create API key&#8221; button<\/li>\n<li>Enter an optional name for the key<\/li>\n<li>Click &#8220;Create&#8221; to confirm and copy the API key<\/li>\n<\/ol>\n<p>It is important to store the API key securely, as it will not be possible to view it again later.<\/p>\n<p>Once you have the API key, you will need to purchase credits to use it within your site.<\/p>\n<p>Credits can be purchased using the payment methods supported by the platform.<\/p>\n<p>In most cases, a valid payment card is required; the availability of prepaid cards or other methods may vary depending on the country and account configuration.<\/p>\n<p>If you do not have access to a traditional card, you can consider alternatives such as Revolut, which allows you to generate virtual cards usable for this type of purchase.<\/p>\n<p>This is a commonly adopted solution, but it is always recommended to verify compatibility with your account.<\/p>\n<p><em>OpenAI supports long content through automatic chunking, but extremely long articles may require many API calls and can fail due to server timeout, rate limits, or runtime constraints. Articles above tens of thousands of words should be considered edge cases.<\/em><\/p>\n<h3>Embeddings generation<\/h3>\n<p>Once the provider has been selected, you can choose a compatible embeddings model directly from the plugin settings.<\/p>\n<figure id=\"attachment_9821\" aria-describedby=\"caption-attachment-9821\" style=\"width: 1522px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/select-an-openai-embeddings-model.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"imgBorder\" src=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/select-an-openai-embeddings-model.jpg\" alt=\"\" width=\"1522\" height=\"855\" class=\"size-full wp-image-9821\" srcset=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/select-an-openai-embeddings-model.jpg 1522w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/select-an-openai-embeddings-model-300x169.jpg 300w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/select-an-openai-embeddings-model-1024x575.jpg 1024w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/select-an-openai-embeddings-model-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/select-an-openai-embeddings-model-450x253.jpg 450w\" sizes=\"auto, (max-width: 1522px) 100vw, 1522px\" \/><\/a><figcaption id=\"caption-attachment-9821\" class=\"wp-caption-text\">Select an OpenAI embeddings model<\/figcaption><\/figure>\n<p>OpenAI provides different embeddings models depending on the balance you want between cost, performance, and storage usage.<\/p>\n<ul>\n<li><strong>text-embedding-3-small<\/strong>: recommended for most websites. It offers a good balance between quality and cost, making it suitable for generating embeddings across many articles.<\/li>\n<li><strong>text-embedding-3-large<\/strong>: the most powerful option, suitable when you want higher semantic accuracy.<\/li>\n<li><strong>text-embedding-ada-002<\/strong>: previous-generation model, still usable for compatibility purposes, although newer models are generally recommended.<\/li>\n<\/ul>\n<figure id=\"attachment_9822\" aria-describedby=\"caption-attachment-9822\" style=\"width: 1522px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/ollama-settings.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"imgBorder\" src=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/ollama-settings.jpg\" alt=\"\" width=\"1522\" height=\"855\" class=\"size-full wp-image-9822\" srcset=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/ollama-settings.jpg 1522w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/ollama-settings-300x169.jpg 300w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/ollama-settings-1024x575.jpg 1024w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/ollama-settings-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/ollama-settings-450x253.jpg 450w\" sizes=\"auto, (max-width: 1522px) 100vw, 1522px\" \/><\/a><figcaption id=\"caption-attachment-9822\" class=\"wp-caption-text\">Ollama settings<\/figcaption><\/figure>\n<p>If you choose <strong>Ollama<\/strong> as provider, you can also configure additional options such as the runtime profile, endpoint mode, and custom generation limits.<\/p>\n<p>For more details, please refer to the <a href=\"\/tip-next-post-pro\/documentation-pro-version\/how-to-configure-ollama-options-for-ai-engine\/\" target=\"_blank\" rel=\"noopener noreferrer\">Ollama configuration documentation<\/a>.<\/p>\n<h3>Reuse embeddings from other ThemeinProgress plugins<\/h3>\n<p>If compatible embeddings have already been generated by <strong>TIP Related Posts Pro<\/strong> or <strong>Internal Linking of Related Contents Pro<\/strong>, TIP Next Post Pro can use them as an external read-only source.<\/p>\n<p>This avoids generating and storing the same embeddings again and allows multiple ThemeinProgress plugins to use the same semantic index.<\/p>\n<p>When an external embedding source is selected, embedding generation is managed by the source plugin.<\/p>\n<p>For this reason, the generation controls and automatic embedding generation options available in TIP Next Post Pro are disabled.<\/p>\n<p>If you need to generate, regenerate, or delete embeddings, perform the operation from the plugin selected as the embedding source.<\/p>\n<p>The external source must remain available and contain compatible embeddings for TIP Next Post Pro to use the AI Engine correctly.<\/p>\n<h3>Start embeddings generation<\/h3>\n<p>If TIP Next Post Pro is configured to generate and manage its own embeddings, you can proceed with generating embeddings for your site content after completing the initial provider configuration.<\/p>\n<p>Generation can be performed on a limited set of articles or across all content.<\/p>\n<figure id=\"attachment_9824\" aria-describedby=\"caption-attachment-9824\" style=\"width: 1522px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/start-the-embeddings-generation-process.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"imgBorder\" src=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/start-the-embeddings-generation-process.jpg\" alt=\"\" width=\"1522\" height=\"855\" class=\"size-full wp-image-9824\" srcset=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/start-the-embeddings-generation-process.jpg 1522w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/start-the-embeddings-generation-process-300x169.jpg 300w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/start-the-embeddings-generation-process-1024x575.jpg 1024w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/start-the-embeddings-generation-process-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/start-the-embeddings-generation-process-450x253.jpg 450w\" sizes=\"auto, (max-width: 1522px) 100vw, 1522px\" \/><\/a><figcaption id=\"caption-attachment-9824\" class=\"wp-caption-text\">Start the embeddings generation process<\/figcaption><\/figure>\n<p>If your site contains a large number of articles, it is recommended to process them in batches, for example 50 articles at a time, as the system will automatically generate embeddings only for those that do not yet have one.<\/p>\n<p>The process can also be started in background.<\/p>\n<figure id=\"attachment_9825\" aria-describedby=\"caption-attachment-9825\" style=\"width: 1522px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/run-embeddings-generation-in-background.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"imgBorder\" src=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/run-embeddings-generation-in-background.jpg\" alt=\"\" width=\"1522\" height=\"855\" class=\"size-full wp-image-9825\" srcset=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/run-embeddings-generation-in-background.jpg 1522w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/run-embeddings-generation-in-background-300x169.jpg 300w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/run-embeddings-generation-in-background-1024x575.jpg 1024w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/run-embeddings-generation-in-background-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/run-embeddings-generation-in-background-450x253.jpg 450w\" sizes=\"auto, (max-width: 1522px) 100vw, 1522px\" \/><\/a><figcaption id=\"caption-attachment-9825\" class=\"wp-caption-text\">Run embeddings generation in background<\/figcaption><\/figure>\n<p>In this case, you can leave the page during processing, but you will not be able to start a new generation until the current one is completed.<\/p>\n<figure id=\"attachment_9826\" aria-describedby=\"caption-attachment-9826\" style=\"width: 1522px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/background-processing-in-progress.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"imgBorder\" src=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/background-processing-in-progress.jpg\" alt=\"\" width=\"1522\" height=\"855\" class=\"size-full wp-image-9826\" srcset=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/background-processing-in-progress.jpg 1522w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/background-processing-in-progress-300x169.jpg 300w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/background-processing-in-progress-1024x575.jpg 1024w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/background-processing-in-progress-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/background-processing-in-progress-450x253.jpg 450w\" sizes=\"auto, (max-width: 1522px) 100vw, 1522px\" \/><\/a><figcaption id=\"caption-attachment-9826\" class=\"wp-caption-text\">Background processing in progress<\/figcaption><\/figure>\n<p>At the end, the system will display a completion notification.<\/p>\n<figure id=\"attachment_9827\" aria-describedby=\"caption-attachment-9827\" style=\"width: 1522px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/notification-displayed-after-the-embeddings-generation-process-is-completed.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"imgBorder\" src=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/notification-displayed-after-the-embeddings-generation-process-is-completed.jpg\" alt=\"\" width=\"1522\" height=\"855\" class=\"size-full wp-image-9827\" srcset=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/notification-displayed-after-the-embeddings-generation-process-is-completed.jpg 1522w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/notification-displayed-after-the-embeddings-generation-process-is-completed-300x169.jpg 300w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/notification-displayed-after-the-embeddings-generation-process-is-completed-1024x575.jpg 1024w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/notification-displayed-after-the-embeddings-generation-process-is-completed-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/notification-displayed-after-the-embeddings-generation-process-is-completed-450x253.jpg 450w\" sizes=\"auto, (max-width: 1522px) 100vw, 1522px\" \/><\/a><figcaption id=\"caption-attachment-9827\" class=\"wp-caption-text\">Notification displayed after the embeddings generation process is completed<\/figcaption><\/figure>\n<p><em>Background generation uses the native WordPress cron system. On sites with low traffic, the process may take longer to complete, because scheduled tasks are usually triggered when the site receives visits.<br \/>For small websites using the OpenAI API, for example 50\u2013100 posts, foreground generation is usually faster and typically completes in about 1 or 2 minutes, depending on the server and API response times.<\/em><\/p>\n<p>During embeddings generation, the plugin may display log messages related to progress, background processing, errors, or partial indexing.<\/p>\n<p>You can learn more in the <a href=\"\/tip-next-post-pro\/documentation-pro-version\/ai-engine-log-messages\/\" target=\"_blank\">generation log messages documentation<\/a>.<\/p>\n<p>If needed, you can also clear the embeddings table by clicking the dedicated button.<\/p>\n<figure id=\"attachment_9828\" aria-describedby=\"caption-attachment-9828\" style=\"width: 1522px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/clear-all-generated-embeddings.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"imgBorder\" src=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/clear-all-generated-embeddings.jpg\" alt=\"\" width=\"1522\" height=\"855\" class=\"size-full wp-image-9828\" srcset=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/clear-all-generated-embeddings.jpg 1522w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/clear-all-generated-embeddings-300x169.jpg 300w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/clear-all-generated-embeddings-1024x575.jpg 1024w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/clear-all-generated-embeddings-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/clear-all-generated-embeddings-450x253.jpg 450w\" sizes=\"auto, (max-width: 1522px) 100vw, 1522px\" \/><\/a><figcaption id=\"caption-attachment-9828\" class=\"wp-caption-text\">Clear all generated embeddings<\/figcaption><\/figure>\n<p>This operation deletes the embeddings generated and stored directly by TIP Next Post Pro.<\/p>\n<p>If an external embedding source is selected, embeddings must instead be managed from the source plugin.<\/p>\n<p>This operation is particularly useful for local testing or when you want to regenerate embeddings using a different or more advanced model.<\/p>\n<p>Once embeddings are available, you need to select the <strong>AI Engine<\/strong> option as the plugin <strong>Search\/navigation method<\/strong>.<\/p>\n<figure id=\"attachment_9829\" aria-describedby=\"caption-attachment-9829\" style=\"width: 1522px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/select-ai-engine-as-the-search-method.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/select-ai-engine-as-the-search-method.jpg\" alt=\"\" width=\"1522\" height=\"855\" class=\"size-full wp-image-9829\" srcset=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/select-ai-engine-as-the-search-method.jpg 1522w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/select-ai-engine-as-the-search-method-300x169.jpg 300w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/select-ai-engine-as-the-search-method-1024x575.jpg 1024w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/select-ai-engine-as-the-search-method-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/select-ai-engine-as-the-search-method-450x253.jpg 450w\" sizes=\"auto, (max-width: 1522px) 100vw, 1522px\" \/><\/a><figcaption id=\"caption-attachment-9829\" class=\"wp-caption-text\">Select &#8220;AI Engine&#8221; as the Search\/navigation method<\/figcaption><\/figure>\n<p>Navigation candidates will now be ordered according to the semantic similarity of their content.<\/p>\n<p>The <strong>most relevant post<\/strong> is assigned to the <strong>next\/primary<\/strong> navigation position, while the <strong>second most relevant post<\/strong> is assigned to the <strong>previous\/secondary<\/strong> position.<\/p>\n<p>When <strong>AI Engine<\/strong> is selected as the Search\/navigation method, the <strong>Order by<\/strong> and <strong>Sort order<\/strong> options are automatically hidden, because navigation posts are ordered by semantic similarity instead of standard sorting rules.<\/p>\n<p>You can also choose whether to filter AI Engine results by taxonomy terms.<\/p>\n<figure id=\"attachment_9830\" aria-describedby=\"caption-attachment-9830\" style=\"width: 1522px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/configure-the-ai-engine-filter.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"imgBorder\" src=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/configure-the-ai-engine-filter.jpg\" alt=\"\" width=\"1522\" height=\"855\" class=\"size-full wp-image-9830\" srcset=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/configure-the-ai-engine-filter.jpg 1522w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/configure-the-ai-engine-filter-300x169.jpg 300w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/configure-the-ai-engine-filter-1024x575.jpg 1024w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/configure-the-ai-engine-filter-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/configure-the-ai-engine-filter-450x253.jpg 450w\" sizes=\"auto, (max-width: 1522px) 100vw, 1522px\" \/><\/a><figcaption id=\"caption-attachment-9830\" class=\"wp-caption-text\">Configure the AI Engine filter<\/figcaption><\/figure>\n<p>Use <strong>None<\/strong> to avoid filtering navigation candidates.<\/p>\n<p>Use <strong>Categories<\/strong>, <strong>Tags<\/strong>, or <strong>Categories and tags<\/strong> to restrict candidates to posts that share the selected taxonomy terms with the current article.<\/p>\n<h3>Generation for specific articles<\/h3>\n<p>In addition to bulk generation, you can create an embedding for a single article directly from the edit page using the dedicated button.<\/p>\n<figure id=\"attachment_9831\" aria-describedby=\"caption-attachment-9831\" style=\"width: 1522px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/generate-embedding-from-the-classic-editor.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"imgBorder\" src=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/generate-embedding-from-the-classic-editor.jpg\" alt=\"\" width=\"1522\" height=\"855\" class=\"size-full wp-image-9831\" srcset=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/generate-embedding-from-the-classic-editor.jpg 1522w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/generate-embedding-from-the-classic-editor-300x169.jpg 300w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/generate-embedding-from-the-classic-editor-1024x575.jpg 1024w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/generate-embedding-from-the-classic-editor-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/generate-embedding-from-the-classic-editor-450x253.jpg 450w\" sizes=\"auto, (max-width: 1522px) 100vw, 1522px\" \/><\/a><figcaption id=\"caption-attachment-9831\" class=\"wp-caption-text\">Generate embedding from the Classic Editor<\/figcaption><\/figure>\n<figure id=\"attachment_9832\" aria-describedby=\"caption-attachment-9832\" style=\"width: 1522px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/generate-embedding-from-the-gutenberg-editor.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/generate-embedding-from-the-gutenberg-editor.jpg\" alt=\"\" width=\"1522\" height=\"855\" class=\"size-full wp-image-9832\" srcset=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/generate-embedding-from-the-gutenberg-editor.jpg 1522w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/generate-embedding-from-the-gutenberg-editor-300x169.jpg 300w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/generate-embedding-from-the-gutenberg-editor-1024x575.jpg 1024w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/generate-embedding-from-the-gutenberg-editor-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/generate-embedding-from-the-gutenberg-editor-450x253.jpg 450w\" sizes=\"auto, (max-width: 1522px) 100vw, 1522px\" \/><\/a><figcaption id=\"caption-attachment-9832\" class=\"wp-caption-text\">Generate embedding from the Gutenberg editor<\/figcaption><\/figure>\n<p>In this case, the configured provider and model will be used automatically.<\/p>\n<p>By default, embeddings for newly published articles are not generated automatically.<\/p>\n<p>If needed, you can enable the <strong>Generate embeddings for new posts<\/strong> option from the AI Engine settings.<\/p>\n<p>This default behavior can also be controlled for individual articles from the dedicated embedding options available in the editor.<\/p>\n<figure id=\"attachment_9833\" aria-describedby=\"caption-attachment-9833\" style=\"width: 1522px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/enable-automatic-embedding-generation-on-save-classic-editor.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"imgBorder\" src=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/enable-automatic-embedding-generation-on-save-classic-editor.jpg\" alt=\"\" width=\"1522\" height=\"855\" class=\"size-full wp-image-9833\" srcset=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/enable-automatic-embedding-generation-on-save-classic-editor.jpg 1522w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/enable-automatic-embedding-generation-on-save-classic-editor-300x169.jpg 300w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/enable-automatic-embedding-generation-on-save-classic-editor-1024x575.jpg 1024w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/enable-automatic-embedding-generation-on-save-classic-editor-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/enable-automatic-embedding-generation-on-save-classic-editor-450x253.jpg 450w\" sizes=\"auto, (max-width: 1522px) 100vw, 1522px\" \/><\/a><figcaption id=\"caption-attachment-9833\" class=\"wp-caption-text\">Enable automatic embedding generation on save (Classic Editor)<\/figcaption><\/figure>\n<figure id=\"attachment_9834\" aria-describedby=\"caption-attachment-9834\" style=\"width: 1522px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/enable-automatic-embedding-generation-on-save-gutenberg-editor.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"imgBorder\" src=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/enable-automatic-embedding-generation-on-save-gutenberg-editor.jpg\" alt=\"\" width=\"1522\" height=\"855\" class=\"size-full wp-image-9834\" srcset=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/enable-automatic-embedding-generation-on-save-gutenberg-editor.jpg 1522w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/enable-automatic-embedding-generation-on-save-gutenberg-editor-300x169.jpg 300w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/enable-automatic-embedding-generation-on-save-gutenberg-editor-1024x575.jpg 1024w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/enable-automatic-embedding-generation-on-save-gutenberg-editor-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-content\/uploads\/2026\/06\/enable-automatic-embedding-generation-on-save-gutenberg-editor-450x253.jpg 450w\" sizes=\"auto, (max-width: 1522px) 100vw, 1522px\" \/><\/a><figcaption id=\"caption-attachment-9834\" class=\"wp-caption-text\">Enable automatic embedding generation on save (Gutenberg editor)<\/figcaption><\/figure>\n<p>If an article undergoes significant changes, it is recommended to regenerate the embedding to maintain the quality of navigation suggestions.<\/p>\n<p>For minor updates, regeneration is not necessary, as the semantic representation remains largely valid.<\/p>\n<p>When TIP Next Post Pro is configured to use embeddings from another supported ThemeinProgress plugin, the generation buttons and automatic generation options available in TIP Next Post Pro are disabled.<\/p>\n<p>In this case, embeddings must be generated and managed from the selected source plugin.<\/p>\n<h3>Database impact<\/h3>\n<p>When TIP Next Post Pro manages its own embeddings, the plugin creates a dedicated table for storing them:<\/p>\n<p><code>{prefix}tnxtpp_post_embeddings<\/code><\/p>\n<p>The table contains one row per indexed post.<\/p>\n<p>Each row stores the embedding vector in the <b>embedding<\/b> field, the post type in the <b>post_type<\/b> field, and metadata about the provider, model, and runtime configuration in the <b>embedding_info<\/b> field.<\/p>\n<p>The storage impact mainly depends on the embedding dimension and grows linearly with the number of indexed posts.<\/p>\n<p>As a general reference, small or medium models (384\u20131024 dimensions) typically require about 5 KB to 20 KB per post, while larger models (2560\u20134096 dimensions) may require about 30 KB to 70 KB or more per post.<\/p>\n<p>In most installations, this remains manageable. However, high-dimension models can significantly increase the total database size on sites with a large content library.<\/p>\n<p>When embeddings from TIP Related Posts Pro or Internal Linking of Related Contents Pro are used as an external source, TIP Next Post Pro reads those embeddings directly and does not need to duplicate them in its own embeddings table.<\/p>\n<h3>Costs<\/h3>\n<p>Generating embeddings using OpenAI APIs has a very low cost.<\/p>\n<p>For an article of approximately 1,000 words, the cost is typically a fraction of a cent, making this solution suitable even for large-scale content archives.<\/p>\n<p>In a real-world test using the <strong>text-embedding-3-large<\/strong> model, generating embeddings for 63 articles of approximately 1,500 words each cost about <strong>$0.03<\/strong> in total.<\/p>\n<p>This means that the average cost per article was negligible, confirming that embedding-based post navigation can scale efficiently across websites with extensive editorial archives.<\/p>\n<p>Costs are based on token usage and may vary depending on the selected model, article length, and current API pricing.<\/p>\n<p>If TIP Next Post Pro uses compatible embeddings that have already been generated by another supported ThemeinProgress plugin, no additional embedding generation is required by TIP Next Post Pro.<\/p>\n<h3>Advanced users<\/h3>\n<p>More experienced users can choose to use a local model via Ollama.<\/p>\n<p>You will need to install one of the models compatible with embeddings; you can consult the <a href=\"https:\/\/ollama.com\/search?c=embedding\" target=\"_blank\">full list<\/a> on the official Ollama website.<\/p>\n<p>This solution also requires that the service be accessible via API, which involves additional network and security configuration.<\/p>\n<p>In most cases, however, using OpenAI APIs remains the simplest and most immediate option, as well as sufficiently affordable for most scenarios.<\/p>\n<p>To make the local model accessible from your site, you can choose one of the following solutions.<\/p>\n<h4>Connect the local model to your site using Cloudflare Zero Trust<\/h4>\n<p>You can use <strong>Cloudflare Zero Trust<\/strong> to expose your local service through a secure and stable tunnel.<\/p>\n<p>This solution requires:<\/p>\n<ol>\n<li>an active Cloudflare account<\/li>\n<li>a domain configured on Cloudflare<\/li>\n<li>installation and configuration of Cloudflare Tunnel (cloudflared) on your local machine<\/li>\n<\/ol>\n<p>Unlike other solutions, it allows you to use a custom domain and a stable endpoint over time, without requiring manual updates.<\/p>\n<p>For full setup instructions, you can follow the <a href=\"https:\/\/developers.cloudflare.com\/tunnel\/setup\/\" target=\"_blank\">official Cloudflare guide<\/a>.<\/p>\n<p>This is an advanced setup, recommended for users familiar with networking and command-line configuration.<\/p>\n<h4>Connect the local model to your site using Ngrok<\/h4>\n<p>If you want to use a local model but do not have experience exposing services over the network, you can use ngrok, a tool that temporarily exposes a local service through a public URL.<\/p>\n<p>In the free version of ngrok, the public URL changes each time the tunnel is restarted, so you will need to update the endpoint in the plugin settings for future use.<\/p>\n<p>You can install ngrok by following the <a href=\"https:\/\/ngrok.com\/download\" target=\"_blank\">official documentation<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Important: This feature is not included with the Personal plan Note: Some screenshots may show a different plugin name, but the interface and settings are also valid for TIP Next Post Pro How does it work? This option, available only for WordPress posts, uses embeddings to analyze your site content and automatically select the most&hellip; <a class=\"more-link\" href=\"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/documentation-pro-version\/how-to-configure-and-use-the-ai-engine\/\">Continue reading <span class=\"screen-reader-text\">How to configure and use the AI Engine<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":9591,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-9807","page","type-page","status-publish","hentry","entry"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-json\/wp\/v2\/pages\/9807","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-json\/wp\/v2\/comments?post=9807"}],"version-history":[{"count":23,"href":"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-json\/wp\/v2\/pages\/9807\/revisions"}],"predecessor-version":[{"id":10054,"href":"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-json\/wp\/v2\/pages\/9807\/revisions\/10054"}],"up":[{"embeddable":true,"href":"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-json\/wp\/v2\/pages\/9591"}],"wp:attachment":[{"href":"https:\/\/demo.themeinprogress.eu\/tip-next-post-pro\/wp-json\/wp\/v2\/media?parent=9807"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}