Skip to content

Embeddings

Embeddings help compare the meaning of texts. They are optional: without them, the plugin uses keyword search.

The reply model and embedding model are independent. You can use Grok for replies and OpenAI for embeddings, or Anthropic for replies and Mistral for embeddings.

Embedding model in the plugin Required key
text-embedding-3-small OpenAI
text-embedding-3-large OpenAI
text-embedding-ada-002 OpenAI; an older model retained in the menu
mistral-embed Mistral

To enable embeddings:

  1. Open API → Semantic Embeddings and enable the option.
  2. Select the embedding model.
  3. Make sure a key for the matching provider is available. Use the dedicated embedding key field if the chatbot has no suitable provider key.
  4. Save and run Re-index All Sources in the Knowledge Base.

The plugin looks for a key in the server constant, the chatbot’s credentials for that provider, the dedicated embedding field, and finally the provider’s global Botshido options. A generic chatbot key is reused only if it belongs to the selected embedding provider.

If no key is available, the API and Knowledge Base tabs display a warning identifying OpenAI or Mistral. The checkbox may remain enabled, but the chatbot uses keyword search and the embedding generation job cannot complete. The warning disappears after a key is saved: this confirms that credentials are present, not that they are valid or have available credit.

If an embedding request fails during retrieval, the chatbot falls back to keyword search. Indexing and embedding-based retrieval may incur additional charges. When changing models, reindex the sources of each affected chatbot because the model setting is shared.