> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aipower.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Knowledge Base

> Add and manage source data for AI Puffer retrieval.

## Overview

Knowledge Base stores the content AI Puffer can search before it generates an answer or a piece of content.

Use it for support answers, product details, documentation, policies, posts, pages, WooCommerce products, uploaded documents, and other source text you want AI Puffer to use as context.

<Columns cols={2}>
  <Card title="Providers" icon="database" href="#providers" horizontal>
    Use OpenAI Vector Stores, Pinecone, Qdrant, or Chroma.
  </Card>

  <Card title="Manage Vector Stores" icon="box" href="#manage-vector-stores" horizontal>
    Create, select, or delete vector targets.
  </Card>

  <Card title="Add Data" icon="file-plus" href="#add-data" horizontal>
    Add data and manage source records.
  </Card>

  <Card title="Settings" icon="gear" href="#settings" horizontal>
    Configure visibility, chunking, embedding batches, content rules, and search.
  </Card>

  <Card title="Semantic Search" icon="search" href="#semantic-search" horizontal>
    Publish a frontend vector search form.
  </Card>

  <Card title="Troubleshooting" icon="wrench" href="#troubleshooting" horizontal>
    Fix missing targets, dimension errors, and empty results.
  </Card>
</Columns>

## Providers

| Provider     | Target name  | How it works                                                                                                                   |
| ------------ | ------------ | ------------------------------------------------------------------------------------------------------------------------------ |
| **OpenAI**   | Vector store | AI Puffer sends the source data to OpenAI Vector Stores. No separate embedding model is selected in AI Puffer for this target. |
| **Pinecone** | Index        | AI Puffer creates embeddings with the model you choose, then stores the vectors in a Pinecone index.                           |
| **Qdrant**   | Collection   | AI Puffer creates embeddings with the model you choose, then stores the vectors in a Qdrant collection.                        |
| **Chroma**   | Collection   | AI Puffer creates embeddings with the model you choose, then stores the vectors in a Chroma collection.                        |

For Pinecone, Qdrant, and Chroma, the index or collection dimension must match the embedding model.

For example, if your Pinecone index, Qdrant collection, or Chroma collection is **3072 dimensions**, use a **3072-dimension** embedding model when adding data and when searching that data later.

<Warning>
  If the dimension does not match, the vector provider can reject the data or return unusable search results.
</Warning>

### OpenAI

OpenAI Vector Stores use your OpenAI account directly.

1. Go to **AI Puffer > Settings > AI**.
2. Select **OpenAI** as the AI provider.
3. Enter your OpenAI API key.
4. Sync models if needed.
5. Go to **AI Puffer > Knowledge Base > Stores** to create or refresh OpenAI vector stores.

OpenAI Vector Stores do not require a separate embedding model selection in Knowledge Base. OpenAI handles file storage, chunking, embedding, and vector search on its side.

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/ItRQV5nJxQuQNGvH/images/screenshots/ai-providers/openai-api-key-settings.png?fit=max&auto=format&n=ItRQV5nJxQuQNGvH&q=85&s=82c7fa6dc237419a1f787ae251f2ac12" alt="OpenAI API key settings" width="2130" height="1198" data-path="images/screenshots/ai-providers/openai-api-key-settings.png" />
</Frame>

### Pinecone

Pinecone is configured from the Integrations settings.

1. Go to **AI Puffer > Settings > Integrations**.
2. Select **Pinecone**.
3. Enter your **Pinecone API Key**.
4. Click **Sync Indexes** to load indexes from Pinecone.
5. Go to **AI Puffer > Knowledge Base > Stores** to create, refresh, or delete indexes.

When you create a Pinecone index in AI Puffer, enter the dimension that matches the embedding model you plan to use.

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/U5wzdcUWDOHzHsVM/images/screenshots/knowledgebase/pinecone-api-key.png?fit=max&auto=format&n=U5wzdcUWDOHzHsVM&q=85&s=34921feed947f56df2006b695b3cbd80" alt="Pinecone API key" width="2108" height="902" data-path="images/screenshots/knowledgebase/pinecone-api-key.png" />
</Frame>

### Qdrant

Qdrant requires both an endpoint URL and an API key.

1. Go to **AI Puffer > Settings > Integrations**.
2. Select **Qdrant**.
3. Enter your **Qdrant URL**.
4. Enter your **Qdrant API Key**.
5. Click **Sync Collections** to load collections from Qdrant.
6. Go to **AI Puffer > Knowledge Base > Stores** to create, refresh, or delete collections.

When you create a Qdrant collection in AI Puffer, enter the dimension that matches the embedding model you plan to use.

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/U5wzdcUWDOHzHsVM/images/screenshots/knowledgebase/qdrant-api-key.png?fit=max&auto=format&n=U5wzdcUWDOHzHsVM&q=85&s=533ff35b1758a7b73cb726423179e1b4" alt="Qdrant API key" width="2082" height="1022" data-path="images/screenshots/knowledgebase/qdrant-api-key.png" />
</Frame>

### Chroma

Chroma uses endpoint, tenant, and database settings.

1. Go to **AI Puffer > Settings > Integrations**.
2. Select **Chroma**.
3. Enter your **Chroma URL**. For Cloud, you can use [https://api.trychroma.com](https://api.trychroma.com)
4. Enter your **Chroma API Key** if you use Chroma Cloud or an authenticated server.
5. Enter the **Tenant**.
6. Enter the **Database**.
7. Click **Sync Collections** to load collections from Chroma.
8. Go to **AI Puffer > Knowledge Base > Stores** to create, refresh, or delete collections.

For local Chroma, the default tenant is `default_tenant` and the default database is `default_database`.

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/suUEnTBeR7lWAmix/images/screenshots/knowledgebase/chroma-api-key.png?fit=max&auto=format&n=suUEnTBeR7lWAmix&q=85&s=a5c3beeeeb3ae21a84bcce951a93fefc" alt="Chroma API key" width="2600" height="1338" data-path="images/screenshots/knowledgebase/chroma-api-key.png" />
</Frame>

### Embedding Providers

Pinecone, Qdrant, and Chroma store vectors that AI Puffer creates with a selected embedding model. Before adding data to these providers, configure the embedding provider you want to use in **AI Puffer > Settings > AI**.

Supported embedding providers include OpenAI, Google, Azure, and OpenRouter. The selected embedding model must match the dimension of the Pinecone index, Qdrant collection, or Chroma collection.

xAI is not an embedding provider or vector store provider in the current integration. xAI chatbots, forms, and text workflows can still use retrieved Knowledge Base context from OpenAI, Pinecone, Qdrant, or Chroma because AI Puffer sends that context as text.

## Manage Vector Stores

Use **AI Puffer > Knowledge Base > Stores** to create, refresh, inspect, or delete vector targets.

The Stores tab is where you manage OpenAI vector stores, Pinecone indexes, Qdrant collections, and Chroma collections. The Data tab uses these targets when you add content.

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/suUEnTBeR7lWAmix/images/screenshots/knowledgebase/knowledge-base-provider-selector.png?fit=max&auto=format&n=suUEnTBeR7lWAmix&q=85&s=040c178c47f5561f9e2c0d368733035f" alt="Knowledge Base provider selector" width="2600" height="1542" data-path="images/screenshots/knowledgebase/knowledge-base-provider-selector.png" />
</Frame>

### OpenAI Vector Stores

1. Add your OpenAI API key in **AI Puffer > Settings > AI**.
2. Go to **AI Puffer > Knowledge Base > Stores**.
3. Select **OpenAI** as the provider.
4. Click **Create Store**.
5. Enter a store name.
6. Click **Create**.

OpenAI handles the vector store search on its side. AI Puffer stores a local source record so you can see what was added.

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/hQhF19jEjVFtgLy6/images/screenshots/knowledgebase/openai-create-new-vector.png?fit=max&auto=format&n=hQhF19jEjVFtgLy6&q=85&s=aeaf5d391b1b6020019614de698f2a7f" alt="OpenAI Create Vector" width="2600" height="1542" data-path="images/screenshots/knowledgebase/openai-create-new-vector.png" />
</Frame>

### Pinecone Indexes

1. Add your Pinecone API key in **AI Puffer > Settings > Integrations**.
2. Go to **AI Puffer > Knowledge Base > Stores**.
3. Select **Pinecone** as the provider.
4. Select the embedding model you plan to use.
5. Click **Create Store**.
6. Enter an index name.
7. Enter the dimension for the selected embedding model.
8. Click **Create**.

Use the same embedding model when you add data to the index and when a module searches that index.

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/hQhF19jEjVFtgLy6/images/screenshots/knowledgebase/pinecone-create-index1.png?fit=max&auto=format&n=hQhF19jEjVFtgLy6&q=85&s=3bed23035aaaf0d4b7b207a0b0f89e9d" alt="Pinecone Create Index" width="2600" height="1394" data-path="images/screenshots/knowledgebase/pinecone-create-index1.png" />
</Frame>

### Qdrant Collections

1. Add your Qdrant URL and API key in **AI Puffer > Settings > Integrations**.
2. Go to **AI Puffer > Knowledge Base > Stores**.
3. Select **Qdrant** as the provider.
4. Select the embedding model you plan to use.
5. Click **Create Store**.
6. Enter a collection name.
7. Enter the dimension for the selected embedding model.
8. Click **Create**.

Use the same embedding model when you add data to the collection and when a module searches that collection.

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/hQhF19jEjVFtgLy6/images/screenshots/knowledgebase/qdrant-create-collection1.png?fit=max&auto=format&n=hQhF19jEjVFtgLy6&q=85&s=f79bd7b6e07614d893810dec8fa2ac4a" alt="Qdrant Create collection" width="2600" height="1394" data-path="images/screenshots/knowledgebase/qdrant-create-collection1.png" />
</Frame>

### Chroma Collections

1. Add your Chroma endpoint, tenant, database, and API key in **AI Puffer > Settings > Integrations**.
2. Go to **AI Puffer > Knowledge Base > Stores**.
3. Select **Chroma** as the provider.
4. Click **Create Store**.
5. Enter a collection name.
6. Click **Create**.

Chroma collections do not require a dimension when they are created in AI Puffer. Use the same embedding model when you add data to the collection and when a module searches that collection.

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/suUEnTBeR7lWAmix/images/screenshots/knowledgebase/chroma-create-collection1.png?fit=max&auto=format&n=suUEnTBeR7lWAmix&q=85&s=cb08b0bf72af8e1d9295e237f591bd0a" alt="Chroma Create collection" width="2600" height="1394" data-path="images/screenshots/knowledgebase/chroma-create-collection1.png" />
</Frame>

Use **Refresh** when you need AI Puffer to fetch the latest stores, indexes, or collections from the selected provider.

To delete a target, use the available action in the Stores table.

## Add Data

Use **AI Puffer > Knowledge Base > Data** to add new source data and manage existing source records.

Before adding data:

1. Go to **AI Puffer > Knowledge Base > Data**.
2. Select a provider.
3. Select the target vector store, index, or collection.
4. For Pinecone, Qdrant, or Chroma, select the embedding model.
5. Click **+ Add Data**.

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/suUEnTBeR7lWAmix/images/screenshots/knowledgebase/knowledge-base-add-data.png?fit=max&auto=format&n=suUEnTBeR7lWAmix&q=85&s=db39645059979b1ff715da80e63e86b8" alt="Knowledge Base Add data panel" width="2600" height="1180" data-path="images/screenshots/knowledgebase/knowledge-base-add-data.png" />
</Frame>

### Q\&A

Use Q\&A for short answers that should be easy to retrieve later.

1. Select **Q\&A**.
2. Enter the question.
3. Enter the answer.
4. Click **Add Q\&A**.

AI Puffer stores the pair as text:

```text theme={null}
Q: question text
A: answer text
```

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/suUEnTBeR7lWAmix/images/screenshots/knowledgebase/knowledge-base-qa.png?fit=max&auto=format&n=suUEnTBeR7lWAmix&q=85&s=e97f227c86fb2aec10ca436affa4cc17" alt="Knowledge Base Q&A tab" width="2600" height="1180" data-path="images/screenshots/knowledgebase/knowledge-base-qa.png" />
</Frame>

### Text

Use Text for policies, instructions, product notes, support snippets, or any source text that does not already exist as WordPress content.

1. Select **Text**.
2. Paste the source text.
3. Click **Add Text**.

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/hQhF19jEjVFtgLy6/images/screenshots/knowledgebase/knowledge-base-text.png?fit=max&auto=format&n=hQhF19jEjVFtgLy6&q=85&s=05c6f2debb74876c3696ceaf12b3ce5b" alt="Knowledge Base Text tab" width="2600" height="1236" data-path="images/screenshots/knowledgebase/knowledge-base-text.png" />
</Frame>

### Files

Use Files when the source is already in a document.

1. Select **Files**.
2. Click **Choose files**.
3. Select one or more files.

Files start uploading and training after selection.

Supported file extensions:

```text theme={null}
.pdf, .docx, .txt, .md, .csv, .json
```

For Pinecone, Qdrant, and Chroma, AI Puffer extracts text, splits large files into chunks, creates embeddings, and stores each chunk in the selected index or collection. File chunks can be embedded in batches to reduce the number of embedding API requests.

File size is limited by your WordPress/PHP upload settings. OpenAI Vector Store uploads also use OpenAI's file limits.

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/suUEnTBeR7lWAmix/images/screenshots/knowledgebase/knowledge-base-files.png?fit=max&auto=format&n=suUEnTBeR7lWAmix&q=85&s=62da25de98c2755c743de73548f7793c" alt="Knowledge Base Files tab" width="2600" height="1182" data-path="images/screenshots/knowledgebase/knowledge-base-files.png" />
</Frame>

### Website

Use Website when the source is WordPress content.

1. Select **Website**.
2. Choose **All** or **Choose items**.
3. Select the content types.
4. If using **Choose items**, select the individual published items.
5. Click **Add Items**.

Website training uses published content. Posts and pages are selected by default. WooCommerce products appear when WooCommerce is active. Public custom post types can also appear.

When WordPress content is indexed, AI Puffer builds the source text from the URL, title, excerpt, content, public custom fields, public taxonomies, and available WooCommerce product data.

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/hQhF19jEjVFtgLy6/images/screenshots/knowledgebase/knowledge-base-website-all.png?fit=max&auto=format&n=hQhF19jEjVFtgLy6&q=85&s=86b7961208b91ae139a818ab7e05b3cc" alt="Knowledge Base Website all mode" width="2600" height="1028" data-path="images/screenshots/knowledgebase/knowledge-base-website-all.png" />
</Frame>

### Manage Data

The source table in the Data tab shows the local records created while adding data.

| Column      | What it shows                                                                                                                  |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------ |
| **Status**  | Trained, Processing, Failed, or another provider status.                                                                       |
| **Item**    | Post title, text preview, file name, or source identifier. Provider, target, and embedding details appear below the item name. |
| **Type**    | Site Content, Text, Q\&A, File Upload, or User Upload.                                                                         |
| **Updated** | Last update time and relative age.                                                                                             |
| **Actions** | Available actions for the source.                                                                                              |

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/hQhF19jEjVFtgLy6/images/screenshots/knowledgebase/knowledge-base-source-table.png?fit=max&auto=format&n=hQhF19jEjVFtgLy6&q=85&s=adb999af9d1c9252d3b9870434e223d4" alt="Knowledge Base source table" width="2600" height="1494" data-path="images/screenshots/knowledgebase/knowledge-base-source-table.png" />
</Frame>

Available actions:

| Action      | Use it for                                                                    |
| ----------- | ----------------------------------------------------------------------------- |
| **View**    | Review the stored source preview.                                             |
| **Edit**    | Edit a text source and save it again.                                         |
| **Retrain** | Re-index a WordPress content source after the content changes.                |
| **Delete**  | Remove the source from the external provider and from the local source table. |

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/suUEnTBeR7lWAmix/images/screenshots/knowledgebase/knowledge-base-source-actions.png?fit=max&auto=format&n=suUEnTBeR7lWAmix&q=85&s=dde42832bea43893af15ef931c0fe62c" alt="Knowledge Base source table" width="2600" height="1494" data-path="images/screenshots/knowledgebase/knowledge-base-source-actions.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/suUEnTBeR7lWAmix/images/screenshots/knowledgebase/knowledge-base-source-preview.png?fit=max&auto=format&n=suUEnTBeR7lWAmix&q=85&s=83440af634228848a3d4e6beafb86317" alt="Knowledge Base source preview" width="2600" height="1494" data-path="images/screenshots/knowledgebase/knowledge-base-source-preview.png" />
</Frame>

## Settings

Open **AI Puffer > Knowledge Base > Settings** to configure Knowledge Base behavior.

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/suUEnTBeR7lWAmix/images/screenshots/knowledgebase/knowledge-base-settings.png?fit=max&auto=format&n=suUEnTBeR7lWAmix&q=85&s=1b5e470f42817bf5b9062656f6cf8e32" alt="Knowledge Base settings" width="2552" height="1494" data-path="images/screenshots/knowledgebase/knowledge-base-settings.png" />
</Frame>

### General

General controls how Knowledge Base records and indexing buttons appear in the admin.

| Setting               | What it does                                                            |
| --------------------- | ----------------------------------------------------------------------- |
| **Hide user uploads** | Hides chatbot upload records from the main Knowledge Base source table. |
| **Show index button** | Shows vector indexing controls on supported WordPress list screens.     |

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/suUEnTBeR7lWAmix/images/screenshots/knowledgebase/knowledge-base-settings-general.png?fit=max&auto=format&n=suUEnTBeR7lWAmix&q=85&s=cfd27008cc76eacb7a353cd98572140f" alt="Knowledge Base general settings" width="2552" height="1494" data-path="images/screenshots/knowledgebase/knowledge-base-settings-general.png" />
</Frame>

### Chunking

Document chunking controls how AI Puffer splits large uploaded files before embedding them for Pinecone, Qdrant, or Chroma.

| Setting                  | Default | Range           | Use it for                                                                    |
| ------------------------ | ------- | --------------- | ----------------------------------------------------------------------------- |
| **Avg chars per token**  | `4`     | `2` to `4`      | Estimates how many characters equal one token.                                |
| **Max tokens per chunk** | `3000`  | `256` to `6000` | Sets the maximum chunk size before embedding.                                 |
| **Overlap tokens**       | `150`   | `0` to `1000`   | Repeats a small part of the previous chunk so context does not break sharply. |

Use smaller chunks when an embedding provider rejects long input. Keep some overlap for long documents where meaning continues across sections.

OpenAI Vector Store file uploads use OpenAI File Search chunking instead of the Pinecone, Qdrant, and Chroma chunking settings above.

| OpenAI File Search setting | Default | Range                         | Use it for                                                                                |
| -------------------------- | ------- | ----------------------------- | ----------------------------------------------------------------------------------------- |
| **Indexing strategy**      | `Auto`  | `Auto` or `Custom`            | Lets OpenAI choose chunking automatically, or lets AI Puffer send custom chunking values. |
| **Max chunk size tokens**  | `800`   | `100` to `4096`               | Sets the maximum OpenAI File Search chunk size when **Custom** is selected.               |
| **Chunk overlap tokens**   | `400`   | `0` to half of max chunk size | Repeats part of the previous OpenAI File Search chunk when **Custom** is selected.        |

### Embedding Batches

Embedding Batches controls how many file chunks AI Puffer sends to the embedding provider in one request.

1. Go to **AI Puffer > Knowledge Base > Settings**.
2. Open **Chunking & Batches**.
3. Click **Embedding Batches** to reveal the provider batch settings.
4. Adjust the batch size for the embedding provider you use.
5. Wait for the settings autosave to finish.

| Provider       | Default | Maximum |
| -------------- | ------- | ------- |
| **Google**     | `100`   | `100`   |
| **OpenAI**     | `50`    | `100`   |
| **OpenRouter** | `50`    | `100`   |
| **Azure**      | `50`    | `100`   |
| **Ollama**     | `10`    | `100`   |

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/9q5MEwmEeRO3NlB9/images/screenshots/knowledgebase/knowledge-base-batch-embeddings.png?fit=max&auto=format&n=9q5MEwmEeRO3NlB9&q=85&s=4cd114ff22060fa645fc6c9ecf3f30e4" alt="Knowledge Base Batch settings" width="1260" height="1330" data-path="images/screenshots/knowledgebase/knowledge-base-batch-embeddings.png" />
</Frame>

For example, a batch size of `50` means AI Puffer sends up to 50 prepared file chunks to the embedding API at once. Larger batches can make file upload training much faster because they reduce repeated API calls.

<Info>
  Embedding batch settings apply only to chunked file uploads for Pinecone, Qdrant, and Chroma. They do not change Q\&A, Text, Website training, semantic search queries, or OpenAI Vector Store file uploads.
</Info>

If a provider returns rate limit errors such as HTTP `429`, lower that provider's batch size and try again. AI Puffer can pause and retry file upload processing when the provider sends a retry delay, but lowering the batch size is usually better for accounts with stricter quotas.

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/suUEnTBeR7lWAmix/images/screenshots/knowledgebase/knowledge-base-document-chunking.png?fit=max&auto=format&n=suUEnTBeR7lWAmix&q=85&s=af8000052ded58bb3c80ee185f45a401" alt="Knowledge Base chunking and batches settings" width="1324" height="1002" data-path="images/screenshots/knowledgebase/knowledge-base-document-chunking.png" />
</Frame>

### Indexing Controls

Indexing controls define which WordPress fields are included when Website training or list-screen indexing sends WordPress content to a vector target.

1. Go to **AI Puffer > Knowledge Base > Settings**.
2. In **Indexing Controls**, click **Configure**.
3. Select a post type.
4. Adjust **Basic Labels** if you want different labels for source URL, title, excerpt, or content.
5. Enable or disable custom fields.
6. Enable or disable taxonomies.
7. For WooCommerce products, enable or disable product data such as SKU, price, stock, dimensions, and attributes.
8. Save.

If the Save button shows **Upgrade**, activate Pro before saving indexing rules.

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/suUEnTBeR7lWAmix/images/screenshots/knowledgebase/knowledge-base-indexing-controls.png?fit=max&auto=format&n=suUEnTBeR7lWAmix&q=85&s=34b7b4340f05a6ca1d5ec632c962a2db" alt="Knowledge Base indexing controls" width="1324" height="568" data-path="images/screenshots/knowledgebase/knowledge-base-indexing-controls.png" />
</Frame>

When **Show index button** is enabled, supported WordPress list screens can show vector indexing controls.

| Control                        | What it does                                   |
| ------------------------------ | ---------------------------------------------- |
| **Index Status** column        | Shows whether a post has already been indexed. |
| **Index Status** filter        | Filters content by indexed or not indexed.     |
| **Add to Vector Store** action | Sends selected posts to a vector target.       |

## Semantic Search

Semantic Search publishes a search form that queries a Pinecone index, Qdrant collection, or Chroma collection from the frontend.

Open **AI Puffer > Knowledge Base > Settings**. In **Semantic Search**, click **Configure**.

1. Select **Vector DB**: Pinecone, Qdrant, or Chroma.
2. Select the index or collection.
3. Select the embedding model.
4. Set **Number of Results**.
5. Set **No Results Text**.
6. Test a query in **Try semantic search**.
7. Copy the shortcode.

```text theme={null}
[aipkit_semantic_search]
```

Semantic Search uses the global settings from this panel. It does not use OpenAI Vector Stores in the current UI.

Use the same embedding model that was used when the Pinecone, Qdrant, or Chroma data was added.

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/suUEnTBeR7lWAmix/images/screenshots/knowledgebase/knowledge-base-semantic-search.png?fit=max&auto=format&n=suUEnTBeR7lWAmix&q=85&s=a167e51b7deeebd66e173da0520e7414" alt="Knowledge Base Semantic Search settings" width="1324" height="568" data-path="images/screenshots/knowledgebase/knowledge-base-semantic-search.png" />
</Frame>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Provider target is missing">
    Configure the provider credentials, then sync or create the vector target again.
  </Accordion>

  <Accordion title="Pinecone, Qdrant, or Chroma training fails">
    Confirm the embedding model dimension matches the index or collection dimension.
  </Accordion>

  <Accordion title="Website content is missing fields">
    Check **Knowledge Base > Settings > Content Rules** for that post type.
  </Accordion>

  <Accordion title="WordPress list indexing controls are missing">
    Enable **Knowledge Base > Settings > Basics > Show index button** and confirm the user role can access the vector content indexer module.
  </Accordion>

  <Accordion title="Semantic Search returns no results">
    Confirm the selected target contains trained data and the same embedding model is selected.
  </Accordion>
</AccordionGroup>
